邱道尹,劉清霞
(華北水利水電學(xué)院,河南 鄭州 450011)
基于MATLAB的身份證號(hào)碼的識(shí)別算法
邱道尹,劉清霞
(華北水利水電學(xué)院,河南 鄭州 450011)
為快速識(shí)別身份證號(hào)碼,以計(jì)算機(jī)視覺系統(tǒng)為技術(shù)手段,以第二代居民身份證為研究對(duì)象,從身份證號(hào)碼圖像中提取號(hào)碼數(shù)字0—9的空間分布特征和結(jié)構(gòu)特征,采用相似系數(shù)最大和結(jié)構(gòu)特征一致準(zhǔn)則,應(yīng)用MATLAB軟件編程實(shí)現(xiàn)了身份證號(hào)碼的快速識(shí)別.運(yùn)用圖像處理和模式識(shí)別技術(shù),實(shí)現(xiàn)了身份證號(hào)碼圖像的預(yù)處理、圖像分割、號(hào)碼圖像的修正、號(hào)碼體的定位、號(hào)碼體的識(shí)別等算法,建立了基于攝像頭的身份證號(hào)碼識(shí)別系統(tǒng).系統(tǒng)的識(shí)別速度和準(zhǔn)確率可滿足實(shí)際需要.
身份證號(hào)碼;MATLAB;數(shù)字分割
身份證號(hào)碼是公民身份的唯一標(biāo)識(shí),出于保障公民合法權(quán)益和社會(huì)治安的考慮,越來越多的行業(yè)都開始要求錄入客戶的身份證,這是一項(xiàng)非常繁瑣的工作.手工錄入效率低且容易出錯(cuò).為解決此問題,筆者基于各個(gè)數(shù)字的不同,對(duì)身份證進(jìn)行一系列預(yù)處理后精確地把數(shù)字分割出來,采用MATLAB對(duì)身份證號(hào)碼進(jìn)行識(shí)別.實(shí)驗(yàn)證明,該方法的識(shí)別速度和準(zhǔn)確率可以滿足實(shí)際需要.
第二代身份證是一個(gè)長度為85.6 mm,寬度為54.0 mm的長方形圖片,大小固定,18位身份證號(hào)碼位于身份證的右下方,其字體類型為OCRB10BT.基于身份證的這些特點(diǎn),設(shè)計(jì)方案如圖1所示.
圖1 總體方案流程
采用一個(gè)身份證圖像獲取裝置來獲得穩(wěn)定的圖像.獲取裝置手工制作,由光源、攝像頭、木板支架3部分構(gòu)成,主要零件包括220 V(10 W)環(huán)形光源、鎮(zhèn)流器、白色燈罩、高清攝像頭、黑色磨砂材料、固定攝像頭與光源的木板結(jié)構(gòu)支架,如圖2所示.
圖2 圖像獲取裝置示意圖
這個(gè)裝置是一個(gè)類似燈箱結(jié)構(gòu)的裝置,長度16.5 cm,寬度15.0 cm,高度 35.5 cm.由一個(gè)木質(zhì)地板和兩個(gè)垂直木質(zhì)秤組成,用黑紙將其包圍,又用2個(gè)橫向木質(zhì)秤將黑紙和木質(zhì)架子固定.整個(gè)裝置用黑紙圍起來,在下方開一個(gè)門,可以自由地放取身份證.裝置是不透光全封閉的,以免受到外部光線變化的影響,防止拍攝到的身份證圖像表面有很亮的反光,造成號(hào)碼體被遮蓋等,如圖3所示.
構(gòu)成裝置的光源采用穩(wěn)定的內(nèi)置環(huán)形光源近距離照射,燈管為10 W,固定于裝置最上方.為了避免獲得的身份證圖像出現(xiàn)很亮的白斑點(diǎn),燈管下方一定距離處放置平行于燈的白色燈罩來遮蔽裝置,使得光源的光分散,均勻照射出去,避免了直射強(qiáng)光直接照射身份證帶來的亮斑點(diǎn)和強(qiáng)反光.同時(shí),環(huán)形光源在一側(cè)均勻照射,克服了身份證表面的防偽標(biāo)記在圖像上的顯現(xiàn),降低了其干擾.另一方面,在封閉的裝置內(nèi)采用穩(wěn)定的環(huán)形光源,以保證獲得的圖像不受外界光線的影響,即便在光線很弱的夜晚,該裝置也能夠正常使用.
圖3 圖像獲取裝置
構(gòu)成裝置的攝像頭固定于裝置的中部,以橫穿裝置的雙層鐵絲為支架,固定時(shí),攝像頭緊貼燈罩,鏡頭通過燈罩上所挖的圓孔突出出來,以便調(diào)節(jié)焦距和采集圖像.攝像頭選用深圳極速科技有限公司的大畫質(zhì)720 P高清攝像頭,型號(hào)為V5,分辨率可達(dá)到1 280×960,可以滿足實(shí)際需求.采用此裝置,獲取了50張身份證彩色圖片.
因?yàn)楂@取的身份證圖像為真彩色圖像,為了提高身份證圖像的處理速度,增強(qiáng)圖像的識(shí)別效果,身份證號(hào)碼識(shí)別的預(yù)處理系統(tǒng)首先對(duì)圖像進(jìn)行灰度化的操作,得到的灰度圖像如圖4所示.然后對(duì)身份證號(hào)碼進(jìn)行切割,取得號(hào)碼部分,得到的圖像如圖5所示.
圖4 灰度化后的身份證圖像
圖5 切割后的身份證號(hào)碼圖像
將灰度圖像轉(zhuǎn)化為二值圖像稱為灰度圖像的二值化.二值化一般采用閾值分割法,基本原理為:根據(jù)圖像的大致灰度分布情況,選取一個(gè)合適的灰度值(稱為閾值),這個(gè)灰度值可以理解為一個(gè)臨界值,它將圖像中的灰度分成2個(gè)灰度級(jí),圖像中凡是大于或是等于該灰度值的像素點(diǎn)將其灰度值設(shè)置為1,凡是小于該灰度值的像素點(diǎn)將其灰度值設(shè)為0.被處理后的像素中只有黑白2色[1].得到的圖像如圖6所示.
圖6 二值化和求反后的身份證號(hào)碼圖像
在將圖像掃描進(jìn)計(jì)算機(jī)的過程中,由于光線強(qiáng)弱不同等原因,圖像中不可避免地存在噪聲和干擾,所以要進(jìn)行平滑處理,用膨脹和腐蝕運(yùn)算進(jìn)行處理.函數(shù)imdilate是用來膨脹圖像.膨脹是在二值圖像中“加長”和“變粗”的操作,這種特殊的方式和變粗的程度有一個(gè)稱為結(jié)構(gòu)元素的集合控制.函數(shù)strel是運(yùn)用各種形狀和大小構(gòu)造結(jié)構(gòu)元素.腐蝕是在二值圖像中“收縮”和“細(xì)化”的操作,收縮的方式和程度有結(jié)構(gòu)元素控制.函數(shù)imerode用來腐蝕圖像[3].得到的圖像如圖7所示.
圖7 去噪后的身份證號(hào)碼區(qū)域子圖像
在定位了身份證號(hào)碼區(qū)域子圖像并去噪后,需要在該區(qū)域子圖中提取出18個(gè)身份證號(hào)碼子圖,以便后續(xù)預(yù)處理中更方便地觀察字符特征并提取,同時(shí)為號(hào)碼識(shí)別提供方便.分割后的數(shù)字如圖8所示.
圖8 分割之后的10個(gè)阿拉伯?dāng)?shù)字圖像
讀入1張身份證,灰度化,截取身份證號(hào)碼,形態(tài)學(xué)處理,二值化,切割字符,求出單個(gè)子圖像.經(jīng)過圖像預(yù)處理以后,觀察10個(gè)阿拉伯?dāng)?shù)字,其中數(shù)字8的歐拉數(shù)與其他9個(gè)數(shù)字的歐拉數(shù)不一樣,數(shù)字0,6,9的歐拉數(shù)一樣,剩下的6個(gè)數(shù)字歐拉數(shù)一樣,所以歐拉數(shù)為一個(gè)特征[2].10個(gè)數(shù)字的歐拉數(shù)見表1.
表1 阿拉伯?dāng)?shù)字的歐拉數(shù)
利用歐拉數(shù)特征將字符8區(qū)別開來,同時(shí)將字符0,6和9歸為1組,歐拉數(shù)特征為1,將字符1,2,3,4,5,7 和 X 歸為一組,歐拉數(shù)特征為0.
對(duì)切割好的數(shù)字字符圖像求出其長度和高度,再求出長度和高度的1/2和1/4.
3.2.1 計(jì)算各個(gè)位置上數(shù)字1的和
切割好的圖像是二值圖像,數(shù)字圖像矩陣的元素由0和1構(gòu)成,有筆畫的矩陣元素為1,空白處矩陣元素為0.根據(jù)這個(gè)特性,提取特征,統(tǒng)計(jì)1的個(gè)數(shù),即計(jì)算各個(gè)位置上數(shù)字1的和.
1)整體和:整個(gè)矩陣中所有位置上的1相加.2)左半部和:整個(gè)高度和長度的1/2矩陣位置上的1相加.
3)右半部和:整體和減去左半部和.
4)上半部和:上部高度為1/2的整個(gè)長度矩陣位置上的1相加.
5)下半部和:整體和減去上半部和.
6)上左半部和:矩陣的1/4,靠近上面和左面位置上的1相加.
7)上右半部和:上半部和減去上左半部和.
8)左上半部和:矩陣的1/4,靠近左邊和上邊位置上的1相加.
9)左下半部和:左半部和減去左上半部和.
10)上上半部和:上部高度為1/4的整個(gè)長度矩陣位置上的1相加.
11)上下半部和:上半部和減去上上半部和.
3.2.2 提取阿拉伯?dāng)?shù)字的6個(gè)特征
1)整體左右比:左半部和除以右半部和.
2)整體上下比:上半部和除以下半部和.
3)上部左右比:上左半部之和除以上右半部和.
4)左部上下比:左上半部和除以左下半部和.
5)上部上下比:上上半部和除以上下半部和.
3.2.3 注意事項(xiàng)
選擇特征時(shí),需要注意下面幾個(gè)方面.
1)在數(shù)字9,0,6中,歐拉數(shù)一樣,而整體上下比相差很大.
2)歐拉數(shù)為0時(shí),整體上下比大于1的是數(shù)字1和7,小于1的是4,和1差不多的是3,上部左右比中,右多的是數(shù)字7,對(duì)稱的是1.
3)左右比中,數(shù)字2和5差別不大,而上部左右比中,右部多的是數(shù)字2,左部多的是數(shù)字5.以數(shù)字4為例,具體特征值見表2和表3.
表2 數(shù)字4的特征值
表3 10個(gè)數(shù)字的5個(gè)特征值
為了驗(yàn)證預(yù)處理算法,設(shè)計(jì)了K近鄰分類器對(duì)身份證號(hào)碼進(jìn)行識(shí)別.K近鄰原理是:如果一個(gè)樣本在特征空間中的K個(gè)最相似(即特征空間中的最近鄰)的樣本中的大多數(shù)屬于一種類別,則該樣本就屬于該類別.根據(jù)已知類別的訓(xùn)練樣本和未知類別的待測樣本,利用公式可以計(jì)算出該訓(xùn)練樣本和待測樣本之間的距離,把距離按照從小到大進(jìn)行排序,找出距離最近的K個(gè)樣本,根據(jù)這K個(gè)樣本的類別來決定待測樣本的類別[4].
由于采集的身份證圖像中字符X的個(gè)數(shù)較少,對(duì)于樣本訓(xùn)練不理想,因此,這里不再驗(yàn)證.其余每類字符選取50個(gè)樣本,30個(gè)用于訓(xùn)練樣本,20個(gè)作為待測樣本,則共有500個(gè)樣本,選取樣本的整體上下比、整體左右比、上部左右比、上部上下比4個(gè)特征為特征向量計(jì)算每個(gè)待測樣本向量與300個(gè)訓(xùn)練樣本向量之間的距離,找出最小的K個(gè)距離,待測樣本屬于K個(gè)最小距離中大多數(shù)的哪一類.讓K從1到30取值,則得出各個(gè)K值下的識(shí)別率,見表4.由表4可以看出,識(shí)別率最小時(shí)為99.5%,說明預(yù)處理效果較好,特征提取也比較有效.
表4 不同K值下的識(shí)別率
該系統(tǒng)從硬件和軟件兩個(gè)方面較好地解決了身份證防偽標(biāo)記對(duì)于身份證圖像的影響.實(shí)驗(yàn)結(jié)果表明,該算法簡單,易于實(shí)現(xiàn),識(shí)別效果較好,為身份證號(hào)碼的自動(dòng)識(shí)別提供了理論基礎(chǔ).
[1]Rafacel C Gonzalez,Richard E Woods.數(shù)字圖像處理:MATLAB版[M].北京:電子工業(yè)出版社,2005.
[2]陶勝.用MATLAB實(shí)現(xiàn)身份證號(hào)碼快速識(shí)別[J].電腦編程技巧與維護(hù),2009,20(6):72 -75.
[3]呂松茂,韓震宇.身份證號(hào)碼快速識(shí)別系統(tǒng)[J].實(shí)用測試技術(shù),2002,27(12):31 -33.
[4]賈震斌,田立炎.基于BP神經(jīng)網(wǎng)絡(luò)的身份證號(hào)碼識(shí)別算法[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2006,30(7):92-94.
The Recognition Algorithm of the ID Number Based on MATLAB
QIU Dao-yin,LIU Qing-xia
(North China Institute of Water Conservancy and Hydroelectric Power,Zhengzhou 450011,China)
Taking the computer vision system as the technical means as well as the second generation ID as the research object,the fast recognition of ID number has been realized by extracting characteristics of spatial distribution and structure of number 0-9 from the digital ID number image,using the criteria of maximal similarity coefficient and consistent structural characteristics,and programming by the MATLAB software.Many algorithms have been realized such as ID number image pretreatment,image segmentation,image correction,number orientation and identification using image processing and pattern recognition technology,and ID number identification system has been established on the basis of cameras,whose recognition speed and accuracy can meet the practical demands.
ID number;MATLAB;figure division
1002-5634(2012)02-0091-04
2011-08-30
邱道尹(1961—),男,江蘇丹陽人,教授,博士,主要從事模式識(shí)別與智能系統(tǒng)方面的研究.
(責(zé)任編輯:杜明俠)