Unity怎么实现植物识别

Unity怎么实现植物识别

本篇内容介绍了“Unity怎么实现植物识别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

接口介绍:

可识别超过2万种常见植物和近8千种花卉,接口返回植物的名称,并支持获取识别结果对应的百科信息;还可使用EasyDL定制训练平台,定制识别植物种类。适用于拍照识图、幼教科普、图像内容分析等场景。

创建应用:

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

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

定义数据结构:

usingSystem;///

///植物识别///[Serializable]publicclassPlantRecognition{//////唯一的logid,用于问题定位///publicfloatlog_id;//////识别结果数组///publicPlantRecognition[]result;}[Serializable]publicclassPlantRecognitionResult{//////植物名称///publicstringname;//////置信度///publicfloatscore;//////百科词条///publicBaikeInfobaike_info;}[Serializable]publicclassBaikeInfo{//////对应识别结果百度百科页面链接///publicstringbaike_url;//////对应识别结果百科图片链接///publicstringimage_url;//////对应识别结果百科内容描述///publicstringdescription;}

下载C# SDK:

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

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

封装调用函数:

usingSystem;usingSystem.Collections.Generic;usingUnityEngine;///

///图像识别///publicclassImageRecognition{//以下信息于百度开发者中心控制台创建应用获取privateconststringappID="";privateconststringapiKey="";privateconststringsecretKey="";//////植物识别//////图片字节数据///返回百科信息的结果数,默认不返回///publicstaticPlantRecognitionPlant(byte[]bytes,intbaikeNum=0){varclient=newBaidu.Aip.ImageClassify.ImageClassify(apiKey,secretKey);try{varoptions=newDictionary{{"baike_num",baikeNum}};varresponse=client.PlantDetect(bytes,options);Debug.Log(response);PlantRecognitionplantRecognition=JsonConvert.DeserializeObject(response.ToString());returnplantRecognition;}catch(Exceptionerror){Debug.LogError(error);}returnnull;}}

测试图片:

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

“Unity怎么实现植物识别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

发布于 2022-01-05 23:24:50
分享
海报
50
上一篇:Unity渲染管线流程是怎样的 下一篇:JavaScript展开运算符和剩余运算符的区别是什么
目录

    忘记密码?

    图形验证码