




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、指紋識別算法的matlab實現(xiàn)摘 要 由于指紋所具有的普遍性,唯一性和不變性,以及指紋識別技術(shù)具有很高的可行性和實用性,使之成為目前最流行、也最可靠的個人身份認(rèn)證技術(shù)之一。本文主要對指紋圖像進(jìn)行三方面處理:圖像預(yù)處理、特征提取和特征匹配。圖像預(yù)處理包括四個步驟:圖像分割、濾波增強、二值化、細(xì)化,對指紋圖像進(jìn)行預(yù)處理后,去除了原圖像的冗余部分,方便后續(xù)的識別處理;特征提取主要是提取指紋圖像細(xì)化后的端點和分叉點;特征匹配是利用兩個指紋的圖像進(jìn)行特征點比較,來確定兩幅圖像是否來自于同一手指。本文給出了指紋圖像預(yù)處理、特征提取、特征匹配的matlab程序及處理結(jié)果。該結(jié)果證明,用matlab實現(xiàn)的這些
2、算法的處理結(jié)果比較理想,滿足識別的可行性和應(yīng)用性。關(guān)鍵詞 分割,二值化,細(xì)化,特征點提取,匹配,MatlabAbstract1 / 53Because of the universality, uniqueness and constantness of a fingerprint, and fingerprint identification technology has very high feasibility and practical applicability, make it to be one of the most popular, and most reliable per
3、sonal identity authentication technology.This paper focuses on three aspects of the fingerprint image processing:image preprocessing, feature extraction, feature matching. Image preprocessing including four steps: image segmentation, filtering, binary, Refining, after The fingerprint image preproces
4、sing, in addition to the original image of redundancy part, convenient subsequent identification processing; The main feature extraction is extracted from the end of the fingerprint image after thinning and bifurcation point; Feature matching is use two fingerprint image feature point is to determin
5、e whether the two images from the same finger.This paper provides the fingerprint image preprocessing, feature extraction, feature matching use matlab and handling results, The results prove that these algorithms had ideal results be used by matlab, Be satisfied with the recognition and feasibility
6、of the application. Key Words: Segmentation, Binary, Refining, Feature point extracting, Matching, Matlab目錄第1章 緒論41.1 指紋識別概述41.1.1 研究背景及意義41.1.2 國內(nèi)外研究狀況51.2指紋識別的原理和方法51.2.1 指紋的基本知識51.2.2 指紋識別的原理及應(yīng)用71.3 Matlab在指紋識別中的應(yīng)用8第2章 指紋圖像預(yù)處理92.1圖像的分割92.1.1 圖像歸一化102.1.2 圖像分割的方向法112.1.3 圖像分割的方差法122.2 圖像的二值化132.2.
7、1 方向圖132.2.2 指紋圖像二值化142.2.3 靜態(tài)閾值二值化152.2.4 基于方向場的二值化152.3 指紋圖像的濾波172.4 圖像細(xì)化202.4.1 快速細(xì)化算法212.4.2 改進(jìn)的OPTA算法21第3章 圖像特征提取和特征匹配253.1 特征點提取253.2 找出特征點253.3 特征點匹配26總結(jié)與展望30致 謝31參考文獻(xiàn)32附錄A 預(yù)處理代碼33附錄B 特征點提取代碼37附錄C 圖像特征點代碼39附錄D 特征點匹配代碼42 第1章 緒論1.1 指紋識別概述21世紀(jì)是信息化時代,在這個特殊的時代,我們的生活中電子設(shè)備越來越多,比如,筆記本電腦,ATM取款機(jī),考勤系統(tǒng),門
8、禁系統(tǒng)和各種智能卡,網(wǎng)絡(luò)中的網(wǎng)上銀行,人人網(wǎng)賬號等,都需要驗證身份。對個人身份識別技術(shù)的要求不斷提高,如果沒有安全可靠和快捷的身份識別技術(shù),電子商務(wù)、網(wǎng)上購物等就存在重大隱患。目前許多身份驗證系統(tǒng)都采用“用戶名+密碼”的方式來進(jìn)行用戶訪問控制1,但此方法存在諸多隱患,比如密碼被竊取、破解或遺忘。因此我們在與機(jī)器交互時急需一種準(zhǔn)確、安全快捷的識別技術(shù)來取代現(xiàn)有的身份驗證。1.1.1 研究背景及意義因為人的一些特殊的生物特征,人們把身份認(rèn)證技術(shù)的目光轉(zhuǎn)向了生物特征的識別技術(shù)。生物識別技術(shù)是利用人體生物特征進(jìn)行身份認(rèn)證的一種技術(shù),它主要有指紋、手形、臉形、聲音、虹膜、視網(wǎng)膜、簽名、掌紋、和臉部熱譜圖
9、等,在生物識別技術(shù)中指紋識別技術(shù)是目前相對成熟的一種。1.1.2 國內(nèi)外研究狀況指紋是人特有的一種特征,在中國的研究也有近百年的歷史,中國被認(rèn)為是世界上最早應(yīng)用指紋識別技術(shù)的國家,指紋識別技術(shù)從很早以前的人工比對到現(xiàn)如今采用先進(jìn)的計算機(jī)技術(shù)實現(xiàn)指紋的識別,使得指紋對比比以前更加準(zhǔn)確,識別效率得到了非常大的提高。在國外,經(jīng)過幾十年的發(fā)展,指紋識別技術(shù)的軟件和硬件相對來說都比較成熟。在很多國家內(nèi),政府用法律強制性的規(guī)定來保證生物識別技術(shù)的應(yīng)用。所以總體上來說,國外的指紋識別應(yīng)用己經(jīng)進(jìn)入了正規(guī)的應(yīng)用階段。但是在國內(nèi),經(jīng)過了十多年的發(fā)展,指紋識別的一些關(guān)鍵算法是有了較大的提高和發(fā)展,但是距離國外的優(yōu)秀
10、算法仍然有非常大的差距,因此國內(nèi)的應(yīng)用現(xiàn)在處于發(fā)展的初期,應(yīng)用主要集中在自發(fā)性的企業(yè)上。指紋識別的應(yīng)用前景是非常廣闊的,它的應(yīng)用將滲透到社會生活,經(jīng)濟(jì)貿(mào)易的每一個角落,將成為保護(hù)我們個人以及國家信息的重要手段。 1.2指紋識別的原理和方法1.2.1 指紋的基本知識指紋是我們各個手指的第一個指節(jié)的指頭表面突起的脊線;而脊線是手指突起的花脊線條;谷線是兩個脊線之間低凹下去的部分;指印是指紋在物體表面留下的痕跡;指紋的細(xì)節(jié)特征是指紋固有的自身特點。根據(jù)指紋中的細(xì)節(jié)特征我們常將指紋特點分為端點和分叉點,如圖1-1所示。圖1-1 端點、分叉點英國科學(xué)家Gallon在1892年的Fingerprint一書
11、中提出了指紋的四條基本性質(zhì)。(1)確定性:指紋脊線的輪廓和細(xì)節(jié)特征是在人的一生中基本上保持不變。自胚胎六個月到出生至死亡腐敗之前,始終是沒有很大變化的。指紋的確定性,還表現(xiàn)在它具有一定的復(fù)原性和難于毀滅的特性。(2)唯一性:由于指紋脊線的連接關(guān)系千變?nèi)f化,因此,即使兩個不同的指紋有著相同的輪廓和相同數(shù)量的細(xì)節(jié)特征,它們的細(xì)節(jié)位置也是不可能完全相同的。(3)可分類性:指紋可根據(jù)脊線和谷線的走向進(jìn)行分類,一般可分為如圖1-2所示的弓形、環(huán)形和螺旋形。 (a)弓形 (b) 環(huán)形 (c)螺旋形圖1-2 指紋類型(4)留痕性:指紋接觸物體后會留下痕跡。指紋的這個特點,是與手掌表面附著面的污垢的性能緊密相
12、關(guān)的。正是因為這些獨特的性質(zhì),指紋被國內(nèi)外的刑偵界稱為“證據(jù)之首”。一切指紋的自動識別系統(tǒng),都是根據(jù)這些獨特的性質(zhì),進(jìn)行身份的識別和確認(rèn)的。脊線是指紋的一個非常突出的特征,指紋的脊線一般由弓形線、環(huán)形線、箕形線、螺形線、曲形線和棒形線等脊線組成,每種脊線具有不同的細(xì)節(jié)和長度,如圖1-3所示2。圖1-3 脊線的一般形態(tài)1.2.2 指紋識別的原理及應(yīng)用在指紋識別的技術(shù)中, 一般都采用總體特征和局部特征來進(jìn)行識別??傮w特征是那些很容易就能看出來的非常明顯的特征, 局部特征則是一小塊指紋中的細(xì)節(jié)特征。指紋紋路一般都會有斷點和分叉點, 因此會形成一些獨特的節(jié)點。根據(jù)研究,兩個指紋的總體特征有時候會很相似
13、,但是局部特征是不會相同的,即沒有兩個指紋的紋路是相同的。英國學(xué)者E.G.Herry認(rèn)為, 只要有13個特征點能重合, 就可以確認(rèn)這兩枚指紋是同一指紋3。指紋的面積雖然不大但卻蘊含著大量的識別信息。這些皮膚的紋路會在交叉點,斷點上有很大的區(qū)別。在指紋識別的過程中將其稱為“特征點”,利用特征點的性質(zhì),我們可以把一個人的指紋同預(yù)先存儲起來的指紋模版對比來驗證他的真實身份。指紋識別技術(shù)主要包括三大部分:指紋圖像采集、指紋預(yù)處理、特征提取與匹配。如圖1-4所示。 圖1-4 指紋識別流程指紋作為人類與生俱來的特征,因為其獨有的特性而成為具有法律地位的有力證據(jù)。一切需要身份確認(rèn)的場所,都有它的蹤影,如金融
14、證券類的ATM指紋終端、指紋保險箱等、IT類的計算機(jī)的系統(tǒng)密碼驗證、網(wǎng)絡(luò)安全等、安防類的門禁系統(tǒng)等、醫(yī)療類的個人醫(yī)療檔案驗證等、福利類的醫(yī)療確認(rèn)、福利確認(rèn)等,因此指紋識別在許多行業(yè)的應(yīng)用系統(tǒng)中都具有廣闊的應(yīng)用前景。1.3 Matlab在指紋識別中的應(yīng)用 Matlab是一種高級的計算機(jī)語言, 具有獨特的數(shù)學(xué)運算能力是matlab語言最突出的優(yōu)點。許多在其他語言中描述起來很復(fù)雜的問題在matlab語言編程中卻只需要一條專用的指令就可以完成。Matlab語言的所有計算都是基于矩陣的,所以matlab中的所有變量都被定義為矩陣, 它是一種解釋型語言, 因此幾乎沒有語法格式上的限制。基于matlab實現(xiàn)
15、指紋圖像算法及仿真驗證不僅有較高的準(zhǔn)確率, 而且減小了仿真難度。第2章 指紋圖像預(yù)處理圖像預(yù)處理是對原始圖像進(jìn)行的一種前期處理,方便后續(xù)的模塊識別。無論采用何種方式獲取的指紋圖像, 都有一部分由于質(zhì)量原因, 不能被系統(tǒng)直接識別,因此圖像的預(yù)處理就顯得非常有必要。指紋圖像的預(yù)處理目的就是將自己感興趣的目標(biāo)區(qū)域保留下來,去除背景區(qū)域和沒有用的部分,同時根據(jù)指紋目標(biāo)區(qū)域中脊線的結(jié)構(gòu)特征,采取較好的濾波方法,提高指紋脊線清晰度,平滑脊線邊緣的毛刺和空洞,抑制圖像噪聲,保證指紋特征的可靠提取,并使灰度圖像轉(zhuǎn)化成黑白的二值圖像,最終得到脊線結(jié)構(gòu)清晰的單像素寬的二值圖像。本文預(yù)處理的主要流程如圖2-1所示。
16、圖2-1 預(yù)處理流程 2.1圖像的分割圖像分割是從一幅圖像中按一定規(guī)則將一些物體或區(qū)域加以分離,劃分出我們感興趣的部分或區(qū)域。經(jīng)過分割后的圖像更容易進(jìn)行進(jìn)一步的分類、分析和識別處理。圖像分割要在指紋二值化和濾波及細(xì)化之前進(jìn)行,如此可以減少計算的冗余量,提高指紋檢測速度。采集到的指紋內(nèi)容分為目標(biāo)區(qū)域和背景區(qū)域。在指紋圖像中,由脊線和谷線組成的較清晰的部分,稱之為目標(biāo)區(qū)域;沒有用的部分我們稱之為背景區(qū)域。指紋識別中的分割就是將有用的目標(biāo)區(qū)域分割出來,去掉沒用的背景區(qū)域,以避免背景區(qū)域的各種干擾。指紋圖像可分為四類區(qū)域:背景區(qū)、不可恢復(fù)區(qū)、可恢復(fù)區(qū)、清晰區(qū),如下圖2.2所示。圖2-2 指紋圖像的四種
17、區(qū)域2.1.1 圖像歸一化對指紋圖像進(jìn)行分割處理,消除剩下的背景區(qū)域前,首先要進(jìn)行圖像歸一化。對采集好的指紋圖像進(jìn)行歸一化處理,是對指紋灰度圖的灰度均值和方差做一次調(diào)整,使得不論用什么設(shè)備采集的指紋圖像都可以有預(yù)期的方差和均值,從而屏蔽不必要的噪聲。指紋歸一化不改變指紋質(zhì)量,只是方便指紋的后續(xù)處理并保證程序運行時收斂加快。由于不同指紋區(qū)域的手指壓力和強度不同,所以將指紋分為W*H小塊,設(shè)圖像中像素點的灰度值為I(i,j),歸一化后的圖像G(i,j)來表示,灰度平均值和方差分別用和來表示,則歸一化算法如下4:(1)先計算出圖像灰度的平均值和方差: (2-1) (2-2)(2)指定期望的圖像方差和
18、平均值后,算出歸一化后的圖像G(i,j): (2-3)其中,為期望的平均值和方差(一般=150,=2000)。Matlab程序見附錄A。圖 2-3 歸一化圖像2.1.2 圖像分割的方向法這一方法是基于指紋方向信息的分割方法,它是利用了指紋的脊線和谷線所蘊藏的平行方向信息來分割的,該方法的優(yōu)點是:適合有污漬的指紋,但缺點是因為依賴脊線的方向,所以脊線不連續(xù)時將被識別為背景區(qū)域,難以取得滿意效果。且計算復(fù)雜,處理時間很長,不適宜實際使用。2.1.3 圖像分割的方差法方差法5:傳統(tǒng)的分割算法都是基于圖像局部灰度方差的分割方法(即方差法),一般地,目標(biāo)區(qū)域中指紋脊和谷的灰度差是較大的,因而其局部灰度方
19、差也較大;對于圖像背景區(qū)域,方差值則是較小的。基于這一基本特性,可利用圖像的局部方差對指紋圖像進(jìn)行分割。該方法的優(yōu)點:算法簡單,計算速度快,如果采集到的指紋質(zhì)量好,則分割效果不錯;缺點:對質(zhì)量較差的指紋,該方法分割效果不是很理想,如當(dāng)指紋背景區(qū)域有污漬時, 這些區(qū)域的方差也比較大,用方差法分割時就不能被有效地分割出去。改進(jìn)后的方差法:為了解決上述問題,可以在方差法分割的基礎(chǔ)上進(jìn)行開運算和閉運算操作,該算法繼承了方差法的優(yōu)點且又克服了易受噪聲影響的缺陷。把指紋的圖像分成3*3塊,將歸一化處理后的圖像進(jìn)行分割的具體算法步驟如下:(1)利用式(2-1)和式(2-2)對指紋的小塊求灰度平均值和方差,設(shè)
20、定一閾值T,因為是3*3模塊,所以是在8鄰域中,即T=4,若>4,則該小塊作為目標(biāo)留下,并把該塊標(biāo)示為1,存放于矩陣A中;若<4,則該塊作為背景去掉,并把該塊標(biāo)示為0,同樣存在矩陣A中;(2)以作為結(jié)構(gòu)元素對已知的二值矩陣A做開運算,可得到矩陣B;(3) 以為結(jié)構(gòu)元素對二值矩陣B做閉運算,得到矩陣C,矩陣C為一個二值矩陣(只包含1和0),對應(yīng)元素為1的作為目標(biāo)留下,對應(yīng)元素為0的作為背景去除。該算法的第(1)步與方差法的算法一致,第(2)、(3)步驟利用數(shù)字圖像處理中的開運算與閉運算處理,其原理為:開運算(先腐蝕后膨脹)用來消除小物體、在纖細(xì)點處分離物體,去除被誤當(dāng)成目標(biāo)的背景塊;
21、閉運算(先膨脹后腐蝕)用來填充物體內(nèi)細(xì)小空洞、連接鄰近物體,恢復(fù)指紋背景中被誤當(dāng)成背景而去除的目標(biāo)塊。Matlab程序見附錄A。結(jié)果圖如下: 圖 2-4 圖像分割2.2 圖像的二值化2.2.1 方向圖因為許多二值化算法和增強濾波算法都用到了方向圖,因此方向圖的計算對后續(xù)的各種算法都有很大幫助。指紋圖像有著自己獨特和固有的特征,其中指紋的方向性、紋理性都很強,可以看作是一個流狀模型,該模型可以用方向圖來具體表示。方向圖描述了指紋圖像中的像素點、小塊指紋所在處的脊線或谷線的切線方向,因為指紋圖像在一塊不大的區(qū)域內(nèi)的指紋方向幾近相同,因此在計算中,一般以該點所在的小塊方向來代替該像素點的方向。 為方
22、便認(rèn)知,以指紋圖像為模板,畫一環(huán)形區(qū)域來表示指紋,其中,扇形區(qū)域中的小塊表示指紋被分塊后的小塊。全局信息如下圖2-5所示:圖 2-5 指紋小塊模型方向圖計算的基本思想: 在原灰度的指紋圖像中計算每小塊在每個方向上的統(tǒng)計量, 由這些統(tǒng)計量在每個小塊方向上的差異來確定該小塊的方向。2.2.2 指紋圖像二值化二值化就是將圖像上的像素點的灰度值設(shè)置為0或1,也就是將整個圖像呈現(xiàn)出明顯的黑白視覺效果。指紋圖像中包括目標(biāo)和背景還有眾多噪聲,要想從原始的指紋圖像中提取出目標(biāo),一般用的方法是設(shè)定一個閾值T,用T將圖像中像素數(shù)據(jù)分成兩部分,若輸入灰度圖像的函數(shù)為: (2-4)通過求解閾值T,從而把圖像f(x,y
23、)分成目標(biāo)和背景兩個區(qū)域,其中大于T的像素群為目標(biāo)區(qū)域,小于等于T的像素群為背景區(qū)域,閾值的選取原則是:(1)盡可能的多保存圖像信息;(2)盡可能的減少噪聲。本文將討論兩種二值化方法,選取其中一個作為效果最好的算法。2.2.3 靜態(tài)閾值二值化靜態(tài)閾值二值化是根據(jù)灰度圖像的直方圖為整幅圖像來確定一個閾值,也可以根據(jù)相關(guān)經(jīng)驗來確定閾值,閾值的確定一般分為兩種:(1)人工設(shè)定閾值:該方案是根據(jù)實驗或經(jīng)驗設(shè)置一個固定的閾值,然后對每個像素按照式來進(jìn)行二值化處理。 (2)按照直方圖確定閾值:利用原灰度圖像分部的直方圖來確定,設(shè)灰度值f取值是0255之間的整數(shù),f=0為黑色,f=255為白色,表示灰度值為
24、k的概率,表示灰度值為k的像素的個數(shù),n為像素的個數(shù)。則有公式如下: (2-5)通常以為縱坐標(biāo),為橫坐標(biāo)的圖像為指紋灰度圖的直方圖,該算法的直方圖有兩個峰值,對應(yīng)目標(biāo)和背景,閾值取雙峰的波谷的值,且雙峰越陡,二值化效果越好。該算法速度快,簡單且易于理解,但效果較差。2.2.4 基于方向場的二值化采集到的指紋圖像一般都有比較清晰的方向場,方向場估計得準(zhǔn)確與否直接決定了圖像二值化算法的效果。為估計方向場,我們把指紋脊線的走向分為如下8個方向,如圖2-6所示:圖 2-6 一個像素處的8個指紋脊線方向我們先對分割后的圖像進(jìn)行了平均濾波,然后對圖像的每一個像素,為確定在該像素處的脊線方向,在以該像素為中
25、心的9*9窗口內(nèi),分別計算8個方向上的經(jīng)過處理后的灰度值,即將圖2-6中數(shù)字1到8的位置的像素灰度值去除其中最大summax和最小值summin,若滿足最大的summax和最小的summin與 4*I(x,y)之和大于 (3*summ/8),則該像素點的脊線方向為summin,否則為summax.確定完脊線方向后再由該方向場對圖像進(jìn)行二值化。二值化的matlab程序見附錄A。結(jié)果如下:圖 2-7 指紋二值化2.3 指紋圖像的濾波 一個優(yōu)秀的指紋識別系統(tǒng)不僅需要高的識別準(zhǔn)確度,還需要高的識別速度,而影響識別速度的最主要因素就是指紋圖像的濾波,而濾波的好壞直接因素是增強濾波的算法,當(dāng)然跟所使用的軟
26、件和硬件也有很大的關(guān)系。圖像在當(dāng)前的采集設(shè)備條件下,不可避免的會受到環(huán)境和自身因素的影響,指紋圖像質(zhì)量低的主要原因有:(1)存在擦傷或創(chuàng)傷的傷痕所引起的脊線中斷或變的不清晰;(2)指紋干燥所引起指紋圖像印痕模糊,導(dǎo)致脊線和谷線的對比度比較差;(3)污漬導(dǎo)致指紋圖像的脊線或谷線粘連和斷裂。這些圖像噪聲對后續(xù)的指紋提取帶來很大的困難,因此必須要在指紋二值化和細(xì)化之前進(jìn)行圖像增強濾波,圖像增強的目的:減弱原始圖像的噪聲,增強脊線和谷線的對比度,即修補指紋圖像脊線中斷裂的部分,去除指紋圖像中脊線或谷線的叉連部分,從這些原指紋圖像中盡可能多的獲取清晰的指紋紋路結(jié)構(gòu),以保證指紋提取的可靠性。指紋圖像的增強
27、濾波有很多的算法,本文就一種圖像濾波器算法進(jìn)行闡述。上下文濾波器:該算法也是基于脊線紋路和紋理的方向圖的,但是這種算法比較簡單且效果良好,使用時用的濾波器要根據(jù)具體的某一塊指紋脊線的方向從一系列的濾波器中選擇一個合理的濾波器來對要進(jìn)行濾波的指紋進(jìn)行濾波,其它塊的指紋圖像濾波則可以通過已用過的濾波器旋轉(zhuǎn)得到。一個基本增強濾波器主要由可將脊線中的斷點連接起來的平均濾波器和可將脊線分叉點去除的分離濾波器組成。指紋圖像中脊線的一個周期(即一脊一谷)可以決定增強濾波器的大小,一般地周期T=5,本文中選擇5*5的濾波器,平均濾波器在水平方向上的權(quán)值可以用下圖2-8來表示。 圖 2-8 平均濾波器水平方向權(quán)
28、值 圖 2-9 分離濾波器水平方向權(quán)值(其中A>B>C>=0;P+2Q+2R=0)。二值化后的指紋圖像通過平均濾波器的處理,其每一點灰度值由它臨近的二十四個(因為是5*5的濾波器)像素的灰度值決定,因此可以用下式來對f(i,j)(第i行和第j列的灰度值)進(jìn)行處理9: (2-6)平均濾波的原理如下:對于脊線中的斷點我們采用平均濾波器。斷點處脊線的灰度值要比周圍的灰度值小,經(jīng)過平均濾波器的處理,它的灰度值就大約等于周圍的灰度值,因此二值化后的指紋中斷裂的脊線就會被連起來。對于脊線中的分叉點我們采用分離濾波器。脊線中叉連點的兩端灰度值比中間的要稍微大一些,經(jīng)過分離濾波器的處理,叉連
29、點處的灰度值就會降下來,脊線中的叉連點就會被去除了。脊線的斷裂和叉連點如圖2-10所示:圖2-10 斷裂與叉連因此選擇增強濾波器的時候必須要具有類似平均濾波器和分離濾波器作用的增強濾波器,分離濾波器的權(quán)值可以用下圖2-9來表示,并且可以得到一般濾波器的權(quán)值如圖2-11。圖 2-11 上下文濾波器的權(quán)值參數(shù)滿足K =A+P,L =B+Q,M =C+R。上下文濾波器中的平均濾波器起到了去除空洞的作用,分離濾波器起到了去除毛刺的作用。算法實現(xiàn)的matlab程序見附錄A。結(jié)果如圖2-12和圖2-13: 圖 2-12 去除毛刺圖 2-13 去除空洞2.4 圖像細(xì)化分割和濾波后的指紋圖像再進(jìn)行二值化處理后
30、,脊線仍然有一定的寬度,指紋識別的匹配是只利用圖像的點或線的特征,這些點或者特征只與脊線的走向或者紋理有關(guān)系,有一定寬度的二值化圖像顯得有些多余,所以需要對二值化圖像進(jìn)行細(xì)化處理,指紋二值化圖像經(jīng)過細(xì)化處理即可得到一個單一像素寬度的脊線,經(jīng)過上述的細(xì)化處理,在后續(xù)的指紋特征提取和特征匹配的算法中大大的減少了計算的冗余量和出錯率,使得指紋識別的速度和準(zhǔn)確度有了很大的提高。細(xì)化目的是在不破壞指紋圖像連通性的情況下去除掉多余的信息(即多余的像素點),將二值化的指紋圖像的脊線采用逐層剝離的方法,將圖像中的指紋脊線細(xì)化成單象素寬(實際為保存原圖的骨架)。一個好的指紋細(xì)化算法必須在不破壞指紋紋理性和連通性
31、的情況下細(xì)化成單像素脊線。總體來說,細(xì)化算法應(yīng)滿足(1)盡量保持原圖像的基本機(jī)構(gòu)特性(如脊線的形態(tài));(2)盡量以脊線的中軸線或者指紋的中心為重心;(3)從指紋脊線的兩面對稱的刪除;(4)保證細(xì)化完后的指紋圖像是單個像素的;(5)對邊緣上噪聲不應(yīng)該敏感;(6)算法簡單且實用。2.4.1 快速細(xì)化算法快速細(xì)化算法的原理為先判斷出指紋的邊緣,并沿著脊線的邊緣對稱的逐步刪除像素,直至刪除的剩下單個像素。該算法速度快但不徹底。它的算法為(1)遍歷整個指紋的圖像,找出指紋圖像脊線的邊界點(圖2-14中的X的八鄰域為到)。脊線上每一點的八鄰域,脊線端點的八鄰域中只有一個目標(biāo)點,脊線連續(xù)點的八鄰域有兩個目標(biāo)
32、點,分叉點有三個目標(biāo)點,且每點八鄰域最多只有三個目標(biāo)點,符合上述條件的才為單像素寬。圖 2-14 X點的八鄰域(2)當(dāng)X點周圍的點多于三個目標(biāo)點時,將多余的點刪除,依次刪除到剩下三個時判斷該點是否為分叉點,不是再刪除,剩下兩個點時,判斷是否為連續(xù)點,不是時刪除,當(dāng)為一個點時不刪除。(3)循環(huán)尋找,直到?jīng)]可刪除的點為止。2.4.2 改進(jìn)的OPTA算法常用的傳統(tǒng)細(xì)化算法還有OPTA算法10(基于模板的圖象細(xì)化算法),原理為構(gòu)造兩個模板:一消除模板和一保留模板,將指紋圖像二值化后與這兩個模板相比較,來決定是否刪除該像素,本文研究的是改進(jìn)后的OPTA算法,改進(jìn)后的OPTA算法的優(yōu)點是消除了原OPTA算
33、法算法中兩種模板不一致的問題。本算法采用統(tǒng)一的4*4模板,消除模板有八個,保留模板有六個,模板的結(jié)構(gòu)如下圖2-15,圖2-16,圖2-17所示。圖 2-15 OPTA算法的改進(jìn)模板(4*4)圖 2-16 消除模板(八個) 圖2-17 保留模板(六個)改進(jìn)后的OPTA算法的細(xì)化原理:從圖像(類似于4*4的模板中)左上角開始進(jìn)行,圖中的各個像素(如圖所示的元素,用P表示)抽取如圖2-15所示的總共十五個相鄰像素,其中的八個相鄰的像素(,)與圖2-15所示的消除模板(八個)相比較, 若都不匹配,則P保留,否則將抽取出來的元素和圖2-16的保留模板(六個)相比較,若與其中的一個匹配,則保留P,否則應(yīng)該
34、將P刪除。重復(fù)利用以上的操作,將所有圖像中的像素值進(jìn)行比較直至不變?yōu)橹埂4怂惴ㄊ前诉B通的算法,基本都能夠保證單像素的寬度。但該算法卻不能使分叉點處徹底的細(xì)化,同時也會產(chǎn)生部分毛刺。Matlab程序見附錄A。細(xì)化結(jié)果圖如圖2-18:圖2-18 細(xì)化圖根據(jù)實驗發(fā)現(xiàn),該方法處理弓形指紋效果較好,對于環(huán)形或螺旋形指紋的中心區(qū)域時會出現(xiàn)較多的毛刺和斷裂,如下圖2-19,這是其的缺點之一,為了很好的使其有實際應(yīng)用,有待改進(jìn)。圖 2-19 細(xì)化圖本章通過對指紋原圖像的分割,二值化,濾波和細(xì)化算法的分析比較,得出了一套比較實用和便捷的算法,并通過matlab仿真實現(xiàn)最終的結(jié)果,為后續(xù)的特征提取和匹配打下了基礎(chǔ)
35、。 第3章 圖像特征提取和特征匹配3.1 特征點提?。?)提取指紋的端點和交叉點端點和交叉點均是指紋圖像的兩個細(xì)節(jié)特征,同時在指紋識別的的過程中起著重要的作用,因為識別的首要前提就是找到圖像的所有端點和交叉點。先通過一p.m函數(shù)對八個鄰域的坐標(biāo)位置進(jìn)行定義,然后定義另一point.m函數(shù)來找出細(xì)化后指紋圖像的所有端點及交叉點。將八鄰域中的每個點依次兩兩相減并取其絕對值,后將所有結(jié)果加起來,因為端點處是兩個點,即和為2時細(xì)化圖像有端點,和為6時圖像特征為交叉點。運行完上面的p.m和point.m函數(shù)的程序后,能把細(xì)化圖像的的端點和交叉點全部找出。在定義函數(shù)的程序中有數(shù)組txy,其中t為橫坐標(biāo),x
36、為縱坐標(biāo),y為2時為端點,y為6時為交叉點。(2)去除圖像邊緣的端點可以看出,指紋圖像細(xì)化的邊緣,由于采集儀器不同的關(guān)系,因此不可避免的會多出很多的端點,這些端點不僅增加了后續(xù)的工作量,還可能導(dǎo)致識別過程中產(chǎn)生錯誤,所以要把這些邊緣的端點都去除,在matlab中這些操作都可以采用一函數(shù)來實現(xiàn),本實驗中設(shè)計了一cut函數(shù)來進(jìn)行處理。3.2 找出特征點設(shè)置三個函數(shù)來找出圖像的特征點:(1)single_point函數(shù)經(jīng)過去除邊緣端點的操作后進(jìn)一步減少了指紋細(xì)化圖像中的端點和交叉點的個數(shù)。下面就需要找出一些在細(xì)化圖像中比較獨特的端點來作為識別的特征點。在一幅細(xì)化的指紋圖像中,如果在一個像素(該像素為
37、端點)的周圍半徑為r(r為像素的個數(shù))的圓內(nèi)沒有任何的端點或者交叉點,那么隨著r的逐漸增大,這樣的點就會越來越少,因此該點也就越來越獨特。于是我們設(shè)計了一single_point函數(shù)來找出這樣獨特的點。(2)walk函數(shù)為了進(jìn)一步找出特征點,我們還需定義一walk函數(shù),它的主要作用就是判斷某一端點在num的距離內(nèi)是否還有其他的端點。(3)last1函數(shù)single_point函數(shù)和walk函數(shù)都是找細(xì)化圖像特征點的函數(shù),因此可以設(shè)計另一個新的last1函數(shù),通過執(zhí)行pxy3,error2=last1(thin,r,txy,num)可以找出一端點以r為半徑的像素內(nèi)的任何端點和交叉點且沿著脊線走向
38、的num內(nèi)沒有任何的其他端點和交叉點。3.3 特征點匹配由上文的函數(shù)可知,已經(jīng)找出了指紋細(xì)化圖像中的特征點,并畫出了一段獨特的脊線,在圖像中用紅色來標(biāo)示。下面就是指紋匹配12的問題了。在此我們設(shè)置了三層匹配。(1)脊線長度匹配對于上面的函數(shù)即可找出細(xì)化圖像中的特征點和一段脊線,沿著該段脊線走向,每隔五個像素測量一下,看到到原始端點的距離,此段距離由一distance函數(shù)得到。函數(shù)結(jié)果會得到一數(shù)組(內(nèi)有脊線的長度信息)。如果兩幅指紋細(xì)化圖像中的紋路是相同的,則它們就包含相同的端點和交叉點及用distance函數(shù)找出的相同的一段脊,則這兩個指紋圖像中的長度數(shù)組對應(yīng)的位置比例會基本相等(我們選擇的指
39、紋圖像大小基本相等,因此該比例選1),因此函數(shù)最終定義了一個數(shù)f=(sum(abs(d1./d2)-1),其中若f的值越接近于0,這兩幅圖像的匹配度就越高,在一定范圍的閾值內(nèi)我們可以認(rèn)定為匹配。(2)三角形邊長匹配找到一個指紋細(xì)化圖像的特征點后,可以找出距離這個端點距離最近的兩個端點或者交叉點,與這個指紋圖像細(xì)化的特征點構(gòu)成一個三角形,若兩幅圖像中的邊長比例基本相等(原理同上,也選1),則說明這兩幅圖像匹配,越接近于1說明這兩幅指紋圖像越匹配。其中設(shè)置一find_point函數(shù)來找出距離最近的端點或交叉點。函數(shù)最后定義了一個數(shù)ff=(sum(abs(dd1./dd2)-1),因此ff值越接近于
40、0,這兩幅指紋圖像的匹配度越高,在一定范圍的閾值內(nèi)我們可以認(rèn)定為匹配。(3)點類型匹配找到一個指紋細(xì)化圖像的特征點后,在該端點周圍找到四十個端點或者交叉點,統(tǒng)計在這四十個特征點中端點的個數(shù)和交叉點的個數(shù)。若有兩幅指紋細(xì)化圖像中的端點所占的比例近似相同,則兩幅圖像相匹配,越近似,則越相同。函數(shù)最終定義了一個數(shù)fff=abs(f11-f21)/(f11+f12),所以fff值越接近于0,這兩幅指紋圖像的匹配度就會越高。我們也設(shè)定一閾值,在此閾值內(nèi)都可以認(rèn)定為匹配。本文中取r=8,num=60,經(jīng)過試驗,得到f的閾值為0.5,ff的閾值為1.5,fff的閾值為0.2。即兩幅圖像的f,ff,fff若均
41、小于閾值,則兩幅圖匹配;若三個值中有至少一個值大于閾值,則不匹配。驗證如下:一、選擇兩幅圖:zhiwen.bmp和zhiwen5.bmp來驗證圖 3-1(a) 輸出的時間圖 3-1(b) 特征匹配通過以上的f,ff,fff和閾值的比較說明zhiwen.bmp和zhiwen5.bmp匹配,為同一手指的指紋,匹配時間為12.514525秒。二、選擇兩幅圖:zhiwen.bmp和zhiwen2.bmp來驗證圖 3-2(a) 輸出的時間圖 3-2(b) 特征匹配通過以上的f,ff,fff和閾值的比較說明zhiwen.bmp和zhiwen2.bmp不匹配,為同一手指的指紋,匹配時間為12.728871秒
42、??偨Y(jié)與展望該論文是在前人研究的基礎(chǔ)上,參閱了部分資料,并在劉文博老師的指導(dǎo)下認(rèn)真完成的,文中主要對指紋圖像預(yù)處理的各個步驟做了較為詳細(xì)的討論,并用matlab加以仿真和驗證。論文中的算法基本上能夠?qū)崿F(xiàn)指紋識別的預(yù)期目的,但是由于畢業(yè)設(shè)計的時間較短以及我的知識面的限制,有許多問題的考慮還不全面,有待于進(jìn)一步完善。本文中主要對圖像預(yù)處理進(jìn)行了分析比較,最后得到了一套比較合適的算法,但通過實驗驗證可發(fā)現(xiàn)比對時間比較長,有待于進(jìn)一步改進(jìn)。在指紋特征點的提取和匹配的過程中,均設(shè)置了一個函數(shù)來實現(xiàn)算法,實現(xiàn)的過程的時間也相對較長,也可以用其他的語言來實現(xiàn)。 致 謝時光如梭,隨著畢業(yè)論文的完成,我的大學(xué)生
43、涯也就要結(jié)束。回想我做畢業(yè)設(shè)計這段時間里,我的指導(dǎo)老師劉文博,對我耐心指導(dǎo),嚴(yán)格要求,精益求精,在此致以最深的謝意。在撰寫論文的這段時間里,我學(xué)到了很多我之前不懂的一些專業(yè)知識和技能,鍛煉了我思考能力和操作能力,對我大學(xué)四年的學(xué)習(xí)有了一個比較全面系統(tǒng)的整理。在畢業(yè)設(shè)計的完成過程中,室友和班上的所有同學(xué),他們給我提供了有益的幫助、良好的學(xué)習(xí)和生活環(huán)境,非常感謝他們。參考文獻(xiàn)1 李俊山,李旭.數(shù)字圖像處理.北京:清華大學(xué)出版社,2007.42 阮秋琦.數(shù)字圖像處理學(xué).北京:電子工業(yè)出版社,2001.13 祝恩,版建平等.自動指紋識別技術(shù).長沙:國防科技大學(xué)出版社,2006.54 查振元、朱華炳電子
44、門禁系統(tǒng)組成.機(jī)電產(chǎn)品開發(fā)與創(chuàng)新.2003,(2):13145 胡士斌,楊衛(wèi)平. 指紋圖像復(fù)合分割算法研究J. 計算機(jī)工程與應(yīng)用, 2006,40(12): 71273.6 李建華,馬小妹,郭成安,基于方向圖的動態(tài)閩值指紋圖像二值化方法.大連理工大學(xué)學(xué)報.2002,42(5):626-6287 家鋒,唐降龍,趙泉.一個基于特征點匹配的聯(lián)機(jī)指紋鑒別系統(tǒng).哈爾濱工業(yè)大學(xué)學(xué)報,2002,34(1):132-1368 劉文星,王肇圻,母國光脊線跟蹤及其在細(xì)化指紋后處理中的應(yīng)用J光電子,激光,2002,13(2):1841879 王瑋著,自動指紋識別系統(tǒng)關(guān)鍵技術(shù)研究,重慶,重慶大學(xué)光電工程學(xué)院,2007
45、,80-8210 羅希平,田捷.自動指紋識別的圖像增強和細(xì)節(jié)匹配算法.軟件學(xué)報,2002-5,13(5): 946-95611 姜騰云指紋識別門禁系統(tǒng)的matlab仿真實現(xiàn)江門:五邑大學(xué),201112 喬治宏.基于細(xì)節(jié)結(jié)構(gòu)的指紋特征提取及匹配算法研究.北京:北京工業(yè)大學(xué)碩士學(xué)位論文,2004-5. 附錄A 預(yù)處理代碼function img = tuxiangyuchuli(path)M=0;var=0;I=double(imread(path);m,n,p=size(I);for x=1:m for y=1:n M=M+I(x,y); endendM1=M/(m*n);for x=1:m f
46、or y=1:n var=var+(I(x,y)-M1).2; endendvar1=var/(m*n);for x=1:m for y=1:n if I(x,y)>=M1 I(x,y)=150+sqrt(2000*(I(x,y)-M1)/var1); else I(x,y)=150-sqrt(2000*(M1-I(x,y)/var1); end endendfigure, imshow(I(:,:,3)./max(max(I(:,:,3);title(歸一化)%*M =3; %3*3H = m/M; L= n/M;aveg1=zeros(H,L);var1=zeros(H,L); %計
47、算每一塊的平均值for x=1:H; for y=1:L; aveg=0;var=0; for i=1:M; for j=1:M; aveg=I(i+(x-1)*M,j+(y-1)*M)+aveg; end end aveg1(x,y)=aveg/(M*M); %計算每一塊的方差 for i=1:M; for j=1:M; var=(I(i+(x-1)*M,j+(y-1)*M)-aveg1(x,y).2+var; end end var1(x,y)=var/(M*M); endendGmean=0;Vmean=0;for x=1:H for y=1:L Gmean=Gmean+aveg1(x,
48、y); Vmean=Vmean+var1(x,y); endendGmean1=Gmean/(H*L); %所有塊的平均值Vmean1=Vmean/(H*L); %所有塊的方差gtemp=0;gtotle=0;vtotle=0;vtemp=0;for x=1:H for y=1:L if Gmean1>aveg1(x,y) gtemp=gtemp+1; gtotle=gtotle+aveg1(x,y); end if Vmean1<var1(x,y) vtemp=vtemp+1; vtotle=vtotle+var1(x,y); end endendG1=gtotle/gtemp;
49、V1=vtotle/vtemp; gtemp1=0;gtotle1=0;vtotle1=0;vtemp1=0;for x=1:H for y=1:L if G1<aveg1(x,y) gtemp1=gtemp1-1; gtotle1=gtotle1+aveg1(x,y); end if 0<var1(x,y)<V1 vtemp1=vtemp1+1; vtotle1=vtotle1+var1(x,y); end endendG2=gtotle1/gtemp1;V2=vtotle1/vtemp1; e=zeros(H,L);for x=1:H for y=1:L if aveg1
50、(x,y)>G2 && var1(x,y)<V2 e(x,y)=1; end if aveg1(x,y)< G1-100 && var1(x,y)< V2 e(x,y)=1; end endend for x=2:H-1 for y=2:L-1 if e(x,y)=1 if e(x-1,y) + e(x-1,y+1) +e(x,y+1) + e(x+1,y+1) + e(x+1,y) + e(x+1,y-1) + e(x,y-1) + e(x-1,y-1) <=4 e(x,y)=0; end end endend Icc = one
51、s(m,n);for x=1:H for y=1:L if e(x,y)=1 for i=1:M for j=1:M I(i+(x-1)*M,j+(y-1)*M)=G1; Icc(i+(x-1)*M,j+(y-1)*M)=0; end end end endendfigure, imshow(I(:,:,3)./max(max(I(:,:,3);title('分割');%*temp=(1/9)*1 1 1;1 1 1;1 1 1; % 模板系數(shù)、均值濾波 Im=double(I); In=zeros(m,n);for a=2:m-1; for b=2:n-1;In(a,b)=Im(a-1,b-1)*temp(1,1)+Im(a-1,b)*temp(1,2)+Im(a-1,b+1)*temp(1,3)+Im(a,b-1)*temp(2,1)+Im(a,b)*temp(2,2)+Im(a,b+1)*temp(2,3)+Im(a+1,b-1)*temp(3,1)+Im(a+1,b)*temp(3,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能停車系統(tǒng)招標(biāo)合同(2篇)
- 2025年版自建房屋買賣合同范本
- 2025屆高三押題信息卷(一)歷史及答案
- 2025年人教版小學(xué)數(shù)學(xué)一年級上冊期末考試試題(帶答案)
- 新質(zhì)生產(chǎn)力蘿卜快跑
- 2025商業(yè)綜合體排水系統(tǒng)施工合同
- 2025年社會工作者之中級社會工作法規(guī)與政策??寄M試題(全優(yōu))
- 2025年投資項目管理師之宏觀經(jīng)濟(jì)政策綜合檢測試卷B卷含答案
- 新質(zhì)黨建生產(chǎn)力
- 石膏綜合征的臨床護(hù)理
- 火針療法在皮膚科:國際視角
- 4000m3d制藥廢水計算書
- 越劇古裝衣介紹
- 宅基地確權(quán)委托書
- 人事行政工作成功典范總結(jié)
- 英國皇室文化課件
- 咯血個案護(hù)理
- 普及防癌知識宣傳
- 第6課+呵護(hù)花季+激揚青春【中職專用】《心理健康與職業(yè)生涯規(guī)劃》(高教版2023基礎(chǔ)模塊)
- 博士生入學(xué)復(fù)試面試報告?zhèn)€人簡歷介紹(完美版)模板兩篇
- 康養(yǎng)旅游項目策劃書
評論
0/150
提交評論