Android利用ocr實(shí)現(xiàn)身份證識別

首先我們需要簡單的了解一下ocr:

ocr (optical character recognition ,光學(xué)字符識別) 是指電子設(shè)備(例如掃描儀或數(shù)碼相機(jī))檢查紙上的字符,通過檢測暗,亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計(jì)算機(jī)文字的過程。 這樣就給我編程提供了接口,我們可以識別圖片的文字了 (有些文檔我們通過手機(jī)拍照的,直接生成word )身份證識別,銀行卡識別等。

簡單的說ocr就是一種光學(xué)識別。

如何在android中實(shí)現(xiàn)ocr呢?google已經(jīng)為我們提供了一個(gè)類庫,里面有對應(yīng)的api可以供我們調(diào)用,

在github的地址是:github.com/rmtheis/tess-two

我們可以將該庫依賴進(jìn)我們的項(xiàng)目中,就可以實(shí)現(xiàn)了身份證上文字的識別,特別注意的是再使用該類庫時(shí),需要在我們手機(jī)的根目錄下新建一個(gè)tessdata文件夾,里面放我們的中文識別符,既然要檢測中文,當(dāng)然要一個(gè)類似于字典的文件。

中文識別符的下載地址為:github.com/daheicode/chi_sim.git

下面簡單介紹介紹一下這個(gè)類庫的使用,使用起來比較簡單:


tess-two有一個(gè)核心的類 ?TessBaseAPI,通過這個(gè)類我們的中文識別字符,通過調(diào)用該類的init()方法來實(shí)現(xiàn),然后設(shè)置我們要識別身份證的圖片,調(diào)用該類的setImage()方法實(shí)現(xiàn),最后返回我們的結(jié)果,通過調(diào)用getUTF8Text()方法來實(shí)現(xiàn)。就會(huì)得到我們的識別結(jié)果。

該類的操作都屬于耗時(shí)操作,所以要放在工作線程中,避免ui線程阻塞。

可以看出該方法簡單,當(dāng)然效果也是很差強(qiáng)人意的,本人親測,識別速度很慢,大概需要30s左右,并且識別的準(zhǔn)確度也很低,tees-two對中文識別本來就不是很好,所以這種方法不是很好,我們需要一個(gè)更好的識別系統(tǒng),能更快速,更準(zhǔn)確的識別。下一篇我會(huì)介紹使用百度云的文字識別來進(jìn)行身份證的識別。

地址為:

www.itdecent.cn/p/7d815045cef9

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

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

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