Unity實(shí)現(xiàn)紅酒識別的示例代碼
接口介紹:
識別圖像中的紅酒標(biāo)簽,返回紅酒名稱、國家、產(chǎn)區(qū)、酒莊、類型、糖分、葡萄品種、酒品描述等信息,可識別數(shù)十萬中外紅酒;支持自定義紅酒圖庫,在自建庫中搜索特定紅酒信息。
創(chuàng)建應(yīng)用:
在產(chǎn)品服務(wù)中搜索圖像識別,創(chuàng)建應(yīng)用,獲取AppID、APIKey、SecretKey信息:


查閱官方文檔,以下是紅酒識別接口返回?cái)?shù)據(jù)參數(shù)詳情:

定義數(shù)據(jù)結(jié)構(gòu):
using System;
[Serializable]
public class RedwineRecognition
{
/// <summary>
/// 請求標(biāo)識碼,隨機(jī)數(shù),唯一
/// </summary>
public float log_id;
/// <summary>
/// 識別結(jié)果
/// </summary>
public RedwineRecognitionResult result;
}
/// <summary>
/// 識別結(jié)果
/// </summary>
[Serializable]
public class RedwineRecognitionResult
{
/// <summary>
/// 判斷是否返回詳細(xì)信息(除紅酒中文名之外的其他字段),含有返回1,不含有返回0
/// </summary>
public int hasdetail;
/// <summary>
/// 紅酒中文名,無法識別返回空
/// </summary>
public string wineNameCn;
/// <summary>
/// 紅酒英文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string wineNameEn;
/// <summary>
/// 國家中文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string countryCn;
/// <summary>
/// 國家英文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string countryEn;
/// <summary>
/// 產(chǎn)區(qū)中文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string regionCn;
/// <summary>
/// 產(chǎn)區(qū)英文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string regionEn;
/// <summary>
/// 子產(chǎn)區(qū)中文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string subRegionCn;
/// <summary>
/// 子產(chǎn)區(qū)英文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string subRegionEn;
/// <summary>
/// 酒莊中文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string wineryCn;
/// <summary>
/// 酒莊英文名,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string wineryEn;
/// <summary>
/// 酒類型,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string classifyByColor;
/// <summary>
/// 糖分類型,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string classifyBySugar;
/// <summary>
/// 色澤,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string color;
/// <summary>
/// 葡萄品種,可能有多種葡萄,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string grapeCn;
/// <summary>
/// 葡萄品種英文名,可能有多種葡萄,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string grapeEn;
/// <summary>
/// 品嘗溫度,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </summary>
public string tasteTemperature;
/// <summary>
/// 酒品描述,hasdetail = 0時(shí),表示無法識別,該字段不返回
/// </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>
/// 圖像識別
/// </summary>
public class ImageRecognition
{
//以下信息于百度開發(fā)者中心控制臺(tái)創(chuàng)建應(yīng)用獲取
private const string appID = "";
private const string apiKey = "";
private const string secretKey = "";
/// <summary>
/// 紅酒識別
/// </summary>
/// <param name="bytes">圖片字節(jié)數(shù)據(jù)</param>
/// <returns></returns>
public static RedwineRecognition Redwine(byte[] bytes)
{
var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
try
{
var response = client.Redwine(bytes);
RedwineRecognition redwineRecognition = JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());
return redwineRecognition;
}
catch (Exception error)
{
Debug.LogError(error);
}
return null;
}
/// <summary>
/// 紅酒識別
/// </summary>
/// <param name="url">圖片url地址</param>
/// <returns></returns>
public static RedwineRecognition Redwine(string url)
{
var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
try
{
var response = client.RedwineUrl(url);
RedwineRecognition redwineRecognition = JsonConvert.DeserializeObject<RedwineRecognition>(response.ToString());
return redwineRecognition;
}
catch (Exception error)
{
Debug.LogError(error);
}
return null;
}
}
測試圖片:

using System.IO;
using UnityEngine;
public class Example : MonoBehaviour
{
private void Start()
{
ImageRecognition.Redwine(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));
}
}

到此這篇關(guān)于Unity實(shí)現(xiàn)紅酒識別的示例代碼的文章就介紹到這了,更多相關(guān)Unity紅酒識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)設(shè)置電腦顯示器參數(shù)
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)設(shè)置電腦顯示器參數(shù),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#實(shí)現(xiàn)將一個(gè)矩陣分解為對稱矩陣與反稱矩陣之和的方法
這篇文章主要介紹了C#實(shí)現(xiàn)將一個(gè)矩陣分解為對稱矩陣與反稱矩陣之和的方法,較為詳細(xì)的分析了矩陣分解運(yùn)算的原理與C#實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-08-08

