Opencv+C++之身份證識別(一)

來源:互聯網
上載者:User

五月份各種課程,也是最後一個學期了,所以就沒有跟大家分享自己的一些所學。現在課程終於結束了,即將開始下一階段的項目開發,所以趁這個間隙把前段時間做的一些東西做一個總結吧。

言歸正傳,對各種證件的識別系統大家都不陌生,尤其是對車牌號的識別已經應用到我們生活的很多方面,例如小區網路攝影機對入庫車輛車牌的識別,高速收費站前對車牌識別的網路攝影機等。那麼對身份證資訊的識別跟其它識別有什麼區別呢,我想主要是對身份證的識別是在一個相對靜態環境下,受環境,光照等的擾動比較小,一般都是先對身份證攝像後,通過系統對身份證上的資訊進行識別;第二點就是它跟其它證件一樣,證件上的資訊都有固定的顏色和位置,這樣對我們第二步的分割就有很大的協助。分析了身份證的固有特性後,簡單說下我們系統的功能:1)將各個目標資訊從身份證圖片中分割出來,例如姓名資訊,住址資訊等;2)對分割出來的資訊進行識別,最基礎的要求是能統計出各個目標中漢字個數,數字個數,字母個數和特殊字元個數等,本次開發,我只是實現了對數位識別並對漢字的識別提出自己的可行性方法,因為時間緣故沒有花很多時間去實現對漢字的識別;

先給出幾張我們實驗用的照片:

當然這三張只是實驗圖片的一部分,但是又是很有代表性,第一張屬於比較標準的,清晰的身份證圖片,第二幅圖片中身份證邊界沒有跟圖片邊界貼近,並且受到了光照不均的影響,第三張中身份證角度稍微有些傾斜,並且身份證的邊界沒有被照到。實際上這三張就代表了我們實際應用的測試圖片,因為我們要使用識別系統,是人為的去對身份證拍攝,再將圖片資訊進行系統處理的,所以我們可以假定攝像時身份證同網路攝影機平行,並且身份證地區占整個圖片地區的5/6以上;

下面就開始我們的實踐階段,該系統的開發主要分為三個階段:映像預先處理;目的地區域分割;目的地區域資訊識別;

(1)預先處理階段主要是要將圖片中的一些噪音,擾動過濾掉。

  1)要提取目的地區域資訊,首先想到將映像進行灰階化,常用的灰階化方法很多,像分量法,加權法,均值法等等。但是通過實驗發現,直接提取彩色圖的R通道灰階圖是最好的選擇,因為該灰階圖中前景和背景的對比最大。如所示

通過灰階化後可以明顯看出,我們先要提取的前景資訊,相對於背景來說有明顯的灰階對比(暫時先不用考慮頭像部分,因為該部分位置相對固定,通過位置資訊可以將其過濾)

 2)通過擷取局部最佳閾值來作為自適應的全域閾值;根據我們對身份證圖片的假定和位置資訊可以知道,在圖片中心地區的左側可以提取一個矩形地區,其中一定包含前景資訊,通過擷取該地區的最佳閾值,就可以近似作為整副圖片的全域閾值;當然這樣做也只是對映像做一個粗糙的過濾,因為受光照等的影響,局部閾值跟全域閾值會有一定的差異。但在後面的各個地區的擷取中,我們有方法來進一步精確。

步驟如下1.在該地區內選擇一個T作為初始估計值;

           2.用T分割映像,這樣做會產生兩組像素:G1由所有灰階值大於T的像素組成,而G2由所有灰階值小於或者等於T的像素組成。

           3.對於地區G1和G2中的所有像素計算平均灰階值u1和u2

           4.計算新的門限值: T=(u1+u2)/2

           5.重複步驟2到4,直到逐次迭代所得的T值之差小於事先定義好的參數P

通過閾值處理得到如下結果

(2)對映像進行預先處理後,下一步就是對目的地區域的提取。這一步我主要是用到了身份證中各個地區的位置資訊,利用社會安全號碼的特殊位置,和它本身相對固定的組成(18個數字或字母)先提取出社會安全號碼的地區,在根據該地區與其它地區的相對位置獲得其它目標對象的地區範圍。這樣就完成了第一步的分割任務。樣本圖如下

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.