基于matlab的指紋處理和識(shí)別程序
大家好,今天給大家介紹基于matlab的指紋處理和識(shí)別程序項(xiàng)目設(shè)計(jì)與原理。
文章目錄:
1、項(xiàng)目簡(jiǎn)介
-
文件列表:
main.m--------主程序。
imgread.m-----圖像讀取函數(shù)。
imgchg.m------將真彩色圖像轉(zhuǎn)換為灰度圖像的函數(shù)。
imgcut.m------圖像分割函數(shù)。
imgflt.m------圖像去噪濾波。
imgdir.m------計(jì)算方向圖并進(jìn)行方向?yàn)V波。
imgbin.m------圖像二值化。
imgthi.m------圖像細(xì)化。
imgpoi.m------指紋特征點(diǎn)提取。
imgcom.m------特征點(diǎn)比對(duì)。
imgres.m------得出比對(duì)結(jié)論并輸出。
imgplot.m-----繪圖函數(shù)。 -
另附兩組共16幅指紋圖像以供測(cè)試。
經(jīng)測(cè)試,本程序指紋識(shí)別的準(zhǔn)確度為66.9%。
測(cè)試所使用指紋樣本為上述16幅樣本圖像。 -
內(nèi)部設(shè)定參數(shù)分別為:
圖像分割所用模板為5×5大??;av>0.6;u<0.01;
濾波采用默認(rèn)參數(shù)的中值濾波;
圖像二值化采用3×3模板,門限為模板覆蓋各像素的均值;
圖像細(xì)化所用形態(tài)學(xué)結(jié)構(gòu)元素為se = strel(‘square’,1);
采用一次開運(yùn)算和bwmorph輪廓提取函數(shù)細(xì)化;
特征點(diǎn)去偽所用門限為3像素。
特征點(diǎn)比對(duì)采用求相關(guān)系數(shù)的方法。 -
指紋識(shí)別技術(shù)中用到的相關(guān)知識(shí) :
?1.圖像讀取使用函數(shù)imread。
?2.將真彩色圖像轉(zhuǎn)換為灰度圖使用函數(shù)rgb2gray 。
?3.圖像分割。
?4.圖像去噪濾波(使用中值濾波法)。
?6.圖像二值化(即將灰度圖像轉(zhuǎn)化為二值圖像)。
?7.圖像細(xì)化(即減少冗余信息,突出指紋主要特征)。
?8.指紋特征點(diǎn)提?。▽?duì)粗選的特征剪枝,去偽存真)。
?9.特征點(diǎn)比對(duì)。
2、難度指數(shù)
本項(xiàng)目難度:中等難度
適用場(chǎng)景:相關(guān)題目的畢業(yè)設(shè)計(jì)及相關(guān)領(lǐng)域的應(yīng)用研究
3、運(yùn)行環(huán)境:
環(huán)境配置:
本項(xiàng)目所使用的MATLAB版本為MATLAB 7.8.0(R2009a)
注:可適配絕大部分matlab版本
項(xiàng)目技術(shù):
圖像分割算法 +中值濾波算法 + 圖像二值化 + 一次開運(yùn)算 + 輪廓提取算法+ 指紋特征點(diǎn)提取等等
4、項(xiàng)目詳解:
提示:以下為項(xiàng)目的詳細(xì)介紹,項(xiàng)目源碼下載地址見文末~
4.1指紋的分類
指紋就是指腹上由凹凸的皮膚所形成的紋路。由人的遺傳特性決定,雖然指紋人人皆有,但各不相同。當(dāng)胎兒在母體內(nèi)發(fā)育三至四個(gè)月時(shí),指紋就已經(jīng)形成,但兒童在成長(zhǎng)期間指紋會(huì)略有改變,直到青春期14歲左右時(shí)才會(huì)定型。
指紋圖案一般有三種基本圖形:
環(huán)型(loop)、弓型(arch)、螺旋型(whorl)。
其他的指紋圖案都是基于這三種基本圖案。
環(huán)型:
弓型:
螺旋型:
4.2指紋的特征點(diǎn)
指紋紋路并不是連續(xù)的、平滑筆直的,而是經(jīng)常出現(xiàn)中斷、分叉或轉(zhuǎn)折。這些斷點(diǎn)、分叉點(diǎn)和轉(zhuǎn)折點(diǎn)就稱為“特征點(diǎn)”。兩枚指紋的特征點(diǎn)不可能完全相同,目前尚未發(fā)現(xiàn)有不同的人擁有相同的指紋,每個(gè)人的指紋也是獨(dú)一無(wú)二。
指紋的特征點(diǎn)可分為6類,最典型的是終結(jié)點(diǎn)(端點(diǎn))和分叉點(diǎn)。
端點(diǎn)(Ending) :一條紋路在此終結(jié)
分叉點(diǎn)(Bifurcation): 一條紋路在此分開成為兩條或更多的紋路
分歧點(diǎn)(Ridge Divergence) : 兩條平行的紋路在此分開
孤立點(diǎn)(Dot or Island) :一條特別短的紋路,以至于成為一點(diǎn)
環(huán)點(diǎn)(Enclosure):
一條紋路分開成為兩條之后,立即有合并成為一條,這樣形成的一個(gè)小環(huán)稱為環(huán)點(diǎn)
短紋(Short Ridge) :一端較短但不至于成為一點(diǎn)的紋路
用數(shù)學(xué)方法證明指紋各不相同的是法國(guó)巴黎大學(xué)教授勃太柴。他在1910年證明了此特性。他把指紋特征點(diǎn)歸為4種:起點(diǎn)、終點(diǎn)、分叉、結(jié)合。每個(gè)指紋約有100個(gè)特征點(diǎn),經(jīng)過(guò)組合排列,以4的100次方(4100)計(jì)算得出61位數(shù),再以當(dāng)時(shí)一個(gè)世紀(jì)內(nèi)生存的人口約50億計(jì)算,每人十指,最后算出結(jié)果為要經(jīng)過(guò)50位數(shù)長(zhǎng)的世紀(jì)才可能出現(xiàn)兩枚重復(fù)的指紋。
4.3指紋識(shí)別技術(shù)應(yīng)用方法(模式)
就應(yīng)用方法而言,指紋識(shí)別技術(shù)可分為驗(yàn)證和辨識(shí)。
驗(yàn)證:就是通過(guò)把一個(gè)現(xiàn)場(chǎng)采集到的指紋與一個(gè)已經(jīng)登記的指紋進(jìn)行一對(duì)一的比對(duì)來(lái)確定身份的過(guò)程。指紋以一定的壓縮格式存儲(chǔ),并與其姓名或其標(biāo)識(shí)(ID,PIN)聯(lián)系起來(lái)。隨后在對(duì)比現(xiàn)場(chǎng),先驗(yàn)證其標(biāo)識(shí),然后利用系統(tǒng)的指紋與現(xiàn)場(chǎng)采集的指紋比對(duì)來(lái)證明其標(biāo)識(shí)是合法的。驗(yàn)證其實(shí)回答了這樣一個(gè)問(wèn)題:"他是他自稱的這個(gè)人嗎?"這是應(yīng)用系統(tǒng)中使用得較多的方法。
辨識(shí):則是把現(xiàn)場(chǎng)采集到的指紋同指紋數(shù)據(jù)庫(kù)中的指紋逐一對(duì)比,從中找出與現(xiàn)場(chǎng)指紋相匹配的指紋。這也叫"一對(duì)多匹配"。辨識(shí)其實(shí)是回答了這樣一個(gè)問(wèn)題:“他是誰(shuí)?”
指紋是人體獨(dú)一無(wú)二的特征,其復(fù)雜度足以提供用于鑒別的特征。隨著相關(guān)支持技術(shù)的逐步成熟,指紋識(shí)別技術(shù)經(jīng)過(guò)多年的發(fā)展已成為目前最方便、可靠、非侵害和價(jià)格便宜的生物識(shí)別技術(shù)解決方案,對(duì)于廣大市場(chǎng)的應(yīng)用有著很大的發(fā)展?jié)摿Α?/p>
4.4指紋識(shí)別算法原理圖:
4.4.1指紋圖像的采集
目前所用的指紋圖象采集設(shè)備,基本上基于三種技術(shù)基礎(chǔ):
光學(xué)技術(shù)、半導(dǎo)體硅技術(shù)、超聲波技術(shù)
光學(xué)技術(shù):
借助光學(xué)技術(shù)采集指紋是歷史最久遠(yuǎn)、使用最廣泛的技術(shù)。將手指放在光學(xué)鏡片上,手指在內(nèi)置光源照射下,用棱鏡將其投射在電荷耦合器件(CCD)上,進(jìn)而形成脊線(指紋圖象中具有一定寬度和走向的紋線)呈黑色、谷線(紋線之間的凹陷部分)呈白色的數(shù)字化的、可被指紋設(shè)備算法處理的多灰度指紋圖象。
光學(xué)的指紋采集設(shè)備有明顯的優(yōu)點(diǎn):它已經(jīng)過(guò)較長(zhǎng)時(shí)間的應(yīng)用考驗(yàn),一定程度上適應(yīng)溫度的變異,較為廉價(jià),可達(dá)到500DPI的較高分辨率等。缺點(diǎn)是:由于要求足夠長(zhǎng)的光程,因此要求足夠大的尺寸,而且過(guò)分干燥和過(guò)分油膩的手指也將使光學(xué)指紋產(chǎn)品的效果變壞。
半導(dǎo)體硅技術(shù)(CMOS技術(shù)):
20世紀(jì)90年代后期,基于半導(dǎo)體硅電容效應(yīng)的技術(shù)趨于成熟。硅傳感器成為電容的一個(gè)極板,手指則是另一極板,利用手指紋線的脊和谷相對(duì)于平滑的硅傳感器之間的電容差,形成8bit的灰度圖象。
硅技術(shù)優(yōu)點(diǎn)是可以在較小的表面上獲得比光學(xué)技術(shù)更好的圖象質(zhì)量,在1cm×1.5cm的表面上獲得200—300線的分辨率(較小的表面也導(dǎo)致成本的下降和能被集成到更小的設(shè)備中)。
缺點(diǎn)是易受干擾,可靠性相對(duì)差。
超聲波技術(shù):
為克服光學(xué)技術(shù)設(shè)備和硅技術(shù)設(shè)備的不足,一種新型的超聲波指紋采集設(shè)備已經(jīng)出現(xiàn)。其原理是利用超聲波具有穿透材料的能力,且隨材料的不同產(chǎn)生大小不同的回波(超聲波到達(dá)不同材質(zhì)表面時(shí),被吸收、穿透與反射的程度不同),因此,利用皮膚與空氣對(duì)于聲波阻抗的差異,就可以區(qū)分指紋脊與谷所在的位置。
超聲波技術(shù)所使用的超聲波頻率為1×104Hz—1×109Hz,能量被控制在對(duì)人體無(wú)損的程度(與醫(yī)學(xué)診斷的強(qiáng)度相同)。超聲波技術(shù)產(chǎn)品能夠達(dá)到最好的精度,它對(duì)手指和平面的清潔程度要求較低,但其采集時(shí)間會(huì)明顯地長(zhǎng)于前述兩類產(chǎn)品。
4.4.2指紋圖像的預(yù)處理
指紋圖像預(yù)處理的過(guò)程主要包括模式轉(zhuǎn)換、圖像分割、圖像增強(qiáng)、二值化、細(xì)化。
模式轉(zhuǎn)換:將采集到的真彩色圖像轉(zhuǎn)換為灰度圖像,方便處理。
圖像分割:去除主體圖像周圍背景部分,保留主要指紋圖像。
圖像增強(qiáng):通過(guò)灰度變換、直方圖修正、平滑、銳化等方法對(duì)圖像進(jìn)行處理,使指紋圖像特征突出。
二值化:通過(guò)設(shè)定門限將灰度圖像轉(zhuǎn)化為只有0和1兩個(gè)灰度級(jí)的二值圖像,便于后續(xù)處理。
細(xì)化:使圖像的每條紋線都變?yōu)閱蜗袼貙挾鹊木€,以減少冗余信息,突出主要特征。
4.4.3特征點(diǎn)的提取
指紋的特征點(diǎn)總共有六種,但最常見的是端點(diǎn)和分叉點(diǎn),這兩種特征點(diǎn)占絕大部分,所以實(shí)際操作中只需要提取這兩種特征點(diǎn)就可以了。
方法:通過(guò)對(duì)模板中心像素以及其8 臨域的觀察,定義了端點(diǎn)模板和分叉點(diǎn)模板(如圖所示)。使用這些模板與圖像脊線上的像素點(diǎn)比對(duì),從而實(shí)現(xiàn)紋理特征的提取。
4.4.3特征點(diǎn)的對(duì)比,得出結(jié)論
將兩個(gè)樣本中提取到的特征點(diǎn)進(jìn)行比對(duì)。兩個(gè)樣本中特征點(diǎn)吻合的數(shù)量越多,說(shuō)明兩個(gè)樣本相似度越高。對(duì)比對(duì)結(jié)果進(jìn)行判斷,即可確定兩個(gè)樣本是否來(lái)自同一個(gè)手指。
4.5.程序算法詳解
4.5.1圖像分割:
下圖所示5×5的模板對(duì)圖像進(jìn)行運(yùn)算,模板每次移動(dòng)5個(gè)像素(保證模板不重疊),對(duì)模板下的25個(gè)像素點(diǎn)求平均值和方差。平均值大于0.6且方差小于0.01的,就可以認(rèn)為是背景,將模板覆蓋的全部?。玻祩€(gè)像素點(diǎn)置為“1”,使其變?yōu)榘咨谋尘埃缦聢D,其他值保持不變。
圖像分割所用模板:
分割前的圖像:
分割后的圖像:
4.5.2圖像二值化:
用3×3的模板對(duì)圖像進(jìn)行運(yùn)算,求出模板覆蓋部分的均值,若某像素大于均值,則置為“1”,否則置為“0”。二值化后,會(huì)產(chǎn)生很多噪聲,所以對(duì)圖像還要進(jìn)行一次去噪操作。
4.5.3細(xì)化:
圖像二值化后,指紋的紋線很粗,含有很多冗余信息。圖像細(xì)化就是要把紋線收縮到單像素的點(diǎn)線,以減少冗余信息,便于后面的處理。
細(xì)化算法:
se = strel(‘square’,1); %創(chuàng)建形態(tài)學(xué)結(jié)構(gòu)元素
fo = imopen (x,se); %對(duì)原圖形進(jìn)行開運(yùn)算
%A對(duì)B開運(yùn)算就是A被B腐蝕后的結(jié)果再被B膨脹
v = ~bwmorph (fo,‘thin’,inf);%提取二進(jìn)制圖像的輪廓
指紋圖像細(xì)化后,還不完全是單像素的線,在分叉處任然存在冗余的像素點(diǎn),這些點(diǎn)需要去除。
二值化后的圖像:
細(xì)化后的圖像:
4.5.4特征點(diǎn)提取:
根據(jù)如圖所示模板判斷特征點(diǎn),將其保存到一幅空白圖片中。
4.5.4特征點(diǎn)去噪:
提取出來(lái)的特征點(diǎn)中有許多偽特征點(diǎn),這是由于前面過(guò)程中產(chǎn)生的噪聲造成的。這些偽特征點(diǎn)有個(gè)特點(diǎn),那就是它們之間的距離比較近,根據(jù)這一特點(diǎn)可以判斷出偽特征點(diǎn)并刪除,減少對(duì)后面判別產(chǎn)生的影響。
4.5.5最后判斷
提取出特征點(diǎn)后,對(duì)兩幅圖像計(jì)算相關(guān)系數(shù),相關(guān)系數(shù)越大圖像越接近,可以設(shè)定一個(gè)門限,大于門限的判定為同一指紋,否則判定為不匹配。至此,一個(gè)指紋識(shí)別算法就完成了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-449078.html
5、源碼下載:
本項(xiàng)目及一些精選的matlab指紋識(shí)別項(xiàng)目源碼如下,有需要的朋友可以點(diǎn)擊進(jìn)行下載文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-449078.html
序號(hào) | matlab指紋識(shí)別項(xiàng)目名(點(diǎn)擊下載) |
---|---|
1 | 基于matlab的指紋處理和識(shí)別程序源碼_指紋識(shí)別_matlab |
2 | 以GUI實(shí)現(xiàn)指紋的識(shí)別和匹配百分比(推薦)_GUI_指紋識(shí)別_matlab |
3 | PCA方法指紋識(shí)別的完整程序運(yùn)行效果好_指紋識(shí)別_matlab |
4 | opencv指紋識(shí)別FVS_opencv_指紋識(shí)別_VC++ |
5 | matlab指紋識(shí)別源碼_2套源碼_指紋識(shí)別_matlab |
6 | matlab_fingerprint_指紋識(shí)別 |
7 | matlab_指紋識(shí)別程序源碼_指紋識(shí)別 |
8 | matlab sourcecode for 指紋識(shí)別_指紋識(shí)別_matlab |
9 | FingerprintSourceCode_指紋識(shí)別_VC++ |
10 | 指紋識(shí)別源碼加說(shuō)明文檔_指紋識(shí)別_matlab |
11 | 指紋識(shí)別的一套完整程序_figner_IMcode_mfile_matlab |
12 | 指紋識(shí)別的程序(vc++)_指紋識(shí)別_VC++ |
13 | 指紋識(shí)別_論文帶源碼(推薦)_matlab |
14 | 一個(gè)指紋識(shí)別論文及全源碼_指紋識(shí)別_matlab |
15 | 純CPP指紋識(shí)別_指紋識(shí)別_VC++ |
16 | 指紋識(shí)別技術(shù)及其實(shí)現(xiàn)_matlab |
17 | 基于Matlab的指紋識(shí)別程序_PR_fingerprint_matlab |
18 | 基于matlab的指紋識(shí)別程序源碼.zip |
19 | matlab指紋識(shí)別系統(tǒng)完整源代碼.zip |
到了這里,關(guān)于【老生談算法】基于matlab的指紋處理和識(shí)別算法詳解及程序源碼——指紋識(shí)別算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!