当前位置:文档之家› Matlab指纹识别

Matlab指纹识别

Matlab指纹识别
Matlab指纹识别

指纹识别技术研究

个人的指纹是独一无二的,两人之间不存在着相同的手指指纹。

每个人的指纹是相当固定的,不会随着人的年龄的增长或身体健康程度的变化而变化,但是人的声音等却存在较大变化的可能。

3)指纹样本便于获取,易于开发识别系统,实用性强。目前已有标准的指纹样本库,方便了识别系统的软件开发;另外,识别系统中完成指纹采样功能的硬件部分也较易实现。而对视网膜则难于采样,也无标准的视网膜样本库供系统软件开发使用,这就导致视网膜识别系统难以开发,可行性较低。

一个人的十指指纹皆不相同,这样可以方便地利用多个指纹构成多重口令,提高系统的安全性。

指纹识别中使用的模板并非最初的指纹图,而是由指纹图中提取的关键特征,这样使系统对模板库的存储量较小。另外,对输入的指纹图提取关键特征后,可以大大减少网络传输的负担,便于实现异地确认,支持计算机的网络功能。

近些年来,电子信息技术的飞速发展,特别是传感技术、电子信号处理技术、计算机数据管理技术、计算机网络技术的飞速发展,为指纹识别技术的成型提供了强大的硬件支持。与此同时,图形图像处理学、人工智能学、软件工程学等新兴学科的蓬勃发展也为指纹识别技术的进步提供了强有力的软件支持。指纹识别的发展中,也存在自身的不足,如指纹识别系统性能的测试和评估标准的确立、相关软件的标准化问题都是有待进一步解决的。指纹识别技术作为一项迅猛发展的新技术,有了软硬件等方面的强大保障,同时又有指纹识别自身的诸多优点,相信指纹识别技术一定会有更加美好的发展前景。

摘要:随着生物识别技术的不断发展,人们发现每个人的指纹具有唯一性和不变性。因此指纹识别技术逐步发展为一种新的身份识别方式,并且凭借其良好的安全可靠性,大有取代传统身份识别方式的趋势。

本文简要介绍了指纹识别的基本步骤,分别是指纹图像预处理、指纹特征提取、指纹匹配。在图像预处理中,依次介绍了规格化处理、图像增强、二值化处理和细化处理的方法。预处理后

将得到一幅宽度为一个像素的细化二值图像,然后通过特定的端点和交叉点的特征进行指纹匹配。实验表明,该方法效果良好。

论文中采用Matlab 编程实现全部算法。

关键词:指纹识别,图像处理,特征提取,特征匹配

1.引言

传统的身份识别技术包括基于密码的身份识别技术和基于令牌的身份识别技术。但是这两种方式都存在着一定的安全风险:令牌容易丢失,密码容易忘记,且它们都容易被窃取或冒充。近年来,依赖人体特征的新型身份识别技术正在兴起,凭借其唯一且不变的特点,生物识别技术逐步成为人们研究的热点。

而在生物识别技术中,指纹识别技术已经被广泛的研究和应用。它的基本原理框图如图一所示。

图1指纹识别的基本原理框图

2.指纹图像预处理

2.1图像规格化

受采集设备参数和环境的影响,采集到的指纹图像可能总体对比度较差。图像归一化的作用就是使所有指纹图像具有相同的灰度均值和方差,从而将每一幅图像的灰度调整到统一的范围,方便后续处理。归一化的算法是:

(1) 先计算图像的平均值和方差。这部分工作主要通过统计图像中各点像素值得到该图

像的直方图,然后利用直方图来计算指纹图像的相关指标。

11

00

1

()(,)H W i j M I I i j WH

--===

∑∑

11

2

00

1

()((,)())

H W i j Var I I i j M I WH

--===

-∑∑

(2) 指定期望经过处理后的图像均值和方差,计算归一化后的图像G 。

00

(,)(,)M I i j M G i j M others ?+

>??

=?

?-??

图像规格化的Matlab 程序如下(其中方差取Var0=2000,M0=150):

% 归一化

M=0;var=0; for x=1:m

for y=1:n

M=M+I(x,y);

end

end

M1=M/(m*n);

for x=1:m

for y=1:n

var=var+(I(x,y)-M1).^2;

end

end

var1=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

end

end

figure, imshow(uint8(I)) ;

带入指纹图像’zhiwen1.bmp’后得到的原始图像和归一化图像见图2和图3:

图2原始指纹图像图3规格化后的指纹图像

2.2图像分割

指纹图像通常包括纹线区域和周边的无用区域。如果保留这些无用区域,会致使计算冗

余度增加。为此要先将其从待处理区域中去除。通常用的分离方法有像素领域特征的方法和基于像素分布概率的方法等。本文采取对各像素邻域特征进行分析,然后分割图像算法。

吧图像分成T*T的非重叠块,计算每一块的灰度均值M和方差Var,通过下列条件区分前景与背景:

(1)如果M>M1且Var

(2)如果M<=M1且Var>=Var1,则认为前景,否则待定;

(3)对所有分块划分完毕后,在对待定块进行判决。如果在8邻域中,背景景小于等于4则认为是前景,否则是背景

在编程过程中通过几次调试后对图像进行3*3分块处理

Matlab程序如下:

% 分割

M =3; %3*3

H = m/M; L= n/M;

aveg1=zeros(H,L);

var1=zeros(H,L);

% 计算每一块的平均值

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);

end

end

Gmean=0;Vmean=0;

for x=1:H

for y=1:L

Gmean=Gmean+aveg1(x,y);

Vmean=Vmean+var1(x,y);

end

end

Gmean1=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

vtemp=vtemp+1;

vtotle=vtotle+var1(x,y);

end

end

end

G1=gtotle/gtemp;V1=vtotle/vtemp;

gtemp1=0;gtotle1=0;vtotle1=0;vtemp1=0;

for x=1:H

for y=1:L

if G1

gtemp1=gtemp1-1;

gtotle1=gtotle1+aveg1(x,y);

end

if 0

vtemp1=vtemp1+1;

vtotle1=vtotle1+var1(x,y);

end

end

end

G2=gtotle1/gtemp1;V2=vtotle1/vtemp1;

e=zeros(H,L);

for x=1:H

for y=1:L

if aveg1(x,y)>G2 && var1(x,y)

e(x,y)=1;

end

if aveg1(x,y)< G1-100 && var1(x,y)< V2 e(x,y)=1;

end

end

end

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

end

end

Icc = ones(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

end

end

figure, imshow(uint8(I));title('分割');

得到的图像如图4:

图4经过分割处理后的图像

2.3图像二值化

一般的指纹图像都有比较清晰的方向场,方向场估计得准确性直接决定了图像增强算法的效果。

为估计方向场,我们把指纹脊线的走向分为如下8个方向,如下图:

图5 在一个像素处的8个指纹脊线方向

我们先对分割后的图像进行了平均滤波,然后对图像的每一个像素,为确定在该像素出的脊线方向,在以该像素为中心的9*9窗口内,分别计算8个方向上的经过处理后的灰度值,即将图5中标了i(i=0,1,…7分别代表8个方向)的位置的像素灰度值去他们中最大summax 和最小值summin,若满足(summax+summin+ 4*I(x,y))> (3*summ/8),则该像素点的脊线方向为summin,否则为summax.

确定完方向后就根据该向场对图像进行二值化。

Matlab程序如下:

%二值化ˉ

temp=(1/9)*[1 1 1;1 1 1;1 1 1];%模板系数均值滤波

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,2)+Im(a+1,b+1)*temp(3,3);

