【正文】
y32==0amp。y12==0amp。y33==1。y13==0amp。 Y(i,j,k)=2。y21==0amp。y32==1。y11==0amp。 y31=Y(i+1,j1,k1)。 y13=Y(i1,j+1,k1)。 for i=2:M1。Y(:,:,1)=X。amp。success=0。for i=1:xxx1 for j=1:yyy1 if count(i,j)temp temp=count(i,j)。 %%%%%%% 修改矩陣 end end count1=0。 %%%%%%%%%%%%%手動修改模板的匹配T=6。 end if qqq~=1 for ttt=1:qqq if ttt~=qqq pp(qqq,ttt)=pp(ttt,qqq1)。for fff=1:xxx1 for i=qqq:xxx1 d=sqrt((pipei(qqq,1)pipei(i+1,1)).^2+(pipei(qqq,2)pipei(i+1,2)).^2)。 pipei(ddd,3)=tezheng(i,j,3)。 end end end end endendfigure,imshow(Izz)%%%%%%%%%%%%%%%%%%%%%%%%%匹配pipei=zeros(xxx,3)。Izz(x+1,y)=0。 Izz(x1,y)=0。Izz(i+1,j)=0。 Izz(i1,j)=0。Izz(x1,y1)=0。Izz(x+1,y+1)=0。Izz(i1,j1)=0。Izz(i+1,j+1)=0。 xxx=xxx2。Izz(x,j1)=0。Izz(x,y+1)=0。Izz(i,j1)=0。Izz(i,j+1)=0。 tezheng(x,y,3)=0。Izz(x+1,y1)=0。Izz(x1,y+1)=0。Izz(i+1,j1)=0。Izz(i1,j+1)=0。 end end for x=i12:i+12 for y=j+1:j+12 if tezheng(x,y,3)==2 tezheng(i,j,3)=0。Izz(x+1,y)=0。 Izz(x1,y)=0。Izz(i+1,j)=0。 Izz(i1,j)=0。Izz(i1,j1)=0。Izz(i+1,j+1)=0。 %%%消除端點 xxx=xxx1。amp。 d=I(i,j1)+I(i,j2)+I(i,j3)+I(i,j4)+I(i,j5)+I(i,j6)+I(i,j7)+I(i,j8)+I(i,j9)+I(i,j10)+I(i,j11)+I(i,j12)。d=0。Izz(i1,j1)=0。Izz(i+1,j+1)=0。 xxx=xxx1。I(i,j1)=1。I(i,j+1)=1。 xxx=xxx+1。I(i1,j1)=1。I(i+1,j+1)=1。 I(i,j)=0。 end if a==6 %%%分叉點判斷 tezheng(i,j,1)=i。 end if Im(i+1,j) ~= Im(i+1,j1) a = a + 1。 if Im(i1,j) ~= Im(i1,j+1) a = a + 1。%%%%%%%%%%%%%%%%%%%特征提取xxx=0。 end end endendIm=In。 end end%figure,imshow(double(Icc))%%%%%%%%%%%%%%%%%二值化后處理Im=Icc。 end endendfor i=1:m for j =1:n Icc(i,j)=Icc(i,j)*Im(i,j)。 if (summax+summin+4*I(x,y)) (3*(sum1+sum2+sum3+sum4+sum5+sum6+sum7+sum8)/8) sumf = summin。 summax=max(sumi)。 sum6=I(x4,y2)+I(x2,y1)+I(x+2,y+1)+I(x+4,y+2)。 sum2=I(x2,y+4)+I(x1,y+2)+I(x+1,y2)+I(x+2,y4)。Im=zeros(m,n)。for a=2:m1。1 1 1。 end end endend %2Icc = ones(m,n)。 end if aveg1(x,y)T3 amp。T4=V210。moban=zeros(H,L)。 end if 0var1(x,y)V1 vtemp1=vtemp1+1。vtotle1=0。 end endendG1=gtotle/gtemp。for x=1:H for y=1:L if Gmean1aveg1(x,y) gtemp=gtemp+1。gtemp=0。for x=1:H for y=1:L Gmean=Gmean+aveg1(x,y)。 var=(I(i+(x1)*M,j+(y1)*M)aveg1(x,y))*(I(i+(x1)*M,j+(y1)*M)aveg1(x,y))+var。 aveg=I(i+(x1)*M,j+(y1)*M)+aveg。 aveg=0。aveg1=zeros(H,L)。 else I(x,y)=150sqrt(100*(M1I(x,y))*(M1I(x,y))/var1)。for x=1:m for y=1:n var=var+(I(x,y)M1)*(I(x,y)M1)。figure, imshow(uint8(I)) tic%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 歸一化M=0。[m,n,s] = size(originI)。附錄把所有代碼去掉,到時上交可自行的源代碼。 感謝對我論文進行評審的各位老師,感謝對論文的指導和提出的寶貴意見。 四年寒窗,所收獲的不僅僅是愈加豐厚的知識,更重要的是在閱讀、實踐中所培養(yǎng)的思維方式、表達能力和廣闊視野。我在選題及研究過程中,得到周老師的悉心指導。在論文完成前后,我的心情波動較大。本文由于時間上的限制,在實現(xiàn)細化和匹配的基礎(chǔ)上沒有能夠?qū)毣推ヅ渌惴ㄟM行更深入的改進研究,是一個缺憾。選用了一種比較精確的模板細化,得到了指紋細化后比較清晰的圖像。本文針對指紋圖像的特性,將均值方差法、模板細化、點模匹配應(yīng)用于指紋識別技術(shù),以改善指紋識別算法的性能。相似度的計算,方法一以滿足特征點的相對距離差距不大的點的個數(shù)為相似依據(jù);方法二以卷積值的大小來判斷圖像的相似性,并計算圖像的相似距離。FFT卷積的方法能從多幅數(shù)據(jù)庫的指紋圖片中挑選出與當前輸入圖片最相近的指紋,即使它的圖像有所殘缺,也不大會影響它的判斷和距離的計算。 圖53 指紋匹配程序模塊這個圖去掉。為了驗證這種匹配方法的可用性,這里特地選取了30張圖片做指紋圖片數(shù)據(jù)庫,目標圖片為數(shù)據(jù)庫某圖片稍加修改后的圖片。返回1說明匹配成功,返回0則匹配失敗。在找到核心點后,比較它們相對距離的差異,對于滿足一定值的點視為可積點。能獲得參考點表明從被識別圖像中獲得的任意比特流與登記圖像中獲得的比特流相近,則有可能得出兩圖像相同的結(jié)果;沒有參考點表明被識別圖像完全是另一不同圖像。設(shè)計算法的時候,必須要有一定的容錯能力。很多情況下選用圖片的中心點。點模式匹配[20]將注冊指紋和待識指紋的特征點定義為兩個點集和P和Q通過平移和旋轉(zhuǎn)使得兩個點集重合點數(shù)最多。它利用脊線上的端點和分叉點這兩種關(guān)鍵點來鑒定指紋。指紋匹配是自動指紋識別的最后一步,也是非常關(guān)鍵的一步。在匹配前還需對毛刺、小橋等偽特征點加以識別和處理,這樣有助于后面匹配的進行,使匹配更加精確無誤和快速。此時該點則被視為小橋。因為指紋變化多的部分為中間,所以處理的范圍比斷點來的范圍小,并且在特征值為2的情況下僅僅是縮小范圍再次判斷特征值,這點就不相同了。第三類為斷點:在上述的范圍內(nèi),特征值為2。(3)偽特征的判斷比較多,全部計入數(shù)組3。此時的處理為記錄數(shù)組2,記錄點的個數(shù) ,并將該點記為0,而它的8鄰域點記為1。本章中將特征建立為一個3維數(shù)組,前兩組用于記錄端點和分叉點。對于細化二值圖像,像素點的灰度值只有2種情況。提取出的特征點還必須經(jīng)過偽特征點的去除,盡可能地去除掉由于二值化、細化處理等過程引入的偽特征點。Galton提出的指紋細節(jié)點是人工指紋匹配中最常用的特征。對于特征點提取的常用算法很多,如:(1)基于二值化的特征提取方法:這種算法對于預(yù)處理和增強后得指紋圖像進行二值化,然后再提取特征點。一般說來,這種特征應(yīng)有以下性質(zhì):(1)單一性:要求這種特征能夠充分體現(xiàn)指紋的唯一性。對于細化中出現(xiàn)的毛刺現(xiàn)象,要根據(jù)局部特征來修改判定模板來決定這個點的像素,甚至可以減少模板的數(shù)量和判斷次數(shù),既簡化模板,又提高運算速度,這點還可以有很大的深入研究。 圖a 指紋分割圖像 圖b 指紋二值化圖像 圖c 指紋細化圖像 圖31指紋1的細化結(jié)果 圖a 指紋分割圖像 圖b 指紋二值化圖像 圖c 指紋細化圖像圖32 指紋2的細化結(jié)果從分割后的二值化處理圖像中,我們可以看到,整個灰度變成了黑白的二值圖像圖,圖像的條紋比較清楚,它的實現(xiàn)有助于壓縮數(shù)據(jù)量和細化的實現(xiàn)。(3)16種消去模板是在不滿足上述情況下衍生的模板,對于滿足這些模板的點像素全為0,以上都未涉及的點不做改變。這樣就可以將較粗的圖像曲線細化成很細的以像素為單位的線,大大減少了圖像的信息量,有利于匹配的高效進行。不同的文獻上有不同的關(guān)于細化方法,如王家隆等[16]以及王業(yè)琳等[17]的細化模板。并行細化算法對圖像進行細化時利用相同的條件同時檢測所有像素點,其結(jié)果具有各向同性,因此從算法原理上并行算法優(yōu)于串行算法。(6)中軸性:骨架盡可能接近條紋中心線。(2)連通性;不破壞紋線的連接性。在文字識別、地質(zhì)構(gòu)造識別、工業(yè)零件形狀識別或圖像理解中,先對被處理圖像進行細化有助于突出形狀特點和減少冗余信息。 指紋圖像細化方法計算由于灰度過渡區(qū)[12]的存在,指紋細化是指紋圖像預(yù)處理中的一個重要環(huán)節(jié),因為一般的特征提取都是在細化的基礎(chǔ)上進行的,如果細化不好,將無法使用常規(guī)的特征提取算法提取細節(jié)特征信息[13]。背景和灰度值為255的紋線像素置為1,這做法的目的是去除不確切的點。我們通過研究發(fā)現(xiàn),這種方法雖然簡單,但是對噪聲較大,圖像質(zhì)量不好的指紋會產(chǎn)生較大的二值化噪聲。灰度圖二值化的基本思想是選取適當?shù)幕叶乳u值,將灰度圖像轉(zhuǎn)化為二值圖像,閾值的選擇是關(guān)鍵,對于閾值的選擇,有多種方法,如熵法,Ostu法等。第3章 指紋圖像的細化 指紋圖像細化的預(yù)處理這部分預(yù)處理主要為二值化。 圖(a) 指紋原始圖像 圖(b) 歸一化處理圖像 圖(c) 分割后圖像圖21指紋1的處理結(jié)果請參照修改下面所有的圖。指紋來自于指紋數(shù)據(jù)庫需說明數(shù)據(jù)庫出自哪里?以表對別人工作的尊重。歸一化[11]的目的是把不同原圖像的對比度和灰度調(diào)整到一個固定的級別上,為后續(xù)處理提供一個較為統(tǒng)一的圖像規(guī)格。(2)計算出每一塊的均值和方差。 均值方差法在圖像分割概述中,已經(jīng)提到基于塊特征的指紋圖像分割。此方法的實現(xiàn)是利用方向濾波器。一般來說,常見的方向場的計算分為掩模法和公式法兩大類。其優(yōu)點是計算簡單,僅需比較灰度值即可;運算效率較高,速度快;它的缺陷在于僅考慮圖像的灰度信