提取身份證信息-階段1 圖像處理


目標

為了實現pc端,提取一張拍攝的身份證照片中人物的信息,照片背景單一且為淺色,初步使用圖像處理知識進行處理。

由淺入深,第一步,使用簡單的圖片,並且有針對性的對某幅圖片進行針對性處理,得到大部分黑色字體的位置框,為后期利用tesseract技術進行文字識別提供區域位置提取。

 

示例效果

 

效果討論

從效果圖可以看出3個問題:

1.不是所有的黑色字體都識別了出來 -->解決:藍色框相近的合並,並且取邊界的最大覆蓋面,只要兩端有字識別出來,中間就沒有問題,也正好適用於tesseract進行連串識別 。

2.人物圖像上也有藍色識別框 -->解決:因為是針對身份證的識別,后期可以進行有針對性的校調。

3.身份證擺放不正 -->解決:一開始考慮只要能識別出黑色就好了,而且tesseract一連串識別最佳並且避免了很多單個框識別的調整問題,所以下一階段要加上傾斜校正。

 

識別步驟

1.提取rgb圖像的r通道得到灰度圖(通過對比了rgb聯合灰度、r通道、g通道和b通道圖像得出的最合適結果)。

2.圖像二值化並且反色,使得背景為黑前景為白(findCountours作用對象為白色),針對這幅圖選擇閾值90,代碼中設置了調節條,可以查看不同閾值的處理效果。

3.opencv中findCountours和boundingRect函數進行邊框提取,並進行大小過濾,這里選擇面積在(30,800)內的矩形框。

4.將邊框畫在原圖,進行顯示(經過初步測試,和二值化后毛糙的圖片相比,tesseract對原圖的提取更加准確)。

 

項目代碼

完整的 階段一 vs2015 項目代碼放在github上: https://github.com/CaptainLYN/IDCardRecognization-Stage-1 ,供讀者參考。關鍵代碼后有相關注釋,方便閱讀。

 

結語

非常歡迎讀者們的指正和有關討論,直接留言即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM