一種基于matlab的指紋識別方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及指紋識別領(lǐng)域,特別涉及一種基于MTLAB的指紋識別方法。
【背景技術(shù)】
[0002] 傳統(tǒng)的安防系統(tǒng)主要采用基于令牌或密碼的方式,隨著社會的進(jìn)步,這樣的安防 系統(tǒng)則變得不堪一擊。身份識別逐漸成為了大眾的第一選擇,面對這樣的挑戰(zhàn),人們希望能 通過增強(qiáng)指紋識別的精確性來幫助了解人體的身體特征或行為特征。在我們的手指皮膚表 面,因?yàn)槠つw會產(chǎn)生多種紋路不均勻,人們常把這些紋路稱之為指紋,每個人的指紋都是獨(dú) 一無二的。作為領(lǐng)先的身份識別技術(shù),指紋識別已廣泛運(yùn)用于司法,犯罪認(rèn)證和其他安全系 統(tǒng),同時它發(fā)展也是非常迅速。實(shí)際上,在許多情況下儼然開始變?yōu)樯矸葑R別技術(shù)的代名 詞。指紋識別是識別一個非常可靠的方法,廣泛應(yīng)用的指紋自動識別系統(tǒng),它起著重要的作 用,同時對指紋識別技術(shù)的學(xué)習(xí)探究也有著重要的意義。
[0003] 從早期的人工比對到現(xiàn)在的信息科技技術(shù),指紋識別系統(tǒng)變得更加先進(jìn),指紋對 比的精度和對比的效率也更加準(zhǔn)確。然而,當(dāng)前對指紋識別技術(shù)的研究依舊存在著許多的 難題,在一些特定的情況下識別過程中會喪失一小半重要的信息,當(dāng)指頭割破、弄傷、變臟、 以及在不同干濕狀況下或者經(jīng)歷各種擠壓方式,還會使得指紋圖像發(fā)生變化,進(jìn)而造成特 征點(diǎn)難以提取。比如一般的基于特征點(diǎn)的辨別方法,主要是通過提取紋路線上的細(xì)節(jié)特征 點(diǎn),接著對特征點(diǎn)的位置和形狀實(shí)行匹配來辨別指紋的,這時候圖片中的噪音、毛刺會對圖 片的匹配造成很大的影響,導(dǎo)致特征點(diǎn)產(chǎn)生錯誤的數(shù)量大大增加,嚴(yán)重的話,會使得準(zhǔn)確的 特征點(diǎn)難易提取甚至丟失。在噪聲相對比較大的時候,則需要改善圖片的質(zhì)量,這時就可利 用改善算法或者增強(qiáng)圖像對比度等方法來解決,然而找到這種能夠應(yīng)對所用噪聲的算法是 件非常困難的事情,同時很多用來增強(qiáng)的算法在很大程度上會增加程序?qū)嵭袝r間,同時,不 好的算法還會增加行為特征,甚至?xí)崛〕鲈S多假的特征點(diǎn),一般的基于細(xì)節(jié)點(diǎn)識別算法 的不足之處便在這里,因?yàn)檫@種算法運(yùn)用了指紋圖像中的部分信息當(dāng)做特征點(diǎn)實(shí)現(xiàn)匹配, 喪失了隱藏在圖像中的其他完整的信息。由此可知,基于細(xì)節(jié)點(diǎn)的識別算法一般來說是不 能適應(yīng)指紋的特殊變化的。比起其它識別方法例如證卡來說,指紋識別法顯得更加方便、簡 單、精確、抗干擾能力也更強(qiáng),這種系統(tǒng)的兼容性好,換言之這種方法可以單獨(dú)構(gòu)成系統(tǒng)并 且很輕松的將各類證融入其中。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種基于MATLAB的指紋識別方法。
[0005] 本發(fā)明的技術(shù)方案是: 一種基于MTLAB的指紋識別方法,包括步驟: 51、 采集指紋,準(zhǔn)備需要識別的指紋的原圖像; 52、 對指紋的原圖像進(jìn)行預(yù)處理,所述預(yù)處理包括先后對圖像進(jìn)行圖像分割、圖像歸一 化、圖像二值化和圖像細(xì)化處理; 53、 在步驟S2的基礎(chǔ)上,對細(xì)化后的圖像進(jìn)行特征提取,采用領(lǐng)域法提取端點(diǎn)以及分 叉點(diǎn); 54、 對完成特征提取的圖像進(jìn)行匹配,并最終輸出比對匹配的結(jié)果。
[0006] 優(yōu)選的,所述圖像歸一化采用灰度的均值以及方差的方法,首先計(jì)算出需要提取 指紋的圖像的灰度值以及方差,設(shè)定圖像的均值和方差,在此基礎(chǔ)上,進(jìn)行歸一化處理。
[0007] 優(yōu)選的,所述圖像分割采用基于塊特征點(diǎn)分割法的算法,首先將圖像分割成同樣 大小的s*s的不混疊塊,并計(jì)算出各個不混疊塊中的灰度值的方差和均值,接著判別前景 和背景,判別方法如下: (1) 在分解后,將MXM大小的無重疊方塊直方圖用來表示低頻圖,這些直方圖的大小 可以采用谷脊交換式; (2) 計(jì)算得到各個塊的均值和方差; (3) 把全部的分塊區(qū)分出來后,再對需要處理的塊進(jìn)行判定,假若在一分塊區(qū)的8鄰域 之中,背景不大于4就可以看做為前景,不然就看做為背景。
[0008] 優(yōu)選的,所述圖像細(xì)化的步驟包括: a) 構(gòu)建一個3維的數(shù)組,使用第一組來存儲圖像預(yù)處理后的信息,設(shè)置各個像素范圍 內(nèi)點(diǎn)的像素參數(shù); b) 將未達(dá)到收斂性、連通性、拓?fù)湫?、保持性、?xì)化性、中軸性和快速性七種條件的模塊 設(shè)置值為2,像素為1,同時將達(dá)到上述七種條件后的模塊設(shè)置值為3,其他的狀況下的點(diǎn)的 值不變; c) 在達(dá)不到上述條件下生成的模塊,將這些模塊的點(diǎn)的像素值全部設(shè)置為0,剩下的點(diǎn) 不變; d) 對前三個過程持續(xù)循環(huán),直到全部點(diǎn)的值不再變化,同時要滿足細(xì)化次數(shù)不超過20 這一條件。
[0009] 優(yōu)選的,所述特征提取所提取的特征點(diǎn)包括端點(diǎn)和分叉點(diǎn),判別特征點(diǎn)采用8鄰 域法,采用以下方法確定所述條件: a) 判斷端點(diǎn):當(dāng)8附近的每兩個相鄰存在兩個不一樣的值時,這時的處理用數(shù)組2記 下點(diǎn)的數(shù)量,同時把該點(diǎn)記作為〇,將它的8鄰域點(diǎn)記作為1 ; b) 判斷分叉點(diǎn):當(dāng)附近的8鄰域兩兩相鄰?fù)瑫r有6個不一樣值,這時的解決方法為數(shù) 組1,在此基礎(chǔ)上記下點(diǎn)的數(shù)量,此時將該點(diǎn)記為0,同時將它的8鄰域點(diǎn)記為1。
[0010] 優(yōu)選的,所述匹配模式采用點(diǎn)模匹配法,首先修改原本的特征點(diǎn)距離,使得各個特 征點(diǎn)之間的相對距離各不相同;接著需要比對這些相對距離,找出其中的差異,前提條件是 要找到中心特征點(diǎn);當(dāng)這些差異滿足特定的條件時,則可以將對應(yīng)的點(diǎn)看做為可積點(diǎn);接 下來,需要判斷這些點(diǎn)的數(shù)量以及相對的差異值,當(dāng)數(shù)量達(dá)到特定要求時就可認(rèn)為匹配成 功。
[0011] 優(yōu)選的,所述指紋識別方法采用MATLAB進(jìn)行模擬仿真,采用的指紋庫來自國家居 民身份認(rèn)證指紋庫,建立兩個指紋庫,庫的大小為每組30張指紋圖像,均來自不同的人;第 一組指紋圖像用來試驗(yàn),第二組指紋圖像用來做匹配。
[0012] 本發(fā)明的優(yōu)點(diǎn)是: 本發(fā)明所提供的基于MATLAB的指紋識別方法,運(yùn)用了 Matlab工具設(shè)計(jì)了指紋識別中 的各個階段的處理算法,即預(yù)處理、特征點(diǎn)提取以及特征點(diǎn)匹配三大階段。使用Matlab工 具將細(xì)化之后的指紋中的特征點(diǎn)全部提取出來,同時去除在提取的過程中會產(chǎn)生大量的假 的特征點(diǎn),本發(fā)明所采用的方法是利用圖像中這些特征點(diǎn)的邊緣和距離兩個因素的差異, 最終就能提取出可靠的特征點(diǎn)。
【附圖說明】
[0013] 下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述: 圖1為本發(fā)明所述的基于MATLAB的指紋識別方法的流程圖; 圖2為本發(fā)明實(shí)施例所述的原指紋圖片; 圖3為本發(fā)明實(shí)施例所述的歸一化后的指紋圖片; 圖4為本發(fā)明實(shí)施例所述的分割后的指紋圖片; 圖5為本發(fā)明實(shí)施例所述的細(xì)化后的指紋圖片; 圖6為本發(fā)明實(shí)施例所述的提取特征點(diǎn)后的指紋圖片。
【具體實(shí)施方式】
[0014] 實(shí)施例: 指紋識別主要由指紋原圖像讀取、原圖像預(yù)處理、特征點(diǎn)提取、特征點(diǎn)匹配四個部分構(gòu) 成。其中指紋圖像的預(yù)處理也可分為幾個小部分:指紋圖像歸一化、分割、細(xì)化。同時對預(yù) 處理后含有噪音、毛刺的圖片進(jìn)行相應(yīng)的去噪處理。本發(fā)明采用Matlab來實(shí)現(xiàn)各個指紋圖 像功能模塊的算法,以及對不足之處的修正方法和相應(yīng)的修正結(jié)果。
[0015] 如圖1所示,本發(fā)明一種基于MATLAB的指紋識別方法,包括步驟: 51、 采集指紋,準(zhǔn)備需要識別的指紋的原圖像; 52、 對指紋的原圖像進(jìn)行預(yù)處理,所述預(yù)處理包括先后對圖像進(jìn)行圖像分割、圖像歸一 化、圖像二值化和圖像細(xì)化處理;在此操作中會產(chǎn)生干擾噪聲,還需去除此類噪聲; 53、 在步驟S2的基礎(chǔ)上,