这篇文章主要介绍“怎么用Unity代码实现红酒识别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Unity代码实现红酒识别”文章能帮助大家解决问题。

接口介绍:

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

创建应用:

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

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

定义数据结构:

usingSystem;[Serializable]publicclassRedwineRecognition{///<summary>///请求标识码,随机数,唯一///</summary>publicfloatlog_id;///<summary>///识别结果///</summary>publicRedwineRecognitionResultresult;}///<summary>///识别结果///</summary>[Serializable]publicclassRedwineRecognitionResult{///<summary>///判断是否返回详细信息(除红酒中文名之外的其他字段),含有返回1,不含有返回0///</summary>publicinthasdetail;///<summary>///红酒中文名,无法识别返回空///</summary>publicstringwineNameCn;///<summary>///红酒英文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringwineNameEn;///<summary>///国家中文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringcountryCn;///<summary>///国家英文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringcountryEn;///<summary>///产区中文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringregionCn;///<summary>///产区英文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringregionEn;///<summary>///子产区中文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringsubRegionCn;///<summary>///子产区英文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringsubRegionEn;///<summary>///酒庄中文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringwineryCn;///<summary>///酒庄英文名,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringwineryEn;///<summary>///酒类型,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringclassifyByColor;///<summary>///糖分类型,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringclassifyBySugar;///<summary>///色泽,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringcolor;///<summary>///葡萄品种,可能有多种葡萄,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringgrapeCn;///<summary>///葡萄品种英文名,可能有多种葡萄,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringgrapeEn;///<summary>///品尝温度,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringtasteTemperature;///<summary>///酒品描述,hasdetail=0时,表示无法识别,该字段不返回///</summary>publicstringdescription;}

下载C# SDK:

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

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

封装调用函数:

usingSystem;usingSystem.Collections.Generic;usingUnityEngine;///<summary>///图像识别///</summary>publicclassImageRecognition{//以下信息于百度开发者中心控制台创建应用获取privateconststringappID="";privateconststringapiKey="";privateconststringsecretKey="";///<summary>///红酒识别///</summary>///<paramname="bytes">图片字节数据</param>///<returns></returns>publicstaticRedwineRecognitionRedwine(byte[]bytes){varclient=newBaidu.Aip.ImageClassify.ImageClassify(apiKey,secretKey);try{varresponse=client.Redwine(bytes);RedwineRecognitionredwineRecognition=JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());returnredwineRecognition;}catch(Exceptionerror){Debug.LogError(error);}returnnull;}///<summary>///红酒识别///</summary>///<paramname="url">图片url地址</param>///<returns></returns>publicstaticRedwineRecognitionRedwine(stringurl){varclient=newBaidu.Aip.ImageClassify.ImageClassify(apiKey,secretKey);try{varresponse=client.RedwineUrl(url);RedwineRecognitionredwineRecognition=JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());returnredwineRecognition;}catch(Exceptionerror){Debug.LogError(error);}returnnull;}}

测试图片:

usingSystem.IO;usingUnityEngine;publicclassExample:MonoBehaviour{privatevoidStart(){ImageRecognition.Redwine(File.ReadAllBytes(Application.dataPath+"/Picture.jpg"));}}

关于“怎么用Unity代码实现红酒识别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。