Unity實(shí)現(xiàn)動(dòng)物識(shí)別的示例代碼
接口介紹:
識(shí)別近八千種動(dòng)物,接口返回動(dòng)物名稱,并可獲取識(shí)別結(jié)果對(duì)應(yīng)的百科信息;還可使用EasyDL定制訓(xùn)練平臺(tái),定制識(shí)別分類標(biāo)簽。適用于拍照識(shí)圖、幼教科普、圖像內(nèi)容分析等場(chǎng)景
創(chuàng)建應(yīng)用:
在產(chǎn)品服務(wù)中搜索圖像識(shí)別,創(chuàng)建應(yīng)用,獲取AppID、APIKey、SecretKey信息:
查閱官方文檔,以下是動(dòng)物識(shí)別接口返回?cái)?shù)據(jù)參數(shù)詳情:
定義數(shù)據(jù)結(jié)構(gòu):
using System; /// <summary> /// 動(dòng)物識(shí)別 /// </summary> [Serializable] public class AnimalRecognition { /// <summary> /// 唯一的log id,用于問題定位 /// </summary> public float log_id; /// <summary> /// 識(shí)別結(jié)果數(shù)組 /// </summary> public AnimalRecognitionResult[] result; } [Serializable] public class AnimalRecognitionResult { /// <summary> /// 動(dòng)物名稱 /// </summary> public string name; /// <summary> /// 置信度 /// </summary> public float score; /// <summary> /// 百科詞條 /// </summary> public BaikeInfo baike_info; } [Serializable] public class BaikeInfo { /// <summary> /// 對(duì)應(yīng)識(shí)別結(jié)果百度百科頁面鏈接 /// </summary> public string baike_url; /// <summary> /// 對(duì)應(yīng)識(shí)別結(jié)果百科圖片鏈接 /// </summary> public string image_url; /// <summary> /// 對(duì)應(yīng)識(shí)別結(jié)果百科內(nèi)容描述 /// </summary> public string description; }
下載C# SDK:
下載完成后將AipSdk.dll動(dòng)態(tài)庫導(dǎo)入到Unity中:
以下是調(diào)用接口時(shí)傳入的參數(shù)詳情:
封裝調(diào)用函數(shù):
using System; using System.Collections.Generic; using UnityEngine; /// <summary> /// 圖像識(shí)別 /// </summary> public class ImageRecognition { //以下信息于百度開發(fā)者中心控制臺(tái)創(chuàng)建應(yīng)用獲取 private const string appID = ""; private const string apiKey = ""; private const string secretKey = ""; /// <summary> /// 動(dòng)物識(shí)別 /// </summary> /// <param name="bytes">圖片字節(jié)數(shù)據(jù)</param> /// <param name="topNum">返回預(yù)測(cè)得分top結(jié)果數(shù),默認(rèn)為6</param> /// <param name="baikeNum">返回百科信息的結(jié)果數(shù),默認(rèn)不返回</param> /// <returns></returns> public static AnimalRecognition Animal(byte[] bytes, int topNum = 6, int baikeNum = 0) { var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey); try { var options = new Dictionary<string, object> { { "top_num", topNum }, { "baike_num", baikeNum } }; var response = client.AnimalDetect(bytes, options); AnimalRecognition animalRecognition = JsonConvert.DeserializeObject<AnimalRecognition>(response.ToString()); return animalRecognition; } catch (Exception error) { Debug.LogError(error); } return null; } }
測(cè)試圖片:
using System.IO; using UnityEngine; public class Example : MonoBehaviour { private void Start() { ImageRecognition.Animal(File.ReadAllBytes(Application.dataPath + "/Picture.jpg")); } }
以上就是Unity實(shí)現(xiàn)動(dòng)物識(shí)別的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Unity動(dòng)物識(shí)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#Url操作類封裝、仿Node.Js中的Url模塊實(shí)例
這篇文章主要介紹了C#Url操作類封裝、仿Node.Js中的Url模塊,實(shí)例分析了C#Url操作類封裝的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-10-10Unity中使用反射機(jī)制調(diào)用函數(shù)
這篇文章主要為大家詳細(xì)介紹了Unity中使用反射機(jī)制調(diào)用函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03C#中的DataSet、string、DataTable、對(duì)象轉(zhuǎn)換成Json的實(shí)現(xiàn)代碼
這篇文章主要介紹了C#中的DataSet、string、DataTable、對(duì)象轉(zhuǎn)換成Json的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-09-09WinForm中comboBox控件數(shù)據(jù)綁定實(shí)現(xiàn)方法
這篇文章主要介紹了WinForm中comboBox控件數(shù)據(jù)綁定實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了WinForm實(shí)現(xiàn)comboBox控件數(shù)據(jù)綁定的常用方法與相關(guān)操作技巧,需要的朋友可以參考下2017-05-05C# 如何獲取出錯(cuò)的錯(cuò)誤所在行數(shù)信息
本文主要介紹 C# 中獲取錯(cuò)誤所在行的方法,在開發(fā)過程中或是用戶在使用過程中,出錯(cuò)的話方便我們快速定位到錯(cuò)誤的位置,以便我們處理。2016-04-04C#給picturebox控件加圖片選中狀態(tài)的2個(gè)方法
C#給picturebox控件加圖片選中狀態(tài)的2個(gè)方法,需要的朋友可以參考一下2013-03-03C#實(shí)現(xiàn)塊狀鏈表的項(xiàng)目實(shí)踐
這篇文章主要介紹了C#實(shí)現(xiàn)塊狀鏈表的項(xiàng)目實(shí)踐,通過定義塊和鏈表類,利用塊內(nèi)元素引用實(shí)現(xiàn)塊與塊之間的鏈接關(guān)系,從而實(shí)現(xiàn)對(duì)塊狀鏈表的遍歷、插入和刪除等操作,感興趣的可以了解一下2023-11-11C#?OpenCV實(shí)現(xiàn)形狀匹配的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#+OpenCV實(shí)現(xiàn)形狀匹配的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09