服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - Unity实现动物识别的示例代码

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

2022-12-26 13:53CoderZ1010 C#

本文主要介绍了如何通过Unity实现动物识别,可以实现识别近八千种动物,接口返回动物名称,并可获取识别结果对应的百科信息,感兴趣的可以了解一下

接口介绍:

识别近八千种动物,接口返回动物名称,并可获取识别结果对应的百科信息;还可使用EasyDL定制训练平台,定制识别分类标签。适用于拍照识图、幼教科普、图像内容分析等场景

创建应用:

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

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

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

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

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

定义数据结构:

using System;

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

[Serializable]
public class AnimalRecognitionResult
{
  /// <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:

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

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

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

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

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结果数,默认为6</param>
  /// <param name="baikeNum">返回百科信息的结果数,默认不返回</param>
  /// <returns></returns>
  public static AnimalRecognition Animal(byte[] bytes, int topNum = 6, int baikeNum = 0)
  {
      var client = new Baidu.Aip.ImageClassify.ImageClassify(apiKey, secretKey);
      try
      {
          var options = new Dictionary<string, object>
          {
              { "top_num", topNum },
              { "baike_num", baikeNum }
          };
          var response = client.AnimalDetect(bytes, options);
          AnimalRecognition animalRecognition = JsonConvert.DeserializeObject<AnimalRecognition>(response.ToString());
          return animalRecognition;
      }
      catch (Exception error)
      {
          Debug.LogError(error);
      }
      return null;
  }
}

测试图片:

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

using System.IO;
using UnityEngine;

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

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

以上就是Unity实现动物识别的示例代码的详细内容,更多关于Unity动物识别的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/qq_42139931/article/details/122298913

延伸 · 阅读

精彩推荐
  • C#C#如何优雅的结束线程

    C#如何优雅的结束线程

    这篇文章主要介绍了C#如何优雅的结束一个线程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...

    宏宇6212022-11-17
  • C#C#找出字符串中第一个字母并大写的方法

    C#找出字符串中第一个字母并大写的方法

    这篇文章主要介绍了C#找出字符串中第一个字母并大写的方法,通过C#面向对象的方式定义了类的成员函数实现字符串转换的功能,需要的朋友可以参考下...

    礼拜一4152021-11-11
  • C#C#实现窗体抖动的两种方法

    C#实现窗体抖动的两种方法

    这篇文章主要为大家详细介绍了C#实现窗体抖动的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    英莱特——Dream11882022-10-18
  • C#C#操作RabbitMQ的完整实例

    C#操作RabbitMQ的完整实例

    这篇文章主要为大家详细介绍了C#操作RabbitMQ的完整实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    YSWALLE10552022-01-20
  • C#C# 检索不区分大小写并高亮显示实例详解

    C# 检索不区分大小写并高亮显示实例详解

    这篇文章主要介绍了C# 检索不区分大小写并高亮显示实例详解的相关资料,需要的朋友可以参考下...

    C#教程网4262021-12-20
  • C#区分C# 中的 Struct 和 Class

    区分C# 中的 Struct 和 Class

    这篇文章主要介绍了如何区分C# 中的 Struct 和 Class,帮助大家更好的理解和学习c#编程,感兴趣的朋友可以了解下...

    技术译站7502022-10-09
  • C#C#开发教程之ftp操作方法整理

    C#开发教程之ftp操作方法整理

    这篇文章主要介绍了C#开发教程之ftp操作方法整理的相关资料,需要的朋友可以参考下...

    costyuan11872021-12-02
  • C#C#双缓冲技术实例详解

    C#双缓冲技术实例详解

    这篇文章主要介绍了C#双缓冲技术,结合实例形式较为详细的分析了C#双缓冲的功能,实现技巧与相关注意事项,需要的朋友可以参考下...

    Alexander6372021-11-14