Android利用ocr實現身份證識別

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

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

簡單的說ocr就是一種光學識別。

如何在android中實現ocr呢?google已經為我們提供了一個類庫,里面有對應的api可以供我們調用,

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

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

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

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


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

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

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

地址為:

www.lxweimin.com/p/7d815045cef9

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容