Unity实现OCR文字识别功能

首先登陆百度开发者中心,搜索文字识别服务:

创建一个应用,获取AppID、APIKey、SecretKey秘钥信息:

下载C# SDK,将AipSdk.dll动态库导入Unity:

本文以通用文字识别为例,查阅官方文档,以下是通用文字识别的返回数据结构:

在Unity中定义相应的数据结构:

using System;

/// <summary>
/// 通用文字识别
/// </summary>
[Serializable]
public class GeneralOcr
{
    /// <summary>
    /// 图像方向 -1未定义 0正弦 1逆时针90度 2逆时针180度 3逆时针270度
    /// </summary>
    public int direction;
    /// <summary>
    /// 唯一的log id,用于问题定位
    /// </summary>
    public int log_id;
    /// <summary>
    /// 识别结果数,表示words_result的元素个数
    /// </summary>
    public int words_result_num;
    /// <summary>
    /// 定位和识别结果数组
    /// </summary>
    public string[] words_result;
    /// <summary>
    /// 行置信度信息
    /// </summary>
    public Probability probability;
}

/// <summary>
/// 行置信度信息
/// </summary>
[Serializable]
public class Probability
{
    /// <summary>
    /// 行置信度平均值
    /// </summary>
    public int average;
    /// <summary>
    /// 行置信度方差
    /// </summary>
    public int variance;
    /// <summary>
    /// 行置信度最小值
    /// </summary>
    public int min;
}

下面是调用时传入的相关参数:

封装调用函数:

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

public class OCR
{
    //以下信息于百度开发者中心创建应用获取
    private const string appID = "";
    private const string apiKey = "";
    private const string secretKey = "";

    /// <summary>
    /// 通用文字识别
    /// </summary>
    /// <param name="bytes">图片字节数据</param>
    /// <param name="language">识别语言类型 默认CHN_ENG中英文混合</param>
    /// <param name="detectDirection">是否检测图像朝向</param>
    /// <param name="detectLanguage">是否检测语言,当前支持中、英、日、韩</param>
    /// <param name="probability">是否返回识别结果中每一行的置信度</param>
    /// <returns></returns>
    public static GeneralOcr General(byte[] bytes, string language = "CHN_ENG", bool detectDirection = false, bool detectLanguage = false, bool probability = false)
    {
        var client = new Baidu.Aip.Ocr.Ocr(apiKey, secretKey);
        try
        {
            var options = new Dictionary<string, object>
            {
                { "language_type", language },
                { "detect_direction", detectDirection },
                { "detect_language", detectLanguage },
                { "probability", probability }
            };
            var response = client.GeneralBasic(bytes, options);
            GeneralOcr generalOcr = JsonUtility.FromJson<GeneralOcr>(response.ToString());
            return generalOcr;
        }
        catch (Exception error)
        {
            Debug.LogError(error);
        }
        return null;
    }
}

以上是传入图片字节数据调用接口的方式,也可以通过URL调用,只需将GeneralBasic换为重载函数GeneralBasicUrl:

测试图片:

OCR.General(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));

以上就是Unity实现OCR文字识别功能的详细内容,更多关于Unity OCR文字识别的资料请关注我们其它相关文章!

(0)

