Unity实现OCR文字识别功能
更新时间:2022年1月4日 11:29 点击:519 作者:CoderZ1010
首先登陆百度开发者中心,搜索文字识别服务:
创建一个应用,获取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文字识别的资料请关注猪先飞其它相关文章!
原文出处:https://blog.csdn.net/qq_42139931/article/details/122257969
上一篇: Unity 百度AI实现Logo商标识别
下一篇: Unity实现车型识别的示例代码
相关文章
iOS设置UIButton文字显示位置和字体大小、颜色的方法
这篇文章给大家分享了iOS如何设置UIButton的文字显示位置和字体的大小、颜色,文中给出了示例代码,相信对大家的学习和理解很有帮助,有需要的朋友们下面来一起看看吧。...2020-06-30- 这篇文章主要介绍了基于JavaScript实现文字超出部分隐藏 的相关资料,需要的朋友可以参考下...2016-03-01
- 这篇文章主要介绍了C#文字换行的实现方法,通过自定义函数实现针对特定字符串的换行长度处理,是比较实用的技巧,对于C#的深入学习具有一定的借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了Unity时间戳的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
Unity中 ShaderGraph 实现旋涡传送门效果入门级教程(推荐)
通过Twirl 旋转节点对Gradient Noise 梯度噪声节点进行操作,就可得到一个旋转的旋涡效果。具体实现代码跟随小编一起通过本文学习下吧...2021-07-11- 本文主要介绍了4种延时执行的方法,主要包括Update计时器,Invoke,协程,DoTween,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-07
- 这篇文章主要给大家介绍了关于C#利用GDI+给图片添加文字(文字自适应矩形区域)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2020-06-25
- 这篇文章主要为大家详细介绍了C++ opencv实现车道线识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-20
- 这篇文章主要为大家详细介绍了Opencv LBPH人脸识别算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 这篇文章主要为大家详细介绍了Unity shader实现遮罩效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了python 实现性别识别的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下...2020-11-22
- 这篇文章主要介绍了unity 判断鼠标是否在哪个UI上的两种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-10
- 这篇文章主要为大家详细介绍了Unity实现换装系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-11
- 这篇文章主要给大家介绍了关于利用unity代码C#封装为dll的相关资料,文中通过图文将实现的方法介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 这篇文章主要为大家详细介绍了Unity Shader实现径向模糊效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-09
- 这篇文章主要介绍了在vue项目或网页上实现文字转换成语音,需要的朋友可以参考下...2020-06-09
- 这篇文章主要介绍了unity 实现摄像机绕某点旋转一周,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 这篇文章主要为大家详细介绍了Unity实现截图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了Unity中EventTrigger的几种使用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-10
- 这篇文章主要为大家详细介绍了Unity Shader实现2D水流效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25