Unity?百度AI實(shí)現(xiàn)Logo商標(biāo)識(shí)別
接口介紹:
該請(qǐng)求用于檢測(cè)和識(shí)別圖片中的品牌LOGO信息。即對(duì)于輸入的一張圖片(可正常解碼,且長(zhǎng)寬比適宜),輸出圖片中LOGO的名稱、位置和置信度。當(dāng)效果欠佳時(shí),可以建立子庫(在百度開發(fā)者中心控制臺(tái)創(chuàng)建應(yīng)用并申請(qǐng)建庫)并通過調(diào)用logo入口接口完成自定義logo入庫,提高識(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萬類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動(dòng)態(tài)庫導(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
{
//以下信息于百度開發(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庫的結(jié)果,默認(rèn)false:返回自定義庫+默認(rèn)庫的識(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)文章
運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource
這篇文章運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C#使用Zxing.dll組件解析二維碼的實(shí)現(xiàn)
ZXing是一個(gè)開源的,支持多種格式的條形碼圖像處理庫,本文主要介紹了C#使用Zxing.dll組件解析二維碼的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
winform中寫app.config文件時(shí)調(diào)試情況下沒有改變的原因
讀取很簡(jiǎn)單基本都用過 ConfigurationManager.AppSettings[""].ToString() 寫config不是很常用2013-02-02

