一種身份證號快速識別系統(tǒng)_第1頁
一種身份證號快速識別系統(tǒng)_第2頁
一種身份證號快速識別系統(tǒng)_第3頁
一種身份證號快速識別系統(tǒng)_第4頁
一種身份證號快速識別系統(tǒng)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一種身份證號快速識別系統(tǒng)

1身份認(rèn)證的可行性隨著科學(xué)技術(shù)的發(fā)展和人們生活的推移,人與人之間的聯(lián)系越來越廣泛。在社會交往中,人的身份識別顯得日益重要,如何快速、準(zhǔn)確地實現(xiàn)人的身份認(rèn)證變得越來越迫切。身份證號碼快速識別系統(tǒng)有效地解決了這一問題,該系統(tǒng)的工作原理是:將身份證通過攝像頭掃描進(jìn)計算機(jī),先進(jìn)行圖像的數(shù)字化,然后通過對取得的數(shù)字圖像進(jìn)行處理,取出身份證號碼,從而達(dá)到身份認(rèn)證的目的。22.1值化后的圖像實現(xiàn)讀取從攝像頭掃描進(jìn)計算機(jī)的bmp文件(256色),因其中包括(0~255)共256種色素,處理起來比較復(fù)雜,所以先進(jìn)行圖像的二值化,即將數(shù)字與背景色區(qū)分開來。具體的實現(xiàn)方法為:因為數(shù)字的色素值與背景色相差較大,所以可以設(shè)定一閥值,將數(shù)字與背景區(qū)分開來。經(jīng)過大量的實驗,設(shè)定該閥值為200,則將大于200的色素值設(shè)為1,小于200的色素值設(shè)為0,存放到數(shù)字矩陣中。所以經(jīng)過處理后的數(shù)字矩陣只包括0和1兩種數(shù)字(0代表背景色,1代表數(shù)字),從而可以進(jìn)行下一步的處理。2.2數(shù)字矩陣的初始編碼算法描述在將圖像掃描進(jìn)計算機(jī)的過程中,由于光線強(qiáng)弱不同等原因,圖像中不可避免地存在噪聲和干擾,所以要進(jìn)行平滑處理,以盡量減少噪聲的干擾。具體算法為:從數(shù)字矩陣的起始位置開始掃描,當(dāng)判斷某值為1的點(diǎn)周圍8個鄰域點(diǎn)均為0,則認(rèn)為是噪聲,將其設(shè)為0;同樣,當(dāng)判斷某值為0點(diǎn)周圍8個鄰域點(diǎn)均為1則認(rèn)為是噪聲,將其設(shè)為1。如下圖所示:2.3單個數(shù)字的單次提取按數(shù)字在數(shù)字矩陣中的縱坐標(biāo)提取單個數(shù)字。此節(jié)不考慮數(shù)字的粘連與斷裂,只提取在數(shù)字矩陣中已經(jīng)分離的區(qū)域,具體算法為:2.3.1單個數(shù)字在數(shù)字矩陣中的起始行數(shù)對數(shù)字矩陣從第一行開始,從左到右計算該行的總和。當(dāng)判斷數(shù)字矩陣中某行的總和大于0時,計為單個數(shù)字在數(shù)字矩陣中的起始行x1;當(dāng)某行的總和從大于0變?yōu)榈扔?時,將該行的上一行計為單個數(shù)字在數(shù)字矩陣中的終止行x2。2.3.2斷數(shù)矩陣中多個數(shù)字在數(shù)字矩陣中的起始列數(shù)對數(shù)字矩陣從第一列開始,從左到右計算該列的總和。當(dāng)判斷數(shù)字矩陣中某列的總和大于0時,計為第i個數(shù)字在數(shù)字矩陣中的起始列yi1;當(dāng)某列的總和從大于0變?yōu)榈扔?時,將該列的上一列計為第i個數(shù)字在數(shù)字矩陣中的終止列yi2。2.3.3將單個數(shù)字的矩陣坐標(biāo)從數(shù)字矩陣中分離分別從數(shù)字矩陣中讀取從(x1,yi1)到(x2,yi2)坐標(biāo)到第i個單個數(shù)字矩陣中,從而將單個數(shù)字從數(shù)字矩陣中分離出來。2.4區(qū)域結(jié)構(gòu)的細(xì)分割數(shù)字圖像經(jīng)過粗分割后,獨(dú)立的數(shù)字區(qū)域已被提取出,但這些獨(dú)立的數(shù)字區(qū)域不一定是單個數(shù)字,有可能是幾個數(shù)字合并在一起,如圖2所示。這種情況的出現(xiàn)主要是由兩個原因造成的:其一,數(shù)字之間雖然是分離的,但由于兩個數(shù)字區(qū)域相距太近,間隙為零,使得兩個數(shù)字區(qū)域組成了一個區(qū)域,如圖2中A1和A2區(qū)域;其二,數(shù)字之間或數(shù)字與噪聲相互粘連。數(shù)字之間的粘連通常出現(xiàn)在數(shù)字輪廓的左右邊沿較突出的部分,如圖2中A2和A3區(qū)域。圖2為粘連區(qū)域數(shù)字矩陣縱坐標(biāo)總和示意圖,其中x為數(shù)字矩陣的列值,f(x)為數(shù)字矩陣縱坐標(biāo)總和值。從圖中我們可以發(fā)現(xiàn):數(shù)字發(fā)生粘連的部分主要發(fā)生在x1和x2處,所以數(shù)字的細(xì)分割主要是為了找出x1和x2,x1和x2的特點(diǎn)是:f(x)-f(x-1)<0且f(x)-f(x+1)<0,即x處于前一數(shù)字區(qū)域的下降沿和后一數(shù)字區(qū)域的上升沿。找出x1和x2后,即可將單個數(shù)字從粘連的數(shù)字區(qū)域中分離出來。2.5單個數(shù)字矩陣和單個數(shù)字矩陣經(jīng)過粗分割和細(xì)分割后,得到的數(shù)字矩陣為完全獨(dú)立的單個數(shù)字矩陣,從而可以進(jìn)行模板匹配。由于身份證所用的字體比較規(guī)范,所以用模板匹配中最常用的最小二乘法進(jìn)行匹配2.5.1/轉(zhuǎn)換涉及矩陣的形成關(guān)系成像經(jīng)過比較,發(fā)現(xiàn)身份證所用的字體與BookAntique比較接近,所以用0~9共10個數(shù)字為標(biāo)準(zhǔn)數(shù)字模板(字型為BookAntique,字體大小為22)。具體步驟為:先將包含0~9共10個數(shù)字的bmp圖像進(jìn)行二值化,然后通過數(shù)字分割的方法將它們分割開,發(fā)現(xiàn)它們均為12*20、13*20和14*20矩陣。用最小二乘法進(jìn)行匹配必須保證模板的大小統(tǒng)一,所以先將它們統(tǒng)一為14*20標(biāo)準(zhǔn)模板。矩陣標(biāo)準(zhǔn)化函數(shù)為:VoidCBmptodigitall016View::MatrixChange(intiRowCount0ld,intiListCount0ld,intiSerial,intiRowCountEnd,intiListCountEnd){intiArrMid[500][200];//中間矩陣intiRowCountMid;//轉(zhuǎn)換過程中矩陣的行數(shù)intiListCountMid;//轉(zhuǎn)換過程中矩陣的列數(shù)inti,j,k,l;//中間變量intiRowCount,iListCount;iRowCountMid=MinMultiply(iRowCount01d,iRowCountEnd);iListCountMid=MinMultiply(iListCount01d,iListCountEnd);//將原始矩陣轉(zhuǎn)換為中間矩陣intiRowMultip,iListMultip;//轉(zhuǎn)換過程中中間矩陣的行數(shù)和列數(shù)是原始矩陣的倍數(shù)iRowMultip=iRowCountMid/iRowCount01d;iListMultip=iListCountMid/iListCount01d;for(i=0;i<iRowCount01d;i++){for(j=0;j<iListCount01d;j++){for(k=0;k<iRowMultip;k++){iRowCount=i*iRowMultip+k;for(l=0;l<iListMultip;l++){iListCount=j*iListMultip+1;if(iArr0ld[i][j]>0)iArrMid[iRowCount][iListCount]=1;elseiArrMid[iRowCount][iListCount]=0;}}}}//將中間矩陣轉(zhuǎn)換為最后要求的矩陣intiRowMultipCon,iListMultipCon;//轉(zhuǎn)換過程中中間矩陣的行數(shù)和列數(shù)是最后矩陣的倍數(shù)intiNumAll,iNumMid;//用于存放數(shù)值intiThreshod;//用于存放門限值iRowMultipCon=iRowCountMid/iRowCountEnd;iListMultipCon=iListCountMid/iListCountEnd;iThreshod=iRowMultipCon*iListMultipCon/2+1;for(i=0;i<iRowCountEnd;i{for(j=0·j<iListCountEnd;j{iNumAll=0;for(k=0;k<iRowMultipCon;K{iRowCount=i*iRowMultipCon+k;for(1=0;1<iListMultipCon;1++){iListCount=j*iListMultipCon+1;iNumMid=iArrMid[iRowCount][iListCount];iNumAll=iNumAll+iNumMid;}}if(iNumAll>=iThreshod)iArrEnd[iSerial][i][j]=1;elseiArrEnd[iSerial][i][j]=0;}}}2.5.2單數(shù)字矩陣標(biāo)準(zhǔn)通過矩陣標(biāo)準(zhǔn)化函數(shù),將所有的單個數(shù)字矩陣均統(tǒng)一為14*20矩陣,以進(jìn)行模板匹配。2.5.3共10個標(biāo)準(zhǔn)模板矩陣和10個標(biāo)準(zhǔn)模板矩陣對應(yīng)行和列的乘子法用最小二乘法對每個數(shù)字矩陣進(jìn)行模板匹配。具體方法為:對每個數(shù)字矩陣分別和0~9共10個標(biāo)準(zhǔn)模板矩陣的對應(yīng)行和列分別相乘,求其乘積的和,和為最大的標(biāo)準(zhǔn)模板矩陣與該數(shù)字最接近,即為該數(shù)值。對所有單個數(shù)字矩陣均進(jìn)行這種操作,就可把所有的數(shù)字都識別出來。3系統(tǒng)的特點(diǎn)分析本系統(tǒng)簡單實用,初步按照上述算法實現(xiàn)的程序,經(jīng)過測試,有很好的性能。與其它數(shù)字識別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論