AI 实战篇 |基于 AI开放平台实现 【货币识别】 功能,彻底解决货币盲区
创始人
2024-05-07 03:52:41
0

请添加图片描述

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------


请添加图片描述

      • 前言
  • AI 实战篇 |基于 AI开放平台实现 【货币识别】 功能,彻底解决货币盲区
    • 一、准备工作
      • 1.1 获取货币识别相关SDK
      • 1.2 货币识别介绍
    • 二、正文操作流程
        • 2.1 新建一个Unity工程
        • 2.2 导入 货币识别 .dll文件
        • 2.3 新建交互类
        • 2.4 使用图片进行 货币识别
    • 总结

请添加图片描述


前言

  • 前面写过给基于百度AI开放平台实现【人脸识别】、【动物识别】和【植物识别】的文章。
  • 感兴趣的小伙伴也可以去看一下这几篇文章,都是使用AI开放平台制作的,原理都一样,只不过换了不同的SDK实现。
  • AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】
  • AI 实战篇 |十分钟学会【动物识别】,快去寻找身边的小动物试试看吧
  • AI 实战篇 |基于 AI开放平台实现 【植物识别】 功能,成为行走的百科全书
  • 本篇文章继续使用借助平台实现【货币识别】功能,一起来看看吧!

AI 实战篇 |基于 AI开放平台实现 【货币识别】 功能,彻底解决货币盲区

在这里插入图片描述


一、准备工作

1.1 获取货币识别相关SDK

在开始之前要有一些准备工作需要进行,如前往百度AI平台获取SDK以及创建应用等。

这里可以去上一篇人脸识别中查看具体的操作,就不多做说明了,步骤都是一样的。

只需要在创建应用接口选择时选择我们需要的功能接口即可。
在这里插入图片描述

同时选择多个接口,只需要在使用的时候通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。

这一步最终的目的是从下载的SDK中拿到两个库,在后面会用到。

解压后,打开 net35 文件夹将 AipSdk.dllNewtonsoft.Json.dll 中添加为引用。
在这里插入图片描述

1.2 货币识别介绍

  1. 识别货币类型
    识别图像中的货币,以纸币为主,正反面均可准确识别,接口返回货币的名称、代码、面值、年份信息
  2. 支持中外常见币种
    可识别各类近代常见货币,如美元、欧元、英镑、法郎、澳大利亚元、俄罗斯卢布、日元、韩元、泰铢、印尼卢比等
  3. EasyDL定制货币识别
    通过EasyDL平台定制图像分类、物体检测模型,自定义识别标签,实现定制货币识别功能

识别图像中的货币类型,以纸币为主,正反面均可准确识别,接口返回货币的名称、代码、面值、年份信息;可识别各类近代常见货币,如美元、欧元、英镑、法郎、澳大利亚元、俄罗斯卢布、日元、韩元、泰铢、印尼卢比等。


二、正文操作流程

2.1 新建一个Unity工程

新建一个Unity打开后 打开 File>BuildSettings -> PlayerSettings -> OtherSettings

改变Api Compatibility Level.NET2.0,若本来就是则不需要修改。

在这里插入图片描述

2.2 导入 货币识别 .dll文件

Assets下新建一个Plugins文件夹,注意不要拼错单词哦~

将上面讲到的两个文件AipSdk.dll Newtonsoft.Json.dll放入该文件夹。

在这里插入图片描述
然后新建一个测试场景和脚本,命名随意。

打开货币识别的C#官方文档:https://ai.baidu.com/ai-doc/IMAGERECOGNITION/ek3bcxh2q#%E8%B4%A7%E5%B8%81%E8%AF%86%E5%88%AB

文档中的步骤挺详细,可以结合文章与文档共同参考 ~

2.3 新建交互类

定义一个客户端,此时要用到之前创建的应用的 APPIDAPIKeySecretKey

在这里插入图片描述
代码如下:

using Baidu.Aip.ImageClassify;
using UnityEngine;public class ImageRecognitionDemo : MonoBehaviour
{[Header("设置APPID/AK/SK")]public string APP_ID = "输入你的 App ID";public string API_KEY = "输入你的 Api Key";public string SECRET_KEY = "输入你的 Secret Key";ImageClassify client;private void Awake(){client = new ImageClassify(API_KEY, SECRET_KEY);client.Timeout = 60000;  // 修改超时时间}
}

2.4 使用图片进行 货币识别

在这里插入图片描述
在这里插入图片描述

这里先准备一张货币的照片,只要是货币就行,看自己喜好。

请添加图片描述

然后放到Unity的 StreamingAssets/ImageDetect 文件夹下

我这里的图片名字为 HuoBi.png ,在测试的时候改为自己的即可。

实例代码如下:

     /// /// 货币识别/// public void CurrencyDemo(){var image = File.ReadAllBytes(Application.streamingAssetsPath + "/ImageDetect/HuoBi.png");// 货币识别,可能会抛出网络等异常,请使用try/catch捕获var result = client.Currency(image);Debug.Log(result);//图片urlvar url = "http//host.file";//var result = client.CurrencyUrl(url);}

信息的返回值如下:

{"result": {"currencyName": "美元","currencyCode": "USD","currencyDenomination": "1","year": "2009年","hasdetail": 1},"log_id": 1601950693201400445
}

这是一个功能展示效果:
在这里插入图片描述

我们拿到这个返回值之后就可以对结果进行一个编辑加展示,以达成我们想要的一个效果。


总结

  • 本文对 货币识别 做了一个简单的学习使用教程。
  • 在使用了AI平台的SDK之后,我们在最上层使用其实没有用到什么技术。只是负责调用对应的API接口就可以实现我们想要的效果。
  • 作为开发人员,懂得如何正确的使用现有的工具就已经可以满足基本需求了!
  • 学会了货币识别,可以将此功能导入自己的所需的项目中!
  • 这样以后遇到任何国家的货币都可以大概将它们分辨出来啦,彻底解决货币盲区!

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
安卓文字转语音tts没有声音 安卓文字转语音TTS没有声音的问题在应用中比较常见,通常是由于一些设置或者代码逻辑问题导致的。本文将...
APK正在安装,但应用程序列表... 这个问题可能是由于以下原因导致的:应用程序安装的APK文件可能存在问题。设备上已经存在同名的应用程序...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...