Unity实现菜品识别的示例代码

接口介绍:

识别超过9千种菜品,支持客户创建属于自己的菜品图库,可准确识别图片中的菜品名称、位置、卡路里信息,并获取百科信息,适用于多种客户识别菜品的业务场景中。

创建应用:

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

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

定义数据结构:

using System;

/// <summary>
/// 菜品识别
/// </summary>
[Serializable]
public class DishRecognition
{
    /// <summary>
    /// 唯一的log id,用于问题定位
    /// </summary>
    public float log_id;
    /// <summary>
    /// 返回结果数目,及result数组中的元素个数
    /// </summary>
    public int result_num;
    /// <summary>
    /// 菜品识别结果数组
    /// </summary>
    public DishRecognitionResult[] result;
}

/// <summary>
/// 菜品识别结果
/// </summary>
[Serializable]
public class DishRecognitionResult
{
    /// <summary>
    /// 菜名
    /// </summary>
    public string name;
    /// <summary>
    /// 卡路里,每100g的卡路里含量
    /// </summary>
    public float calorie;
    /// <summary>
    /// 识别结果中每一行的置信度值,0-1
    /// </summary>
    public float probability;
    /// <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 = "";

    /// <summary>
    /// 菜品识别
    /// </summary>
    /// <param name="bytes">图片字节数据</param>
    /// <param name="topNum">返回预测得分top结果数,默认为5</param>
    /// <param name="filterThreshold">默认0.95,可以通过该参数调节识别效果,降低非菜识别率.</param>
    /// <param name="baikeNum">    返回百科信息的结果数,默认不返回</param>
    /// <returns></returns>
    public static DishRecognition Dish(byte[] bytes, int topNum = 5, float filterThreshold = 0.95f, int baikeNum = 0)
    {
        var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
        try
        {
            var options = new Dictionary<string, object>
            {
                { "top_num", topNum },
                { "filter_threshold", Mathf.Clamp01(filterThreshold)},
                { "baike_num", baikeNum}
            };
            var response = client.DishDetect(bytes, options);
            DishRecognition dishRecognition = JsonConvert.DeserializeObject<DishRecognition>(response.ToString());
            return dishRecognition;
        }
        catch (Exception error)
        {
            Debug.LogError(error);
        }
        return null;
    }
}

测试图片:

using System.IO;
using UnityEngine;

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

