更新日期:2019年12月30日。
Github源码:[点我获取源码]
OCR文字识别简介
对接百度AI开放平台,封装的文字识别接口。
使用OCR文字识别
设置TOKEN
文字识别需要鉴权认证的通行令牌TOKEN,登录百度AI开放平台控制台,通过新建应用获取应用的APIKEY和SECRETKEY,在任意初始化位置设置这两个key:
CharacterRecognitioner.SetAPIKEY("你的应用APIKEY");
CharacterRecognitioner.SetSECRETKEY("你的应用SECRETKEY");
然后在调用文字识别接口前,必须先生成TOKEN(一个TOKEN的有效期是30天,失效后必须重新生成):
CharacterRecognitioner.GenerateTOKEN();
由于上文的生成TOKEN的接口无法跨域,所以在WebGL平台无效,所以我们只能在外部生成TOKEN再赋值给CharacterRecognitioner:
CharacterRecognitioner.SetTOKEN("外部生成的TOKEN");
调用不同的识别方法
文字识别根据精度和识别数据的不同,分为多个识别方法,目前支持如下的几个识别方法:
1.OCRGeneralBasicRecognition 通用文字识别方法: 多场景、多语种、高精度的整图文字检测和识别。
2.OCRGeneralRecognition 通用文字识别方法(含位置信息版): 多场景、多语种、高精度的整图文字检测和识别,并返回文字在图中的位置信息。
3.OCRAccurateBasicRecognition 通用文字识别方法(高精度版): 多场景、多语种、高精度的整图文字检测和识别(精度更高,但更耗时)。
4.OCRAccurateRecognition 通用文字识别方法(高精度含位置版): 多场景、多语种、高精度的整图文字检测和识别,并返回文字在图中的位置信息(精度更高,但更耗时)。
开始识别
设置了TOKEN之后便可以直接开始识别了,调用如下接口:
private IEnumerator Start()
{
CharacterRecognitioner.SetAPIKEY("你的应用APIKEY");
CharacterRecognitioner.SetSECRETKEY("你的应用SECRETKEY");
//等待生成TOKEN完成
yield return CharacterRecognitioner.GenerateTOKEN();
//待识别的图片
Texture2D texture = Resources.Load<Texture2D>("Test");
//使用高精度识别方法
OCRAccurateBasicRecognition recognition = new OCRAccurateBasicRecognition(texture);
recognition.SuccessHandler = RecognitionSucceed;
//识别文字
yield return CharacterRecognitioner.Recognition(recognition);
}
//识别成功回调
private void RecognitionSucceed(OCRResponse response)
{
GlobalTools.LogInfo("识别到文字数量:" + response.WordsCount);
GlobalTools.LogInfo("识别到如下文字:");
for (int i = 0; i < response.Words.Count; i++)
{
GlobalTools.LogInfo(response.Words[i].Content);
}
}
我们识别的测试图片如下:
识别结果: