- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
生医工程实验.doc
生醫工程實驗
期末專題~指紋辨識軟體
第五組
土木四 馬子宸
實驗計畫:
實驗大綱:我一直對犯罪鑑識的指紋辨識很有興趣,再加上最近的筆記型電腦都有指紋辨識功能,因此我想親自針對這個系統設計看看。
實驗原理:先利用一般市面上可以買到的掃描器或者指紋擷取機對指紋擷取,將同學指紋資料建檔,並對一般系統所用之特定點設計程式,並使其能從資料中找出相符的指紋資料且正確。
預期結果:了解指紋辨識系統的軟體設計並且親自嘗試製作,希望能做出一個可以辨識同班同學指紋的辨識系統。
可能的困難:第一個會遇到的問題是指紋擷取的清晰度以及每次擷取的差異;第二個問題是如何選定特定點以及因人而異的不同。
所需耗材:掃瞄器OR指紋擷取裝置x1,影像處理軟體x1。
實際實驗過程:
經過實際設計及操作後,修正為以下的實驗原理:
實驗原理:將指紋以藍色印泥壓印的方式印在A4白紙上,以一般掃瞄器製成電子檔,截圖並做二值化以及細線化,之後以MATLAB寫程式抓取特徵點,作為比對的根據。
實驗過程:在第一次取指紋的時候,先是以自己的指紋為優先,並且顧慮安全及隱私的問題,所以只擷取無名指的指紋,研究擷取之圖像後得到以下幾點結論:
由一般指紋來看,可以找到三個必備的特徵點:中心的兩端點以及左右兩側其中一側的三角點。
另外,因為所取的指紋圖像大部份會在左右兩側形成模糊,因此可能會有一側的三角點無法判讀,因此都取較靠近中心的三角點。
如果發生連中心部分都無法判讀的情形,必須要求重壓指紋,如此才能減少誤差。
擷取的掃描解析要高,如此得來的圖像才能進行二值化以及細線化的工作。
經過以上結論發現第一次所擷取的指紋資料並不合用,引此捨棄。
第二次的指紋擷取僅結取自己的指紋做分析及軟體設計,希望能先做到一個可用的軟體再利用其他手指指紋來判定是否合用,之後再輸入其他人的指紋來判定,基礎圖像為:
二值化:由於我們使用的是壓印以後才掃描,引此所取的的指紋圖像是藍色,而且有深淺之分。為了讓圖像轉變成只有黑白而沒有灰階,因此需要二值化的處理。先將圖像轉為灰階,將各點的深淺數值分析,了解有指紋的部份是大於多少且是占0-255的百分比,取此值當作閥值,有指紋點的改寫為0(黑色),其他部份都改成1(白色),得到以下的指紋圖:
由二值化圖像中可以看出,線條的粗細不一致,因此需要細線化後才能做特徵點判讀的工作。
細線化:設計概念如下圖:
P9 P2 P3 P8 P1 P4 P7 P6 P5 以P1為中心點,對周圍八個點分析,進而判斷P1是否可以刪除,以下兩組是判定刪除條件:
條件一、
2 ≧ N(P1) ≧ 6
S(P1) = 1
P2*P4*P6 = 0
P4*P6*P8 = 0
條件二、
2 ≧ N(P1) ≧ 6
S(P1) = 1
P2*P4*P8 = 0
P2*P6*P8 = 0
N(P1)是P1周圍的八個點(黑點表示1,白底表示0)的總和,等於0表示是獨立點,2則表示端點,7, 8表示內點,都不能刪除,否則會產生斷點;S(P1)表示周圍點順時針搜尋下,發生0→1的次數,等於0表示是內點,大於1則一定是周圍點的連接橋樑,因此刪除會造成斷點,下方為圖例:
0 1 0 1 1 1 0 1 0 條件一(3.)(4.)是為了刪除右與下的邊點以及左上的角點,而條件二(3.)(4.)是為了刪除左與上的邊點以及右下的角點。每次細線化都是輪流經過這兩個條件做標記,當掃描結束後一次刪除多餘點,反覆執行細線化直到沒有點可刪除即可達到細線化,如下圖:
接下來就預計開始進行特徵點的搜尋了。基本先以三角點的搜尋為第一搜尋目標,做出如下MATLAB編碼:
[i1,m]=imread(testlining01.bmp);
v=0.85;
i1=rgb2gray(i1);
i2=round(i1);
bw=im2bw(i2,v);
figure(2)
gray;
colormap(gray);
imshow(bw);
%%bw
%%triangle
i = 160;
j = 2;
total = 0;
for i=160:1:319
for j=2:1:250
n_counter = 0;
nw_counter = 0;
w_counter = 0;
sw_counter = 0;
s_counter = 0;
se_counter = 0;
e_counter = 0;
ne_counter = 0;
文档评论(0)