end

end

I=In;

Im=zeros(m,n);

for x=5:m-5;

for y=5:n-5;

sum1=I(x,y-4)+I(x,y-2)+I(x,y+2)+I(x,y+4);

sum2=I(x-2,y+4)+I(x-1,y+2)+I(x+1,y-2)+I(x+2,y-4);

sum3=I(x-2,y+2)+I(x-4,y+4)+I(x+2,y-2)+I(x+4,y-4);

sum4=I(x-2,y+1)+I(x-4,y+2)+I(x+2,y-1)+I(x+4,y-2);

sum5=I(x-2,y)+I(x-4,y)+I(x+2,y)+I(x+4,y);

sum6=I(x-4,y-2)+I(x-2,y-1)+I(x+2,y+1)+I(x+4,y+2);

sum7=I(x-4,y-4)+I(x-2,y-2)+I(x+2,y+2)+I(x+4,y+4);

sum8=I(x-2,y-4)+I(x-1,y-2)+I(x+1,y+2)+I(x+2,y+4);

sumi=[sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8];

summax=max(sumi);

summin=min(sumi);

summ=sum(sumi);

b=summ/8;

if (summax+summin+ 4*I(x,y))> (3*summ/8) sumf = summin;

else

sumf = summax;

end

if sumf > b

Im(x,y)=128;

else

Im(x,y)=255;

end

end

end

for i=1:m

for j =1:n

Icc(i,j)=Icc(i,j)*Im(i,j);

end

end

for i=1:m

for j =1:n

if (Icc(i,j)==128)

Icc(i,j)=0;

else

Icc(i,j)=1;

end;

end

end

figure,imshow(double(Icc));title('二值化');

得到的二值化图像如图6:

图6二值化后的图像

2.4图像增强

在当前的指纹采集条件下,不可避免的会受到环境,皮肤上的油脂、水分、污渍的影响,使采集到的指纹图像出现纹线粘连、纹线断裂等缺陷,对后续的指纹特征提取带来很大困难。所以我们必须对指纹图像进行图像增强处理,例如分离粘连的纹线,连接断裂的纹线,平滑纹线的边缘等,以保证指纹特征提取的可靠性。

实验中进行了初步去除空洞和毛刺的处理,程序如下:

u=Icc;

[m,n]=size(u) %去除空洞和毛刺

for x=2:m-1

for y=2:n-1

if u(x,y)==0

if u(x,y-1)+u(x-1,y)+u(x,y+1)+u(x+1,y)>=3

u(x,y)=1;

end

else u(x,y)=u(x,y);

end

end

end

figure,imshow(u)

%title('去除毛刺')

for a=2:m-1

for b=2:n-1

if u(a,b)==1

if

abs(u(a,b+1)-u(a-1,b+1))+abs(u(a-1,b+1)-u(a-1,b))+abs(u(a-1,b)-u(a-1, b-1))+abs(u(a-1,b-1)-u(a,b-1))+abs(u(a,b-1)-u(a+1,b-1))+abs(u(a+1,b-1

)-u(a+1,b))+abs(u(a+1,b)-u(a+1,b+1))+abs(u(a+1,b+1)-u(a,b+1))~=1%寻找端点

if

(u(a,b+1)+u(a-1,b+1)+u(a-1,b))*(u(a,b-1)+u(a+1,b-1)+u(a+1,b))+(u(a-1, b)+u(a-1,b-1)+u(a,b-1))*(u(a+1,b)+u(a+1,b+1)+u(a,b+1))==0 %去除空洞和毛刺

u(a,b)=0;

end

end

end

end

end

figure,imshow(u)

%title('去除空洞')

得到的去除毛刺后的图像和再去除空洞后的图像分别如图7和图8:

图7去除毛刺后的图像图8去除空洞后的图像

2.5图像细化

二值化后的纹线仍然具有一定的宽度,因为指纹识别只与纹线的走向有关,所以需要对二值图像进行细化,以减少冗余信息,突出纹线的有效特征,便于后续的特征提取。

程序如下:

v=~u;

se=strel('square',3);

fo=imopen(v,se);

v=imclose(fo,se); %对图像进行开操作和闭操作

w=bwmorph(v,'thin',Inf);%对图像进行细化

figure,imshow(w)

title('细化图')

得到的图像如图9:

图9细化后的图像

3.特征点提取

3.1 找出所有的端点和交叉点

因为特征点必然是从端点和交叉点里找出,所以在得到细化的图像后,我们首先要找出所有的端点和交叉点。

首先对通过定义函数P.m对图像中每个点的8邻域位置进行坐标定义,方便后续编程。

P.m程序如下:

%-----Sub functions-------

function j = P (img, x, y, i)

% get pixel value based on chart:

% 4 | 3 | 2

% 5 | | 1

% 6 | 7 | 8

switch (i)

case {1, 9}

j = img(x+1, y);

case 2

j = img(x + 1, y-1);

case 3

j = img(x, y - 1);

case 4

j = img(x - 1, y - 1);

case 5

j = img(x - 1, y);

case 6

j = img(x - 1, y + 1);

case 7

j = img(x, y + 1);

case 8

j = img(x + 1, y + 1);

end

然后定义函数point.m来找出细化后图像的所有端点。

将一个点的8个邻域依次两两相减并取绝对值,并将所有结果相加,从细化图像的特征来说,和为2时为端点,和为6时为交叉点。

程序如下:

function txy=point(thin)

count = 1;

txy(count, :) = [0,0,0];

siz=min(size(thin,1),size(thin,2));

for x=40:siz - 40

for y=40:siz - 40

if (thin(y, x) )

CN = 0;

for i = 1:8

CN = CN + abs (P(thin, y, x, i) - P(thin, y, x, i + 1));

end

if (CN == 2)

txy(count, :) = [x, y,2];

count = count + 1;

end

if (CN == 6)

txy(count, :) = [x, y,6];

count = count + 1;

end

end

end

end

for i=1:count - 1

x(i) =txy(i, 1);

y(i)= txy(i, 2);

end

imshow(double(thin));

hold on;

plot(x,y,'.');

运行完程序后,将所有的端点和交叉点全部找出。定义的数组txy第一项为横坐标,第二项为纵坐标,第三项为2或6(2为端点、6为交叉点)。

得到的标出端点和交叉点的图像如图10:

图10标出端点和交叉点的细化图像

3.2 纹线光滑处理

在指纹图像预处理中,已经对指纹图像进行过去除毛刺和空洞的处理。这里通过定义函数guanghua.m进一步对细化后的图像进行光滑处理。基本原理为:找到每个端点,使其沿着纹线的方向移动5个像素,如果在5个像素之内遇到交叉点,则认为此端点为毛刺,去除此点。