到此这篇关于Unity实现菜品识别的示例代码的文章就介绍到这了,更多相关Unity菜品识别内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Unity 百度AI实现Logo商标识别

    接口介绍: 该请求用于检测和识别图片中的品牌LOGO信息.即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中LOGO的名称.位置和置信度.当效果欠佳时,可以建立子库(在百度开发者中心控制台创建应用并申请建库)并通过调用logo入口接口完成自定义logo入库,提高识别效果. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是Logo商标识别接口返回数据参数详情: 定义数据结构: using System; ///

  • 详解Unity 实现语音识别功能

    现在语音识别已经被广泛的应用到各个领域中,在Unity开发中,语音识别也非常受欢迎.大部分人都会选择科大讯飞的语音识别功能,但是在一些小的项目中,使用科大讯飞的就有点大材小用了.今天就介绍一下Unity自带的语音识别功能.说是语音识别,其实unity本身还是做不到的,Unity自带的语音识别功能其实是关键字识别.比如我在Unity中设定好一句话汇总的几个关键词.当我再说这句话的时候就会和识别到.经过测试发现当一句话中有八个关键字,这句话就会非常好的被识别出来. 接下来就一起来实现一下: 首先贴一

  • Unity实现车型识别的示例代码

    接口介绍: 该请求用于检测一张车辆图片的具体车型.即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的车辆品牌及型号. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是车型识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 车型识别 /// </summary> [Serializable] public class CarDetect { /

  • Unity接入百度AI实现通用物体和场景识别

    接口介绍: 可识别超过10万类常见物体和场景,接口返回大类及细分类的名称,并支持获取识别结果对应的百科信息:还可使用EasyDL定制训练平台,定制识别分类标签.广泛适用于图像或视频内容分析.拍照识图等业务场景. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是通用物体和场景识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 通用物体和场景识别 /// </s

  • Unity接入百度AI实现货币识别

    接口介绍: 识别图像中的货币类型,以纸币为主,正反面均可准确识别,接口返回货币的名称.代码.面值.年份信息:可识别各类近代常见货币,如美元.欧元.英镑.法郎.澳大利亚元.俄罗斯卢布.日元.韩元.泰铢.印尼卢比等. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是货币识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 货币识别 /// </summary>

  • Unity实现OCR文字识别功能

    首先登陆百度开发者中心,搜索文字识别服务: 创建一个应用,获取AppID.APIKey.SecretKey秘钥信息: 下载C# SDK,将AipSdk.dll动态库导入Unity: 本文以通用文字识别为例,查阅官方文档,以下是通用文字识别的返回数据结构: 在Unity中定义相应的数据结构: using System; /// <summary> /// 通用文字识别 /// </summary> [Serializable] public class GeneralOcr { //

  • Unity接入百度AI实现果蔬识别

    接口介绍: 识别近千种水果和蔬菜的名称,适用于识别只含有一种果蔬的图片,可自定义返回识别结果数,适用于果蔬介绍相关的美食类APP中. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是果蔬识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 果蔬识别 /// </summary> [Serializable] public class Ingredient

  • Unity实现植物识别示例详解

    接口介绍: 可识别超过2万种常见植物和近8千种花卉,接口返回植物的名称,并支持获取识别结果对应的百科信息:还可使用EasyDL定制训练平台,定制识别植物种类.适用于拍照识图.幼教科普.图像内容分析等场景. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是植物识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 植物识别 /// </summary> [S

  • Unity实现菜品识别的示例代码

    接口介绍: 识别超过9千种菜品,支持客户创建属于自己的菜品图库,可准确识别图片中的菜品名称.位置.卡路里信息,并获取百科信息,适用于多种客户识别菜品的业务场景中. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是菜品识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 菜品识别 /// </summary> [Serializable] public c

  • Unity实现动物识别的示例代码

    接口介绍: 识别近八千种动物,接口返回动物名称,并可获取识别结果对应的百科信息:还可使用EasyDL定制训练平台,定制识别分类标签.适用于拍照识图.幼教科普.图像内容分析等场景 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是动物识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 动物识别 /// </summary> [Serializable] p

  • Unity实现红酒识别的示例代码

    接口介绍: 识别图像中的红酒标签,返回红酒名称.国家.产区.酒庄.类型.糖分.葡萄品种.酒品描述等信息,可识别数十万中外红酒:支持自定义红酒图库,在自建库中搜索特定红酒信息. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是红酒识别接口返回数据参数详情: 定义数据结构: using System; [Serializable] public class RedwineRecognition { /// <summary>

  • 使用卷积神经网络(CNN)做人脸识别的示例代码

    上回书说到了对人脸的检测,这回就开始正式进入人脸识别的阶段. 关于人脸识别,目前有很多经典的算法,当我大学时代,我的老师给我推荐的第一个算法是特征脸法,原理是先将图像灰度化,然后将图像每行首尾相接拉成一个列向量,接下来为了降低运算量要用PCA降维, 最后进分类器分类,可以使用KNN.SVM.神经网络等等,甚至可以用最简单的欧氏距离来度量每个列向量之间的相似度.OpenCV中也提供了相应的EigenFaceRecognizer库来实现该算法,除此之外还有FisherFaceRecognizer.L

  • Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '******' API_KEY = '************' SECRET_KEY = '**************' 下面就是百度API包的安装,在终端cmd输入如下语句直接pip方式安装,注意是 baidu-api 哦! pip install --user baidu-aip 接下来上py

  • Python 使用Opencv实现目标检测与识别的示例代码

    在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_inside(o, i): ox, oy, ow, oh = o ix, iy, iw, ih = i # 如果符合条件,返回True,否则返回False return ox > ix and oy > iy and ox + ow < ix + iw and o

  • Python三十行代码实现简单人脸识别的示例代码

    一.库介绍 opencv,face_recognition,numpy,以及dlib 注意: 安装opencv速度可能过慢,需要更换国内镜像源,参考:https://www.jb51.net/article/208359.htm 附带Python3.7,64位版本 dlib whl下载路径:dlib-19_jb51.rar 二.库安装 pip install opencv-python pip install face_recognition pip install numpy dlib库需进入

  • Python+Opencv实现数字识别的示例代码

    一.什么是数字识别?   所谓的数字识别,就是使用算法自动识别出图片中的数字.具体的效果如下图所示: 上图展示了算法的处理效果,算法能够自动的识别到LCD屏幕上面的数字,这在现实场景中具有很大的实际应用价值.下面我们将对它的实现细节进行详细解析. 二.如何实现数字识别?   对于数字识别这个任务而言,它并不是一个新的研究方向,很久之前就有很多的学者们在关注这个问题,并提出了一些可行的解决方案,本小节我们将对这些方案进行简单的总结. 方案一:使用现成的OCR技术. OCR,即文字识别,它是一个比较

  • Unity实现桌面反弹的示例代码

    一:演示视频 二:代码实现 using UnityEngine; public class Ball : MonoBehaviour { private Rigidbody rigid; private Vector3 lastDir; public float speed = 30; private void Awake() { rigid = GetComponent<Rigidbody>(); rigid.velocity = new Vector3(1, 0, 1) * speed;

随机推荐