相关推荐

  • C# SDK实现百度云OCR的文字识别功能

    最近项目要用到文字识别功能,所以花了几天时间整理了一下.今天就记录一下用C#实现文字识别的过程. 一.登录百度云进入控制台界面,创建应用获取秘钥 1.在百度云的产品里找到文字识别 2.找到通用文字识别点击立即使用.然后进入控制台.(这里可能会进入购买页面,可以直接购买免费版) 3.在控制台点击创建应用.然后填写相关内容就可以获得应用秘钥. 二.获得C#SDK 1.百度云C#SDK下载:下载地址 2.可以到官网直接下载:下载链接 三.将C#SDK导入VS 找到解决方案里的引用目录,右键,选择第一个

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

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

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

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

  • Unity调用手机摄像机识别二维码

    本文实现Unity调用手机摄像,拍摄,然后识别二维码,显示二维码的内容. 需要导入一个zxing.unity.dll文件,现在这个脚本的识别数据是放在Updata里边扫描的 数据量特别大会卡  要是用的话就自己做一下一秒执行一次.我这里没有弄 下载地址:zxing.unity.dll 代码: using System.Threading; using UnityEngine; using ZXing; public class WebCameraScript : MonoBehaviour {

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

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

  • Unity实现简单手势识别

    本文实例为大家分享了Unity实现手势识别的具体代码,供大家参考,具体内容如下 代码很简单没有难度,都有注解,随便 看一看 就会了. CallEvent () 方法需要自己搭载使用. Unity代码 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 手势识别 /// </summary> public class PlayerAnimato

  • Unity实现OCR文字识别功能

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

  • Python图像处理之图片文字识别功能(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制. Tesseract 是一个OCR 库,目前由Google 赞助(Google 也是一家以OCR 和机器学习技术闻名于世的公司).Tesseract 是目前公认最优秀.最精确的开源OCR 系统. 除 了极高的精确度,Tesseract 也具有很高的灵活性.它可

  • Python调用百度AI实现图片上文字识别功能实例

    目录 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 总结 简介 Python免费调用百度AI实现图片上面的文字识别 步骤 安装百度AI库 !pip install baidu-aip 注册百度AI开放平台 先注册百度AI,获得ID和密钥.注册方法可参考:注册方法 只需走到 "1.6 获取密钥" 即可.然后记录下自己的APP_ID.API_KEY.SECRET_KEY,就可以开始了. 调用glob库 glob库用

  • python使用百度文字识别功能方法详解

    介绍python使用百度智能去的文字识别功能,可以识别截图中的文,登陆路验证码等等., 登陆百度智能云,选择产品服务. 选择"人工智能"---文字识别. 点击创建应用. 如图下面有关于"文字识别"的各类信息,如通用文字识别每天可以名费使用50000次,文字识别高精度版本免费使用500次每天.对于一般应用应该还足够. 在创建应用界面填入必要的信息,点击"立即创建"按纽.返回后点击"管理应用"按纽. 管理应用界面主要是能看到调用接

  • python利用百度AI实现文字识别功能

    本文为大家分享了python实现文字识别功能大全,供大家参考,具体内容如下 1.通用文字识别 # -*- coding: UTF-8 -*- from aip import AipOcr # 定义常量 APP_ID = '11352343' API_KEY = 'Nd5Z1NkGoLDvHwBnD2bFLpCE' SECRET_KEY = 'A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os' # 初始化AipFace对象 aipOcr = AipOcr(APP_ID, API_K

  • java实现百度云OCR文字识别 高精度OCR识别身份证信息

    本文为大家分享了java实现百度云OCR识别的具体代码,高精度OCR识别身份证信息,供大家参考,具体内容如下 1.通用OCR文字识别 这种OCR只能按照识别图片中的文字,且是按照行识别返回结果,精度较低. 首先引入依赖包: <dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.6.0</version&

  • 不到十行实现javaCV图片OCR文字识别

    spring boot项目pom文件中添加以下依赖 <!-- https://mvnrepository.com/artifact/org.bytedeco/javacv-platform --> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.5</version&g

  • 十行Python代码实现文字识别功能

    目录 1.环境和配置要求 百度接口 2.具体实现步骤 获取截图 调用Baidu aip识别并打印文字 调用打包程序生成专属识别文字小程序 今天给大家分享的主题是用百度的接口实现图片的文字识别. 1.环境和配置要求 整体是用Python实现,所需要使用的第三方库包括aip.PIL.keyboard.pyinstaller,如未安装,可在CMD中使用pip install Baidu-AIP/pillow/keyboard/pyinstaller指令安装. 百度接口 打开网址,如未注册请先注册,然后

  • Node+OCR实现图像文字识别功能

    开发目的 这算是node应用的第二个小应用吧,主要目的是熟悉node和express框架.原理很简单:在node搭建的环境下引用第三方包处理图片数据并返回给前台信息. 实现效果,百度提供的图片识别,经过测试识别车牌号等规范文字数字还是比较准确的 环境需求 1.Express 是一个非常流行的node.js的web框架.基于connect(node中间件框架).提供了很多便于处理http请求等web开发相关的扩展. 2.OCR: 通用文字识别 Node SDK目录结构: ├── src     │

随机推荐