guanghua.m程序如下:

function w=guanghua(thin,txy)

for j=1:5

txy=point(thin);

pxy=txy(find(txy(:,3)==2),:);

n=size(pxy,1);

for i=1:n

error=0;

error=walk(thin,pxy(i,1),pxy(i,2),5);

if error==1

thin(pxy(i,2),pxy(i,1))=0;

end

end

end

w=thin;

imshow(w);

光滑后的图像如图11所示:

图11 光滑后的图像

光滑完后需再次执行point函数来画出新的端点,如下图所示:

图12 光滑后标出端点和特征点的图像

3.3 去除图像边缘的端点

可以看出,在指纹图像的边缘,由于采集仪器的关系,不可避免的多出很多端点,一方面增加了后续工作量,另一方面还可能产生错误,所以有必要将这些边缘的端点去除。本实验中设计了cut函数来进行处理。

函数如下:

function txy=cut(thin,txy)

s(8,8)=0;

delta(8,8)=0;

n=size(txy,1);

for i=1:8

for j=1:8

mp{i,j}=thin(1+31*(i-1):31+31*(i-1),1+31*(j-1):31+31*(j-1));

s(i,j)=sum(sum(mp{i,j}))/(31*31);

mp{i,j}=(mp{i,j}-s(i,j)).^2;

delta(i,j)=sum(sum(mp{i,j}));

if delta(i,j)<=70

for k=1:n

if

(txy(k,1)>=1+31*(i-1)&&txy(k,1)<=31+31*(i-1)&&txy(k,2)>=1+31*(j-1)&&t xy(k,2)<=31+31*(j-1)&&txy(k,3)==2)

txy(k,:)=[0,0,0];

end

end

end

end

end

txy=txy(find(txy(:,1)),:);

plot(txy(:,1),txy(:,2),'ro');

得到的图像如下:

图13 去除图像边缘端点后的图像

3.4 找出特征点

3.4.1 single_point函数

经过光滑处理和去除边缘端点后进一步减少了端点和交叉点的个数。下面就要找出一些独特的端点来作为特征点。在一幅细化的指纹图上,如果一个端点的周围半径为r个像素的

圆内没有任何端点或交叉点,那么随着r的逐渐变大,这样的点会越来越少,也就越来越独特。于是我们设计了一个函数single_point来找出这样的点。

程序如下:

function [pxy2,error]=single_point(txy,r)

error=0;

x=txy(:,1);

y=txy(:,2);

n=length(x);

d(1:n,1:n)=0;

for j=1:n

for i=1:n

if (i~=j)

d(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);

else

d(i,j)=2*r;

end

end

end

[a,b]=min(d);

c=find(a>r);

pxy2=txy(c,:);

pxy2=pxy2(find(pxy2(:,3)==2),:);

t=size(pxy2,1);

if t==0

error=1

else

plot(x,y,'b.');

hold on

plot(pxy2(:,1),pxy2(:,2),'r.');

end

比如在执行[pxy2,error]=single_point(txy,20)后,会显示出下图:

图14 执行single-point函数后Matlab的显示情况

由运行结果可知,有3个端点满足周围半径为20个像素的圆内没有任何端点和交叉点的条件。

这三个点在下图中用红点标出。

图15 满足条件的特征点

3.4.2 walk函数

在此,我们还定义了一个walk函数,用于进一步找出特征点,它的作用是判断离某一端点num距离是否有另一端点。

函数如下:

function [error,a,b]=walk(thin,x0,y0,num)

error=0;

thin(y0,x0)=0;

t1=0;

for n=1:num

if error==1

break;

else

x=x0;

y=y0;

for x=x0-1:x0+1

if error==1

break;

else

for y=y0-1:y0+1

t1=sum(sum(thin(y0-1:y0+1,x0-1:x0+1)));

if (t1==0||t1>=2)

error=1;

a=x0;

b=y0;

break;

else

if (thin(y,x)==1&&(x-x0)^2+(y-y0)^2~=0)

if (t1>=2 )

error=1;

break ;

else

thin(y,x)=0;

x0=x;

y0=y;

a=x0;

b=y0;

plot(x0,y0,'r.')

end

end

end

end

end

end

end

end

3.4.3 last1函数

综合以上两个找特征点的函数,可以设计一个新的last1函数。通过执行

[pxy3,error2]=last1(thin,r,txy,num)可以找出周围半径为r个像素的圆内没有任何端点或交叉点,并且沿纹线走num个像素内没有另一个端点或交叉点的端点。

程序如下所示:

function [pxy3,error2]=last1(thin,r,txy,num)

error=0;

[pxy2,error]=single_point(txy,r);

n=size(pxy2,1);

l=1;

error2=0;

for i=1:n

[error,a,b]=walk(thin,pxy2(i,1),pxy2(i,2),num);

if error~=1

pxy3(l,1)= pxy2(i,1);

pxy3(l,2)= pxy2(i,2);

pxy3(l,3)= pxy2(i,3);

l=l+1;

error2=0;

plot(pxy2(i,1) ,pxy2(i,2),'r+');

end

end

得到的Matlab运行结果显示为:

图16 last1函数的运行结果

得到的图像如下:

图17 执行last1函数后指纹图像的显示

其中红色的端点为满足single_point函数的端点,红色的纹线为沿上述端点走一定距离后的纹线,一部分可以一直走到规定距离(这些即是要找的特征点),还有一部分走到端点或叉点停止。

至此,每幅指纹图像的特征点均可找出。

4.特征点匹配

4.1 纹线长度匹配

上面,我们已经可以找出每幅指纹图像的特征点,并画出一段纹线。下面就是匹配的问题了。在此,我们设置了三层匹配。

首先是纹线长度匹配。对于上面找出的特征点和纹线,每沿着纹线走5个像素测量一下到原始端点的距离。由distance函数得到。

function d=distance(x0,y0,num,thin)

num2=fix(num/5);

for i=1:num2

[error,a,b]=walk(thin,x0,y0,5*i);

if error~=1

d(i)=sqrt((a-x0)^2+(b-y0)^2);

else

break;

end

end

最后会得到一个装有长度信息的数组。试想如果两幅指纹图中的指纹是一样的,则它们会包含相同的特征点和从这个特征点出发画出的纹线,则这两个长度数组对应位置的比例应基本相等(考虑到老师所给的24幅指纹图像大小相同,这个比例应近似为1);最终的函数中定义了一个数f=(sum(abs((d1./d2)-1))),所以f值越接近于0,这两幅图像的匹配度越高。

基于matlab指纹识别论文详解

《MATLAB语言》课程论文 Matlab指纹识别系统 姓名:江帅璋 学号:12013241957 专业:通信工程 班级:通信2班 指导老师:朱瑜红 学院:物理电气信息学院

