当前位置:   article > 正文

Unity 接入百度AI - 红酒识别_红酒识别ai

红酒识别ai

接口介绍:

识别图像中的红酒标签,返回红酒名称、国家、产区、酒庄、类型、糖分、葡萄品种、酒品描述等信息,可识别数十万中外红酒;支持自定义红酒图库,在自建库中搜索特定红酒信息。

创建应用:     

在产品服务中搜索图像识别,创建应用,获取AppID、APIKey、SecretKey信息:

查阅官方文档,以下是红酒识别接口返回数据参数详情:

定义数据结构:

  1. using System;
  2. [Serializable]
  3. public class RedwineRecognition
  4. {
  5. /// <summary>
  6. /// 请求标识码,随机数,唯一
  7. /// </summary>
  8. public float log_id;
  9. /// <summary>
  10. /// 识别结果
  11. /// </summary>
  12. public RedwineRecognitionResult result;
  13. }
  14. /// <summary>
  15. /// 识别结果
  16. /// </summary>
  17. [Serializable]
  18. public class RedwineRecognitionResult
  19. {
  20. /// <summary>
  21. /// 判断是否返回详细信息(除红酒中文名之外的其他字段),含有返回1,不含有返回0
  22. /// </summary>
  23. public int hasdetail;
  24. /// <summary>
  25. /// 红酒中文名,无法识别返回空
  26. /// </summary>
  27. public string wineNameCn;
  28. /// <summary>
  29. /// 红酒英文名,hasdetail = 0时,表示无法识别,该字段不返回
  30. /// </summary>
  31. public string wineNameEn;
  32. /// <summary>
  33. /// 国家中文名,hasdetail = 0时,表示无法识别,该字段不返回
  34. /// </summary>
  35. public string countryCn;
  36. /// <summary>
  37. /// 国家英文名,hasdetail = 0时,表示无法识别,该字段不返回
  38. /// </summary>
  39. public string countryEn;
  40. /// <summary>
  41. /// 产区中文名,hasdetail = 0时,表示无法识别,该字段不返回
  42. /// </summary>
  43. public string regionCn;
  44. /// <summary>
  45. /// 产区英文名,hasdetail = 0时,表示无法识别,该字段不返回
  46. /// </summary>
  47. public string regionEn;
  48. /// <summary>
  49. /// 子产区中文名,hasdetail = 0时,表示无法识别,该字段不返回
  50. /// </summary>
  51. public string subRegionCn;
  52. /// <summary>
  53. /// 子产区英文名,hasdetail = 0时,表示无法识别,该字段不返回
  54. /// </summary>
  55. public string subRegionEn;
  56. /// <summary>
  57. /// 酒庄中文名,hasdetail = 0时,表示无法识别,该字段不返回
  58. /// </summary>
  59. public string wineryCn;
  60. /// <summary>
  61. /// 酒庄英文名,hasdetail = 0时,表示无法识别,该字段不返回
  62. /// </summary>
  63. public string wineryEn;
  64. /// <summary>
  65. /// 酒类型,hasdetail = 0时,表示无法识别,该字段不返回
  66. /// </summary>
  67. public string classifyByColor;
  68. /// <summary>
  69. /// 糖分类型,hasdetail = 0时,表示无法识别,该字段不返回
  70. /// </summary>
  71. public string classifyBySugar;
  72. /// <summary>
  73. /// 色泽,hasdetail = 0时,表示无法识别,该字段不返回
  74. /// </summary>
  75. public string color;
  76. /// <summary>
  77. /// 葡萄品种,可能有多种葡萄,hasdetail = 0时,表示无法识别,该字段不返回
  78. /// </summary>
  79. public string grapeCn;
  80. /// <summary>
  81. /// 葡萄品种英文名,可能有多种葡萄,hasdetail = 0时,表示无法识别,该字段不返回
  82. /// </summary>
  83. public string grapeEn;
  84. /// <summary>
  85. /// 品尝温度,hasdetail = 0时,表示无法识别,该字段不返回
  86. /// </summary>
  87. public string tasteTemperature;
  88. /// <summary>
  89. /// 酒品描述,hasdetail = 0时,表示无法识别,该字段不返回
  90. /// </summary>
  91. public string description;
  92. }

下载C# SDK:

下载完成后将AipSdk.dll动态库导入到Unity中:

以下是调用接口时传入的参数详情:

封装调用函数: 

  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. /// <summary>
  5. /// 图像识别
  6. /// </summary>
  7. public class ImageRecognition
  8. {
  9. //以下信息于百度开发者中心控制台创建应用获取
  10. private const string appID = "";
  11. private const string apiKey = "";
  12. private const string secretKey = "";
  13. /// <summary>
  14. /// 红酒识别
  15. /// </summary>
  16. /// <param name="bytes">图片字节数据</param>
  17. /// <returns></returns>
  18. public static RedwineRecognition Redwine(byte[] bytes)
  19. {
  20. var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
  21. try
  22. {
  23. var response = client.Redwine(bytes);
  24. RedwineRecognition redwineRecognition = JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());
  25. return redwineRecognition;
  26. }
  27. catch (Exception error)
  28. {
  29. Debug.LogError(error);
  30. }
  31. return null;
  32. }
  33. /// <summary>
  34. /// 红酒识别
  35. /// </summary>
  36. /// <param name="url">图片url地址</param>
  37. /// <returns></returns>
  38. public static RedwineRecognition Redwine(string url)
  39. {
  40. var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
  41. try
  42. {
  43. var response = client.RedwineUrl(url);
  44. RedwineRecognition redwineRecognition = JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());
  45. return redwineRecognition;
  46. }
  47. catch (Exception error)
  48. {
  49. Debug.LogError(error);
  50. }
  51. return null;
  52. }
  53. }

 测试图片:

  1. using System.IO;
  2. using UnityEngine;
  3. public class Example : MonoBehaviour
  4. {
  5. private void Start()
  6. {
  7. ImageRecognition.Redwine(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));
  8. }
  9. }

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号