Unity?百度AI實(shí)現(xiàn)Logo商標(biāo)識(shí)別
接口介紹:
該請(qǐng)求用于檢測(cè)和識(shí)別圖片中的品牌LOGO信息。即對(duì)于輸入的一張圖片(可正常解碼,且長(zhǎng)寬比適宜),輸出圖片中LOGO的名稱、位置和置信度。當(dāng)效果欠佳時(shí),可以建立子庫(kù)(在百度開(kāi)發(fā)者中心控制臺(tái)創(chuàng)建應(yīng)用并申請(qǐng)建庫(kù))并通過(guò)調(diào)用logo入口接口完成自定義logo入庫(kù),提高識(shí)別效果。
創(chuàng)建應(yīng)用:
在產(chǎn)品服務(wù)中搜索圖像識(shí)別,創(chuàng)建應(yīng)用,獲取AppID、APIKey、SecretKey信息:


查閱官方文檔,以下是Logo商標(biāo)識(shí)別接口返回?cái)?shù)據(jù)參數(shù)詳情:

定義數(shù)據(jù)結(jié)構(gòu):
using System;
/// <summary>
/// Logo識(shí)別響應(yīng)數(shù)據(jù)結(jié)構(gòu)
/// </summary>
[Serializable]
public class LogoRecognition
{
/// <summary>
/// 請(qǐng)求標(biāo)識(shí)碼,隨機(jī)數(shù),唯一
/// </summary>
public float log_id;
/// <summary>
/// 返回結(jié)果數(shù)目,即:result數(shù)組中元素個(gè)數(shù)
/// </summary>
public int result_num;
/// <summary>
/// 返回結(jié)果數(shù)組,每一項(xiàng)為一個(gè)識(shí)別出的logo
/// </summary>
public LogoRecognitionResult[] result;
}
[Serializable]
public class LogoRecognitionResult
{
/// <summary>
/// 位置信息
/// </summary>
public LogoRecognitionResultLocation location;
/// <summary>
/// 識(shí)別的品牌名稱
/// </summary>
public string name;
/// <summary>
/// 分類結(jié)果置信度(0--1.0)
/// </summary>
public float probability;
/// <summary>
/// type=0為1千種高優(yōu)商標(biāo)識(shí)別結(jié)果;type=1為2萬(wàn)類logo庫(kù)的結(jié)果;其它type為自定義logo庫(kù)結(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動(dòng)態(tài)庫(kù)導(dǎo)入到Unity中:

以下是調(diào)用接口時(shí)傳入的參數(shù)詳情:

封裝調(diào)用函數(shù):
using System;
using UnityEngine;
using Newtonsoft.Json;
using System.Collections.Generic;
/// <summary>
/// 圖像識(shí)別
/// </summary>
public class ImageRecognition
{
//以下信息于百度開(kāi)發(fā)者中心控制臺(tái)創(chuàng)建應(yīng)用獲取
private const string appID = "";
private const string apiKey = "";
private const string secretKey = "";
/// <summary>
/// Logo商標(biāo)識(shí)別
/// </summary>
/// <param name="bytes">Logo圖片字節(jié)數(shù)據(jù)</param>
/// <param name="customLib">是否只使用自定義logo庫(kù)的結(jié)果,默認(rèn)false:返回自定義庫(kù)+默認(rèn)庫(kù)的識(shí)別結(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;
}
}
測(cè)試圖片:

using System.IO;
using UnityEngine;
public class Example : MonoBehaviour
{
private void Start()
{
ImageRecognition.Logo(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));
}
}
到此這篇關(guān)于Unity 百度AI實(shí)現(xiàn)Logo商標(biāo)識(shí)別的文章就介紹到這了,更多相關(guān)Unity商標(biāo)識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c#保存窗口位置大小操作類(序列化和文件讀寫(xiě)功能)
這篇文章主要介紹了c#保存窗口位置大小操作類,其實(shí)就是把序列化和文件讀寫(xiě)合到一塊,大家參考使用2013-11-11
C#接口INotifyPropertyChanged使用方法
這篇文章介紹了C#接口INotifyPropertyChanged的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
Unity 從Resources中動(dòng)態(tài)加載Sprite圖片的操作
這篇文章主要介紹了Unity 從Resources中動(dòng)態(tài)加載Sprite圖片的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓
這篇文章主要為大家詳細(xì)介紹了C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
c# winform異步不卡界面的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于c# winform異步不卡界面的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

