更新日期: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);
}
}
我們識別的測試圖片如下:
識別結果: