您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Unity 百度AI如何實現(xiàn)Logo商標(biāo)識別,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
接口介紹:
該請求用于檢測和識別圖片中的品牌LOGO信息。即對于輸入的一張圖片(可正常解碼,且長寬比適宜),輸出圖片中LOGO的名稱、位置和置信度。當(dāng)效果欠佳時,可以建立子庫(在百度開發(fā)者中心控制臺創(chuàng)建應(yīng)用并申請建庫)并通過調(diào)用logo入口接口完成自定義logo入庫,提高識別效果。
創(chuàng)建應(yīng)用:
在產(chǎn)品服務(wù)中搜索圖像識別,創(chuàng)建應(yīng)用,獲取AppID、APIKey、SecretKey信息:
查閱官方文檔,以下是Logo商標(biāo)識別接口返回數(shù)據(jù)參數(shù)詳情:
定義數(shù)據(jù)結(jié)構(gòu):
using System; /// <summary> /// Logo識別響應(yīng)數(shù)據(jù)結(jié)構(gòu) /// </summary> [Serializable] public class LogoRecognition { /// <summary> /// 請求標(biāo)識碼,隨機數(shù),唯一 /// </summary> public float log_id; /// <summary> /// 返回結(jié)果數(shù)目,即:result數(shù)組中元素個數(shù) /// </summary> public int result_num; /// <summary> /// 返回結(jié)果數(shù)組,每一項為一個識別出的logo /// </summary> public LogoRecognitionResult[] result; } [Serializable] public class LogoRecognitionResult { /// <summary> /// 位置信息 /// </summary> public LogoRecognitionResultLocation location; /// <summary> /// 識別的品牌名稱 /// </summary> public string name; /// <summary> /// 分類結(jié)果置信度(0--1.0) /// </summary> public float probability; /// <summary> /// type=0為1千種高優(yōu)商標(biāo)識別結(jié)果;type=1為2萬類logo庫的結(jié)果;其它type為自定義logo庫結(jié)果 /// </summary> public int type; } /// <summary> /// 位置信息 /// </summary> [Serializable] public class LogoRecognitionResultLocation { /// <summary> /// 左起像素位置 /// </summary> public float left; /// <summary> /// 上起像素位置 /// </summary> public float top; /// <summary> /// 像素寬 /// </summary> public float width; /// <summary> /// 像素高 /// </summary> public float height; }
下載C# SDK:
下載完成后將AipSdk.dll動態(tài)庫導(dǎo)入到Unity中:
以下是調(diào)用接口時傳入的參數(shù)詳情:
封裝調(diào)用函數(shù):
using System; using UnityEngine; using Newtonsoft.Json; using System.Collections.Generic; /// <summary> /// 圖像識別 /// </summary> public class ImageRecognition { //以下信息于百度開發(fā)者中心控制臺創(chuàng)建應(yīng)用獲取 private const string appID = ""; private const string apiKey = ""; private const string secretKey = ""; /// <summary> /// Logo商標(biāo)識別 /// </summary> /// <param name="bytes">Logo圖片字節(jié)數(shù)據(jù)</param> /// <param name="customLib">是否只使用自定義logo庫的結(jié)果,默認(rèn)false:返回自定義庫+默認(rèn)庫的識別結(jié)果</param> /// <returns></returns> public static LogoRecognition Logo(byte[] bytes, bool customLib = false) { var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey); try { var options = new Dictionary<string, object> { { "custom_lib", customLib} }; var response = client.LogoSearch(bytes, options); LogoRecognition logoRecognition = JsonConvert.DeserializeObject<LogoRecognition>(response.ToString()); return logoRecognition; } catch (Exception error) { Debug.LogError(error); } return null; } }
測試圖片:
using System.IO; using UnityEngine; public class Example : MonoBehaviour { private void Start() { ImageRecognition.Logo(File.ReadAllBytes(Application.dataPath + "/Picture.jpg")); } }
以上就是Unity 百度AI如何實現(xiàn)Logo商標(biāo)識別,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。