iOS實(shí)現(xiàn)圖像文字識(shí)別功能

最近在研究圖像文字識(shí)別與圖像對(duì)比的問題,遇到的一些坑和解決方案在這里記錄一下

首先使用的是Tesseract,一款由HP實(shí)驗(yàn)室開發(fā)由Google維護(hù)的開源OCR(Optical Character Recognition , 光學(xué)字符識(shí)別)引擎,與Microsoft Office Document Imaging(MODI)相比,我們可以不斷的訓(xùn)練的庫,使圖像轉(zhuǎn)換文本的能力不斷增強(qiáng);如果團(tuán)隊(duì)深度需要,還可以以它為模板,開發(fā)出符合自身需求的OCR引擎。
在github下載demo源碼圖像識(shí)別 Tesseract OCR,打開demo運(yùn)行是可以的,但是自己放一張含有中文的圖像時(shí)就會(huì)出現(xiàn)亂碼,這時(shí)需要下載漢文包漢化包鏈接地址,在里面找到chi_sim.traineddata并下載。

將chi_sim.traineddata放到項(xiàng)目下的tessdata文件夾,這里要特別注意,一定不要直接拖進(jìn)Xcode,一定要在目錄里面打開文件夾放進(jìn)去。

然后修改代碼里的代碼

G8RecognitionOperation *operation = [[G8RecognitionOperation alloc] initWithLanguage:@"eng"];

改為

G8RecognitionOperation *operation = [[G8RecognitionOperation alloc] initWithLanguage:@"chi_sim"];

問題1:改成chi_sim會(huì)報(bào)allow_blob_division
解決方法是這個(gè)

問題2:為什么改成漢化包OCR Result顯示是空的或者是亂碼
暫時(shí)用原生的庫只對(duì)黑體字識(shí)別率較高,如果圖片中是其他字體或者有背景干擾就會(huì)顯示為空,而且遇到復(fù)雜的黑體字就識(shí)別不了了,比如這樣

lALOsYP2kM0FNs0C7g_750_1334.png_620x10000q90g.jpg

鑫被識(shí)別成了蠢

想要有其他字體識(shí)別能力或者提高識(shí)別率需要進(jìn)行字庫訓(xùn)練,訓(xùn)練方法,這個(gè)需要大量的長(zhǎng)時(shí)間的訓(xùn)練

問題3:報(bào)"actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53"錯(cuò)誤
這個(gè)是因?yàn)橄螺d的 traineddata 版本不對(duì),如果你報(bào)了這個(gè)錯(cuò)誤應(yīng)該下載這個(gè)版本的中文包,把之前的替換掉就可以了

暫時(shí)我遇到的就是這三個(gè)問題,如果你使用此教程遇到更多問題歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容