Unity实现植物识别示例详解

文章来源: 学习通http://www.bdgxy.com/

普学网http://www.boxinghulanban.cn/

智学网http://www.jaxp.net/

表格制作excel教程http://www.tpyjn.cn/

学习通http://www.tsgmyy.cn/


接口介绍:

可识别超过2万种常见植物和近8千种花卉,接口返回植物的名称,并支持获取识别结果对应的百科信息;还可使用EasyDL定制训练平台,定制识别植物种类。适用于拍照识图、幼教科普、图像内容分析等场景。

创建应用:     

在产品服务中搜索图像识别,创建应用,获取AppID、APIKey、SecretKey信息:

查阅官方文档,以下是植物识别接口返回数据参数详情:

定义数据结构:

using System;

/// <summary>
/// 植物识别
/// </summary>
[Serializable]
public class PlantRecognition
{
/// <summary>
/// 唯一的log id,用于问题定位
/// </summary>
public float log_id;
/// <summary>
/// 识别结果数组
/// </summary>
public PlantRecognition[] result;
}

[Serializable]
public class PlantRecognitionResult
{
/// <summary>
/// 植物名称
/// </summary>
public string name;
/// <summary>
/// 置信度
/// </summary>
public float score;
/// <summary>
/// 百科词条
/// </summary>
public BaikeInfo baike_info;
}

[Serializable]
public class BaikeInfo
{
/// <summary>
/// 对应识别结果百度百科页面链接
/// </summary>
public string baike_url;
/// <summary>
/// 对应识别结果百科图片链接
/// </summary>
public string image_url;
/// <summary>
/// 对应识别结果百科内容描述
/// </summary>
public string description;
}

下载C# SDK:

下载完成后将AipSdk.dll动态库导入到Unity中:

以下是调用接口时传入的参数详情:

封装调用函数: 

using System;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 图像识别
/// </summary>
public class ImageRecognition
{
//以下信息于百度开发者中心控制台创建应用获取
private const string appID = “”;
private const string apiKey = “”;
private const string secretKey = “”;

/// &lt;summary&gt;
/// 植物识别
/// &lt;/summary&gt;
/// &lt;param name="bytes"&gt;图片字节数据&lt;/param&gt;
/// &lt;param name="baikeNum"&gt;返回百科信息的结果数,默认不返回&lt;/param&gt;
/// &lt;returns&gt;&lt;/returns&gt;
public static PlantRecognition Plant(byte[] bytes, int baikeNum = 0)
{
    var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
    try
    {
        var options = new Dictionary&lt;string, object&gt;
        {
            { "baike_num", baikeNum }
        };
        var response = client.PlantDetect(bytes, options);
        Debug.Log(response);
        PlantRecognition plantRecognition = JsonConvert.DeserializeObject&lt;PlantRecognition&gt;(response.ToString());
        return plantRecognition;
    }
    catch (Exception error)
    {
        Debug.LogError(error);
    }
    return null;
}

}

测试图片:

using System.IO;
using UnityEngine;

public class Example : MonoBehaviour
{
private void Start()
{
ImageRecognition.Plant(File.ReadAllBytes(Application.dataPath + “/Picture.jpg”));
}
}

到此这篇关于Unity实现植物识别示例详解的文章就介绍到这了,更多相关Unity植物识别内容请搜索菜鸟教程https://www.piaodoo.com/以前的文章或继续浏览下面的相关文章希望大家以后多多支持菜鸟教程https://www.piaodoo.com/!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值