完成日期:2014.11.11 Matlab指纹识别系统 (姓名江帅璋2013级2班) 摘要 本文系统地介绍了指纹识别技术的发展和国内外研究应用现状,阐述了建立指纹识别系统的必要性和意义。以数字图像处理为基础,研究指纹识别的原理和方法,重点分析基于神经网络指纹识别算法、滤波特征和不变矩指纹识别算法和指纹匹配算法,将matlab作为仿真工具,针对已有的三种指纹识别算法进行编程识别;并通过实验论证各种算法的优缺点。 关键字:指纹识别;算法;matlab仿真

目录 第一章绪论 (4) 1.1 引言 (4) 1.2指纹识别技术的发展和研究现状 (5) 1.3 指纹识别研究的目的和意义 (7) 1.4 本论文结构 (8) 第二章指纹识别的理论和方法 (9) 2.1指纹识别的基本原理 (9) 2.2指纹识别系统工作流程 (9) 2.3指纹识别技术的方法 (10) 2.3.1神经网络指纹识别算法 (10) 2.3.2 滤波特征和不变矩指纹识别算法 (11) 2.3.3指纹匹配算法 (13) 第三章matlab仿真实验结果与分析 (16) 3.1 算法matlab仿真结果 (16) 3.2 结果分析 (17) 第四章总结与展望 (18) 参考文献 (19) 附录 (20) 致谢............................................................................................ 错误!未定义书签。

基于MATLAB的指纹识别系统设计

基于MATLAB的指纹识别系统设计

摘要 生物识别技术已经成为身份识别和网络安全的发展技术之一,其中指纹识别技术是目前公认的安全,准确,方便的身份认证技术之一,使之成为人们研究的热点。 本文主要设计一个基于matlab 的指纹识别系统。首先主要介绍了指纹识别技术研究的背景,意义,及现状。其次,实现了指纹识别系统,描述了指纹识别系统的基本结构,并且对指纹图像的预处理、特征提取、特征匹配这三个必要的环节的算法进行了详细地研究,在指纹图像预处理阶段,本文使用基于灰度的算法对图像进行了分割,同时,针对二值化后图像中仍存在的噪声,也进行了相应的修整处理,尽可能的为以后指纹特征的提取打好基础,从而成功地实现了对指纹数字图像的处理、特征提取、保存和匹配等功能。最后,对指纹识别系统进行了仿真,仿真结果表明该系统可以较好的进行识别,准确率达到了95.1%。 关键词:指纹识别;预处理;二值化;特征提取;特征匹配

Abstract Biometric technology has become one of the developing technologies for identity recognition and network security. And fingerprint identification technology is now recognized as one of the most safe, accurate and convenient authentication technologies, and it is a focus for researchers. This paper designs a matlab-based fingerprint recognition system. The first introduces the fingerprint recognition technology research background, significance, and the status quo. Secondly, to achieve fingerprint identification system, describes the basic structure of the fingerprint identification system, and the fingerprint image preprocessing, feature extraction, feature matching these three essential aspects of the algorithm is studied in detail in the fingerprint image pre-processing stage this article uses an algorithm based on gray image segmentation carried out at the same time, for the image after binarization noise still exists, but also for the corresponding trimming process, as much as possible for the future lay the foundation for fingerprint feature extraction and thus successfully achieved fingerprint digital image processing, feature extraction, storage and matching functions. Finally, the fingerprint identification system for simulation, simulation results show that the system can identify a better accuracy rate reached 95.1%. Key Words:Fingerprint Recognition;Processing;Binarization;Feature Extraction;Feature Matching

Matlab指纹识别

指纹识别技术研究 个人的指纹是独一无二的,两人之间不存在着相同的手指指纹。 每个人的指纹是相当固定的,不会随着人的年龄的增长或身体健康程度的变化而变化,但是人的声音等却存在较大变化的可能。 3)指纹样本便于获取,易于开发识别系统,实用性强。目前已有标准的指纹样本库,方便了识别系统的软件开发;另外,识别系统中完成指纹采样功能的硬件部分也较易实现。而对视网膜则难于采样,也无标准的视网膜样本库供系统软件开发使用,这就导致视网膜识别系统难以开发,可行性较低。 一个人的十指指纹皆不相同,这样可以方便地利用多个指纹构成多重口令,提高系统的安全性。 指纹识别中使用的模板并非最初的指纹图,而是由指纹图中提取的关键特征,这样使系统对模板库的存储量较小。另外,对输入的指纹图提取关键特征后,可以大大减少网络传输的负担,便于实现异地确认,支持计算机的网络功能。 近些年来,电子信息技术的飞速发展,特别是传感技术、电子信号处理技术、计算机数据管理技术、计算机网络技术的飞速发展,为指纹识别技术的成型提供了强大的硬件支持。与此同时,图形图像处理学、人工智能学、软件工程学等新兴学科的蓬勃发展也为指纹识别技术的进步提供了强有力的软件支持。指纹识别的发展中,也存在自身的不足,如指纹识别系统性能的测试和评估标准的确立、相关软件的标准化问题都是有待进一步解决的。指纹识别技术作为一项迅猛发展的新技术,有了软硬件等方面的强大保障,同时又有指纹识别自身的诸多优点,相信指纹识别技术一定会有更加美好的发展前景。 摘要:随着生物识别技术的不断发展,人们发现每个人的指纹具有唯一性和不变性。因此指纹识别技术逐步发展为一种新的身份识别方式,并且凭借其良好的安全可靠性,大有取代传统身份识别方式的趋势。 本文简要介绍了指纹识别的基本步骤,分别是指纹图像预处理、指纹特征提取、指纹匹配。在图像预处理中,依次介绍了规格化处理、图像增强、二值化处理和细化处理的方法。预处理后

Matlab在指纹识别系统中的应用

指纹识别系统的简述 指纹识别提取的特征点有两个地方,一个是结束点和分叉点。而指纹的自动匹配就是取决于这些区域对比的特征以及关系来达到识别的目的。这些细节点比对的正确程度又很大的依赖于输入指纹的质量。所以提高输入指纹的图片质量成为了识别的基础。 指纹图像加强步骤 步骤简述 grey-level fingerprint image:用matlab计算出图片的平均值mean 以及方差varianc. orientation image:显示指纹图像的纹路方向 frequency image:显示指纹脊谷沿着该区域的指纹方向的频率 region mask:判断指纹是否可恢复,可修复的指纹图像才能进入滤波器步骤 Gabor filter:使图像平滑,消除原始图像噪点 上两周与导师在时间方面做了一次交流,对第一步标准化得灰值图在matlab上进行了试验。我们输入一个图像Image进去以后,通过matlab计算出它原始的平均值mean以及方差variance,分别记为M(I)和VAR(I),然后再输入我们的期望M以及期望VAR,将计算出M(I)和VAR(I),期望M以及期望VAR带入公式得出一个期望的G(i,j),得到一个标准化得灰值图。 具体步骤的实施 1.标准化 用论文中的公式计算出期望的灰度值,公式中包含期望的均值和方差以及已计算出的图像本身的均值和方差,得到标准化后的灰度图像G。 2.方向性图像 图片会沿着指纹的方向显示出脊谷的方向,是一个指纹图像固有的特性。 1)将标准化后的图像G按块分。 2)计算每个像素中x与y方向上的梯度(利用Sobel Operator 索贝尔算子) 3)运用论文中所给等式估计出每块的区域的中心方向。(最小二乘估计) 4)由于噪点的存在,毁坏了指纹的脊谷结构和细节点,所以我们所估计的方向未必准确。又因为在没有单个点出现的区域以及邻域当中脊谷的方向变化不大,所以我们可以用低通滤波器去修改不正确的区域方向。为了得到这个滤波器我们可根据论文中等的公式将方向图像转化为一个连续的矢量场。 5)再计算一次正确的方向 3.脊谷的频率图像

基于matlab的指纹图像增强方法

课程设计报告 设计题目:指纹图像的增强— 学院:电子工程学院 专业:电子信息工程 班级:__________________________ 成绩: 指导教师: 一、设计概述 1. 课程设计题目:指纹图像的增强方法 2. 基本要求:读取初始指纹图像,设计程序,实现指纹图像的增强,使指纹的纹理更加清晰,便于 识别。

3. 指纹图像增强的意义:指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件。是人类进化过程式中自然形成的。目前尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二。由于指纹是每个人独有的标记,近几百年来,罪犯在犯案现场留下的指纹,均成为警方追捕疑犯的重要线索,使得指纹识别技术得到了飞快的发展,指纹图像的识别也就变得非常具有意义,但是通过传感器等方式获取到的指纹图像往往是比较模糊的,识别率相对较低,此时,指纹图像增强就孕育而生,通过对指纹图像的增强处理,得出了具有较清晰的图像,是识别率更高。 二.设计思路:指纹图像增强的主要步骤及方法 ①读取指纹图像 ②指纹图像灰度化处理 ③指纹图像平滑处理 ④指纹图像的腐蚀处理 ⑤指纹图像的锐化处理 ⑥指纹图像二值化 ⑦指纹图像纹理的细化处理 三.具体的处理流程及其分析 1. 指纹图像的读取 将通过传感器或者别的方式获取到的指纹图像读取到matlab 中;如.bmp .jpg 等格式的图片文件。通过matlab 实现: I=imread(‘文件路径+图像名.jpg'); 2. 指纹图像灰度化处理 数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化;灰度化就是使彩色的R,G,B 分量值相等的过程 I=rbg2gray (I ) 3. 指纹图像平滑处理(此处我们使用的是中值滤波的方法处理) 图像平滑的主要目的是减少图像噪声。图像噪声来自于多方面,有来自于系统外部的干扰(如电磁波或经电源窜进系统内部的外部噪声) ,也有来自于系统内部的干扰(如摄像机的热噪声、电器机械运动而产生的抖动噪声等内部噪声) 。实际获得的图像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。减少噪声的方法可以在空间域或频率域处理。在空间域中进行时,基本方法就是

(Printed)基于Matlab实现的指纹图像细节特征提取

第24卷 第1期计 算 机 仿 真2007年1月 文章编号:1006-9348(2007)01-0182-04 基于M a tl ab实现的指纹图像细节特征提取 郭晶莹,吴晴,商庆瑞 (北京工业大学,北京100022) 摘要:指纹图像的特征提取是指纹识别的关键,而指纹匹配通常基于细节点匹配。介绍了一套基于Matlab实现的指纹细节 特征提取方法,并给出了去伪算法。指纹特征提取是从细化后的指纹图中得到细节特征点(即端点和分叉点),此特征点含 有大量的伪特征,既耗时又影响匹配精度。采用了边缘去伪和距离去伪,使得特征点去伪前后减小了近1/3,然后提取可靠 特征点信息,以便实现指纹匹配。实验证明,用Matlab实现的这种方法,既简单快速,而且具有较高的准确率。 关键词:指纹识别;细节点;特征提取;伪特征点 中图分类号:TP391.4 文献标识码:A M i n uti a e Extracti on of F i n gerpr i n t I mage Ba sed on M a tl ab G UO J ing-ying,WU Q ing,SHANG Q ing-rui (Beijing University of Technol ogy,Beijing100022,China) ABSTRACT:M inutiae extracti on is essential in finger p rint recogniti on,and finger p rintmatch is used t o search m inu2 tiae.This paper intr oduces a set of algorith m s for extracting m inutiae fr om finger p rint i m age based on Matlab.M inuti2 aes(end m inutia and bifurcati on m inutia)are extracted fr om thinned finger p rint i m age and they have a l ot of false m i2 nutiaes.They are not only ti m e-consu m ing,but als o affectmatching p recisi on.Most false m inutiae are eli m inated by a method using edge-deleting and distance-threshold in this paper.Reliable m inutiaes are extracted in order t o a2 chieve finger p rint match.The experi m ental results show that this algorith m of matlab is si m p le,quick and accurate. KE YWO RD S:Finger p rint recogniti on;M inutia;M inutiae extracti on;False m inutiae 1 引言 指纹识别技术是一种应用前景非常乐观的生物识别技术,国内外很多机构都在进行相关研究,尽管目前已有多种商用自动指纹识别系统在市场上销售,这些产品都宣称有极好的性能[1],但由于技术的保密性、现有算法的缺陷性以及追求产品的完美实用性,使得指纹识别算法的研究仍然是当前国内外研究的热点之一。在指纹自动识别系统中,必须对指纹进行特征提取,然后根据特征及其相互之间的位置与拓扑关系在指纹库中进行匹配,从而检索到有关信息。指纹的特征是指纹脊线的某种构型,如端点、分叉点等。 本文介绍了一套基于Matlab实现的指纹细节特征提取及其后处理算法。本文的算法都是通过MAT LAB仿真而验证的,以Matlab作为指纹图像识别算法仿真的平台,既有较高的准确率,而且可以大大减小仿真的难度。 2 指纹识别系统的工作原理 指纹识别流程如图1。 活体指纹通过指纹采集装置采集到系统中,形成指纹数据图像。采入的指纹图像一般存在大量无用信息和干扰信息(噪声),预处理就是要把这些信息尽量去除掉,使图像更清晰,以便提取正确的指纹特征从而达到正确匹配。预处理过程主要包括指纹图像的滤波增强、二值化、细化等,最后输出纹线宽度只有一个像素的细化二值指纹图像。并在此基础上,进行指纹特征信息的提取,得到该枚指纹的特征集(特征点的坐标、方向、数量等信息),然后用该枚指纹的特征集与已登记的指纹特征集进行匹配,最后显示识别结果。 3 M AT LAB语言简介 MAT LAB语言是一种优秀的计算机语言,具有数学运算能力是它的突出优点之一。许多在C语言中或者其它高级语言中很复杂的编程问题在MAT LAB语言编程中只需要一条专用指令就可以完成。MAT LAB语言的所有计算都基于矩阵运算来完成,所以,MAT LAB中的所有变量都定义为矩阵,所有的运算都是关于矩阵的运算。它是一种解释型语言,几乎没有格式上的限制。为了缩短算法的开发周期,运用MAT LAB语言描述简单和图形显示功能比较强大的特点,以它作为指纹图像识别算法仿真的平台。 收稿日期:2005-11-04 修回日期:2005-11-07

基于MATLAB图像处理的指纹特征点提取[权威资料]

基于MATLAB图像处理的指纹特征点提取[权威资料] 基于MATLAB图像处理的指纹特征点提取 摘要:伴随着信息科学技术飞速发展的步伐,非常多的系统更加关注安全的问题,因此,可靠的、安全的身份识别技术成为了众多系统安全应用的首选。指纹图像特征提取作为指纹识别领域非常重要的研究部分,自然而然的引起了广大学者的关注。本课题研究的主要内容便是指纹图像特征点提取以及伪特征点的剔除。 关键词:MATLAB;特征点;指纹识别;分叉点 TP391.41 随着科学技术以及社会的不断进步,基于口令、信物、数字等的传统的安全认证模式正在变得越来越脆弱[1],现代化的安全系统必须寻求全新的安全认证方法才能满足现代化的社会需求。指纹识别技术是到目前为止应用最为广泛的个人身份认证技术,指纹所具备的稳定性以及唯一性更加的确定了指纹识别技术的应用地位,在计算机不断进步的同时,指纹识别技术以及算法也在不断的提升,甚至指纹传感器的性能也得到了大幅度的提升,所以,较高质量的指纹图像信息采集技术成为了安防领域以及身份认证领域研究的重点课题。 1 指纹图像特征 1.1 指纹图像全局特征 指纹的全局特征通常指的是常人通过肉眼就可以辨认出的特征,全局特征的基本纹路图案通常分为三种:环型(loop),弓型(arch)以及螺旋型(whorl)[2],这三个指纹图案是其余的指纹图案的基础,但是三种类型的分类相对比较粗略,并不能完全比对出采集到的指纹图像,但是对指纹进行分类却能够为指纹图案的比对查询提供方便。

通常情况下,指纹图像中的用于描述全局特征的区域称之为模式区,即通过指纹图像的模式区便可以将指纹图像进行分类划分,有的指纹算法提取的只是模式区的指纹数据,而有的指纹算法则仅仅提取模式区的一部分指纹数据。 指纹图像的核心点具体指的是指纹图像纹路的渐进中心,这个点的数据信息非常重要,通常被用作读取指纹时以及比对指纹时候的参考点,指纹图像的核心点被很多的指纹识别算法采用,但是局限是仅仅能够识别具备核心点的指纹图像。 指纹图像数据也存在三角点,具体指的是以核心点为标准,开始之后的第一个断点或者分叉点,亦或者相交纹路的汇聚点、折转点、孤立点,或者指向这些点的怪异点。三角点是指纹识别算法的关键点之一,为指纹图像纹路的计数跟踪提供了基准参考点。 指纹纹数具体指的是模式区内所有指纹纹路的数量。指纹纹数在计算的时候,通常会将核心点与三角点连接起来[3],这条连线与指纹纹路交接点的数量便可以确定指纹图像的纹数。 1.2 指纹图像局部特征 指纹图像的局部特征具体指的是指纹上节点的详细特征,具备一些特征的指纹图像节点被称之为特征点。不同的指纹可能会出现总体特征相同的情况,但是绝对不会出现特征点相同的不同指纹。 1.2.1 指纹图像的特征点 指纹图像的纹路并不是笔直的、平滑的、连续的,伴随着指纹纹路的经常是分叉、打折亦或者中断,指纹纹路的这些分叉点、断点以及转折点便被称之为“特征点”,众多的“特征点”的集合便构成了确定指纹图像唯一的信息数据。 1.2.2 指纹图像特征点的分类 指纹的特征点通常被分为终结点、分叉点、分歧点、孤立点、环点、短纹、方向、曲率以及位置。终结点以及分叉点是特征点最为典型的两类。

基于MATLAB的指纹识别系统(开题报告)

重庆工商大学 毕业论文(设计)开题报告计算机科学与信息工程学院(系)测控技术与仪器专业(本科)2006级1班课题名称:基于MATLAB的指纹图像预处理系统设计 毕业论文(设计)起止时间: XX年XX月XX日~XX月XX日(共XX周) 学生姓名:XX学号:XX 指导教师:XX 报告日期: XX学毕业论文(设计)开题报告3-1

1.本课题所涉及的问题在国内(外)的研究现状综述 1、指纹识别及其优点。人手的指纹即为手指皮肤上的花纹,它是人的一种生物特征。该特征具有独特的性质,其花纹的细节由细微纹点和纹脊的起点、终点、分叉、结合等组成。正是这些无穷无尽的细节特征组合构成了指纹 的唯一性。事实上,甚至包括双胞胎,世界上两个指纹相同的几率<1/ 9 10,几乎为零,这就构成了指纹的第一大特 点。指纹特征的另外几大特点是:不变性——即指纹的图案永远不会改变;与主体永不分离性——即指纹不存在丢失、遗忘、被窃取的可能;指纹的使用比起其它证卡来说更快捷、安全、准确、无干扰,可实现快速登录注册,系统兼容性好,也就是说可以独立或者通过联网构成系统且很容易并入各类证卡和定义识别系统中。因此,指纹识别技术的应用范围极广(除化学家和矿工外均能鉴定)。 2、指纹自动识别系统的发展现状。指纹自动识别系统是集计算机、网络、光电技术、图像处理、智能卡、数据库技术等于一体的综合高技术。目前的指纹自动识别系统是采用先进的光电识别办法采集一个指纹信息,并把它变成可以和已由计算机处理过的暗码相比对的代码。这些代码都经过加密处理,然后经独特的相关算法进行识别判断,在算法上有的采用是一个指纹的全部图案,而有的是指纹的特殊细节。 目前的自动指纹识别系统已具有如下特点:(1)可靠性:采用独特的容错技术,既使指纹有破坏,即指纹不全或指纹随时间有自然的变化时也不影响正确识别。(2)快捷性:大多数系统鉴别时间仅需1~3s,登录注册一个新客户只需1m in的时间。(3)灵活性:一个指纹信息的代码可以压缩到几十个字节到几百个字节,因此可以存放在一个磁条上或者一张两维条码卡上或者IC卡上,甚至几个指纹代码可以存在一张智能卡上。当然,成千上万的代码可以存放在局域或网络化数据库中,这样,代码可以沿网络迅速传输,因而可以灵活的构成各类系统,即可以独立使用或集成到一个大范围的出入口控制或者安全处理系统如证卡存档识别系统中。(4)可接受性:一个因素是目前的系统具有高性能;另一个因素是目前的系统设计已考虑到人类工程学设计,因而易被用户接受。(5)安全性:所有个人代码都经过了特殊加密,通过所存储的代码不可能复原原指纹,彻底避免了指纹的冒用,因此既使证卡丢失,也不存在安全问题。(6)方便性:目前出现的各类指纹识别系统一般外观设计精巧、结实,采用了精密独特的光电系统,具有LD或全程液晶提示,备有多种安装模式。(7)兼容性:可以与现有的各类系统兼容,可实现全自动化的识别。(8)实时性:可实现完整的跟踪、实时报警功能。正是由于目前已经开发出了具有如上特点的指纹识别技术,因此以此为基础的个人识别技术,即证卡、代码、指纹的综合动态模式组合,将可以对不同的应用场所提供不同的安全等级。 3、市场前景。自动指纹识别系统有着极其广阔的应用前景。众所周知,指纹识别最早是在罪犯鉴别中应用,它对于提高侦破手段、震慑罪犯、打击刑事犯罪成为强有力的武器并起到了重要作用。根据目前的了解,A F IS的其它适用场所为:政府各类机要部门(例如档案馆(室)、机要室)、国家重点实验室及生产重地、机场、军事要地(例如基地、仓库)、重要军事装备或关键设备的启动控制、银行金库、金融系统、代保管库、博物馆、珍宝馆、高级住宅、高级宾馆等重要门禁或入口控制、汽车门锁等。除此之外,另一大潜在应用前景是:自动取款机(A TM)、信用卡、驾驶执照、身份证、医疗健康卡、移民登记、计算机系统安全、机械登记等方面。1、指纹锁,指纹锁可以装在门里、车内、保险箱柜的内部,外面无锁眼,从而避免了撬锁,可广泛用于金库、保安、银行、出纳、自动门、百叶门、保险柜、电控装置等门禁系统中。2,指纹卡,国际上偷盗使用卡和利用信用卡进行诈骗犯罪活动越来越猖獗,仅1995年英国因此损失8千万英镑,法国损失3100万英镑,目前我国信用卡用户已达2~3千万,利用信用卡犯罪我国也在呈不断上升趋势。我国政府打算用10年左右的时间,在全国400多个城市的3亿人中推广信用卡,预计发行量将达到2亿张。目前我国IC卡年产量已达6千万张,生产能力已达1亿张,全世界到2000年IC卡的总需求超过38亿张,我国需求量为年均2千万张。目前,国内各种磁卡、IC卡系统已十分普遍。例如:大庆市1996年已拥有医疗保险IC卡80万张,全国联网的200电话磁卡已有上百万用户。由于指纹识别技术的诸多优点,可以预料,一方面指纹卡将会在一切需要验证身份的场所发挥越来越重要的作用,其应用领域将会进一步拓宽;另一方面,由于市场的推动,指纹识别技术也会不断提高,在其识别可靠性、速度、成本等方面进一步朝实用化迈进。我们期待着指纹识别这一高技术在人们的生活中起到应有的越来越重要的作用。

基于matlab的指纹图像增强方法

课程设计报告 设计题目:指纹图像的增强 学院:电子工程学院 专业:电子信息工程 班级: 学号: 姓名: 电子邮件: 日期: 2013 年 9 月 成绩: 指导教师:

一、设计概述 1.课程设计题目:指纹图像的增强方法 2.基本要求:读取初始指纹图像,设计程序,实现指纹图像的增强,使指纹的 纹理更加清晰,便于识别。 3.指纹图像增强的意义: 指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件。是人类进化过程式中自然形成的。目前尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二。由于指纹是每个人独有的标记,近几百年来,罪犯在犯案现场留下的指纹,均成为警方追捕疑犯的重要线索,使得指纹识别技术得到了飞快的发展,指纹图像的识别也就变得非常具有意义,但是通过传感器等方式获取到的指纹图像往往是比较模糊的,识别率相对较低,此时,指纹图像增强就孕育而生,通过对指纹图像的增强处理,得出了具有较清晰的图像,是识别率更高。 二.设计思路:指纹图像增强的主要步骤及方法 ①读取指纹图像 ②指纹图像灰度化处理 ③指纹图像平滑处理 ④指纹图像的腐蚀处理 ⑤指纹图像的锐化处理 ⑥指纹图像二值化

⑦指纹图像纹理的细化处理 三.具体的处理流程及其分析 1.指纹图像的读取 将通过传感器或者别的方式获取到的指纹图像读取到matlab中;如 .bmp .jpg 等格式的图片文件。 通过matlab实现: I=imread(‘文件路径+图像名.jpg'); 2. 指纹图像灰度化处理 数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化;灰度化就是使彩色的R,G,B分量值相等的过程 I=rbg2gray(I) 3.指纹图像平滑处理(此处我们使用的是中值滤波的方法处理) 图像平滑的主要目的是减少图像噪声。图像噪声来自于多方面,有来自于系统外部的干扰(如电磁波或经电源窜进系统内部的外部噪声),也有来自于系统内部的干扰(如摄像机的热噪声、电器机械运动而产生的抖动噪声等内部噪声)。实际获得的图像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。减少噪声的方法可以在空间域或频率域处理。在空间域中进行时,基本方法就是求像素的平均值或中值;在频率域中则运用低通滤波技术。

开题报告-基于Matlab的指纹识别

毕业设计选题:基于matlab的指纹识别 随着科学技术的不断发展,自动化的指纹识别技术如今已经被人们广泛地应用在银行、商业交易、公安部门、海关部门等需要对人的身份进识别的领域,而本文所描述的是对自动化指纹识别系统的研究现状以及自动化指纹识别系统的基本算法和流程,本实验是利用MATLAB2012来进行了指纹识别系统的仿真和实验的。 然而在生物识别技术的快速发展的今天,人们通过研究发现了每一个人的指纹都具有唯一性和不变性。也正因为这样,指纹识别技术正在逐步的发展成为一种新的身份识别技术,并且凭借它良好的安全性以及可靠性,逐步有取代传统身份认证的方式趋势。 本实验简单的介绍了指纹识别图像的预处理的方法和步骤。指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。本论文中采用MATLAB2012编程实现所有算法。 关键词:指纹识别技术指纹图像预处理指纹识别 MATLAB2012 1.1指纹及其识别 如今,生物特征识别领域中的最为成熟的应用技术之一--指纹识别技术。其实它已经有非常悠久的历史了。很久以前,指纹识别技术已经很早就应用于刑事侦查和司法鉴定领域了,很多人不知道的是。随着计算机网络和信息处理技术的快速发展,这门历史悠久的指纹识别技术也开拓了更多更广阔的市场,自动的指纹识别技术和与其相关的产品越来越多的应用在普通人的生活当中。 生物识别技术(Biometric Identification Technology)的定义是:利用人体的不同的生物特征来进行对人的身份进行认证的一种技术[1]。这是因为人的生物特征是唯一的,可以区分与他人不同的特征。并且我们还可以通过技术测量或者是自动识别来检验出生理特性以及行为方式,我们所说的这个特征分为生理特征、行为特征。我们对生物特性来进行提取并放入数据库,再将提取出来的人

(毕业论文)基于MATLAB的指纹识别系统设计

大连民族学院本科毕业设计(论文)基于MATLAB的指纹识别系统设计

摘要 生物识别技术已经成为身份识别和网络安全的发展技术之一,其中指纹识别技术是目前公认的安全,准确,方便的身份认证技术之一,使之成为人们研究的热点。 本文主要设计一个基于matlab 的指纹识别系统。首先主要介绍了指纹识别技术研究的背景,意义,及现状。其次,实现了指纹识别系统,描述了指纹识别系统的基本结构,并且对指纹图像的预处理、特征提取、特征匹配这三个必要的环节的算法进行了详细地研究,在指纹图像预处理阶段,本文使用基于灰度的算法对图像进行了分割,同时,针对二值化后图像中仍存在的噪声,也进行了相应的修整处理,尽可能的为以后指纹特征的提取打好基础,从而成功地实现了对指纹数字图像的处理、特征提取、保存和匹配等功能。最后,对指纹识别系统进行了仿真,仿真结果表明该系统可以较好的进行识别,准确率达到了95.1%。 关键词:指纹识别;预处理;二值化;特征提取;特征匹配

Abstract Biometric technology has become one of the developing technologies for identity recognition and network security. And fingerprint identification technology is now recognized as one of the most safe, accurate and convenient authentication technologies, and it is a focus for researchers. This paper designs a matlab-based fingerprint recognition system. The first introduces the fingerprint recognition technology research background, significance, and the status quo. Secondly, to achieve fingerprint identification system, describes the basic structure of the fingerprint identification system, and the fingerprint image preprocessing, feature extraction, feature matching these three essential aspects of the algorithm is studied in detail in the fingerprint image pre-processing stage this article uses an algorithm based on gray image segmentation carried out at the same time, for the image after binarization noise still exists, but also for the corresponding trimming process, as much as possible for the future lay the foundation for fingerprint feature extraction and thus successfully achieved fingerprint digital image processing, feature extraction, storage and matching functions. Finally, the fingerprint identification system for simulation, simulation results show that the system can identify a better accuracy rate reached 95.1%. Key Words:Fingerprint Recognition;Processing;Binarization;Feature Extraction; Feature Matching

基于Matlab的指纹图像特征提取

摘要 随着社会的发展,传统的基于信物或口令的安全系统显得越来越脆弱,不能适应现代安全系统的需要,因而人们需要研究更加安全可靠,防伪性能更好的安全系统。指纹识别技术就是在这种背景下产生的,它借助人体的生理特征来提高身份识别的可靠性,目前已经成为国内外研究的热点。 指纹识别大体分为三个步骤:预处理、特征提取和特征匹配。本文集中于研究特征提取部分,并针对特征提取中的一些关键算法和实现进行了研究和优化,其主要内容如下:在特征提取方面,本论文采用了一种8邻域编码纹线跟踪算法,标注出端点和分叉点来进行特征提取;在剔除伪特征点时,先进行去边缘处理,再根据不同类型伪特征点的特征,采用相应剔除算法。实验表明,以上算法具有较小的运算量和较高的准确性。上述算法在本文中均用Matlab实现,取得了较好的效果,为后续的特征匹配工作打下了良好的基础。 关键字:指纹特征提取,去除伪特征,算法仿真

Matlab-based fingerprint image feature extraction Abstract With the development of society, the traditional safety system based on keepsake and password has been weaker, Which can not meet the requirement of modern safety system. In this case, the need of a more reliable safety system with higher anti-fake performance prompts the appearance of fingerprint identification technique. This technique, with a higher safety and reliable performance, can improve the reliability of identity resolution in virtue of human body’s physiological feature, and it has been a research focus these days. Fingerprint identification falls into three parts, they are pretreatment, feature extraction, and characteristic matching. The thesis mainly focus feature extraction, it optimized and innovated some key algorithms of this parts, which can be described as follows: in the feature extraction part, the thesis used a eight-neighborhood coding ridge tracing algorithm, removing some templates of consecutive points and bifurcate points which have been optimized and removed in the thinning algorithm, and finally marking terminate points as well as bifurcate Points to execute feature extraction. Experiment result indicated that such new algorithm has a less operation but with a higher accuracy. All the algorithms introduced above have been implemented on Matlab, and result proved an adaptive good effect, which facilitates the next characteristic matching process. Key words:Feature extraction, Removing of false characteristic points, Algorithm simulate

指纹识别算法的matlab实现

指纹识别算法的matlab实现 摘要由于指纹所具有的普遍性,唯一性和不变性,以及指纹识别技术具有很高的可行性和实用性,使之成为目前最流行、也最可靠的个人身份认证技术之一。 本文主要对指纹图像进行三方面处理:图像预处理、特征提取和特征匹配。图像预处理包括四个步骤:图像分割、滤波增强、二值化、细化,对指纹图像进行预处理后,去除了原图像的冗余部分,方便后续的识别处理;特征提取主要是提取指纹图像细化后的端点和分叉点;特征匹配是利用两个指纹的图像进行特征点比较,来确定两幅图像是否来自于同一手指。 本文给出了指纹图像预处理、特征提取、特征匹配的matlab程序及处理结果。该结果证明,用matlab实现的这些算法的处理结果比较理想,满足识别的可行性和应用性。 关键词分割,二值化,细化,特征点提取,匹配,Matlab Abstract Because 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 personal 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 preprocessing, 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

基于Matlab的人体指纹识别程序设计(课程设计)

课程设计 课程名称 课题名称基于Matlab的人体指纹识别程序设计 专业 班级 学号 姓名 指导老师 年月日

课程设计任务书 课题名称基于Matlab的人体指纹识别程序设计 姓名专业班级学号 指导老师 课程设计时间 教研室意见意见:审核人: 一、任务及要求 1)根据所学的知识和能力,利用Matlab软件设计程序实现根据指纹的大小、形状等特征,识别出不同的指纹; 2)利用按键标志当前指纹识别的状态,例如录入状态、识别状态、清楚状态。 设计要求: 1)对指纹识别的过程进行分析,掌握指纹识别系统算法的工作原理; 2)进行指纹识别程序的方案设计; 3)进行指纹识别程序的模块设计; 4)要有必要的算法设计说明; 5)写出课程设计报告。报告中应包括原理框图、参数曲线分析、操作方法、算法分析、软件调试等,调试过程中遇到的问题,改进方法和总结体会; 6)答辩。 二、进度安排 周一:集中布置课程设计任务和相关事宜,查资料确定指纹识别程序设计总体方案。 周二~周五:完成人体指纹识别程序设计及仿真。 周六~周日:设计报告撰写,周日进行答辩和设计结果检查。 三、参考资料

目录 第1章绪论 (1) 1.1 Matlab介绍 (1) 1.2 Matlab优势特点 (1) 1.3 指纹识别 (1) 1.4 指纹识别技术的主要优点 (1) 第2章设计任务及要求 (2) 2.1 设计任务 (2) 2.2 设计要求 (2) 第3章系统方案设计 (3) 3.1 系统方案设计 (3) 3.2 系统框图 (3) 第4章系统软件设计 (4) 4.1 主函数 (4) 4.2 归一化和切割 (5) 4.3 二值化 (7) 4.4 细化 (9) 4.5 中心点提取 (11) 4.6 求特征点 (14) 4.7 指纹匹配 (16) 第5章系统仿真及调试 (17) 总结 (20) 参考文献.......................................................................................................... 错误!未定义书签。附录. (23)

相关主题
文本预览
相关文档 最新文档