matlab指纹特征提取

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图形图像处理课程

大作业

姓名:

班级:

学号:

目录

问题描述 (2)

摘要 (3)

正文 (3)

1、指纹细节特征提取 (4)

2、指纹图像的预处理..................................错误!未定义书签。

3、指纹图像的特征提取..............................错误!未定义书签。

4、指纹特征的去伪 (6)

5、指纹特征提取和识别MATLAB实现 (7)

总结 (9)

附录: (9)

Matlab图形界面操作

------指纹图像细节特征提取

问题描述

期末运用学习的matlab知识对指纹图像进行细节特征提取,实现如下功能。

●实现指纹图像的细化。

●实现指纹图像的特征点提取。

●实现特征图像的细化去伪。

●编写代码实现上述功能。

摘要:

本次任务旨在完成对指纹图像的细化、去伪和特征点的提取。采用了8邻域编码纹线跟踪算法,标注出端点和分叉点来进行特征提取。用matlab 软件实现功能。

正文

1、指纹细节特征提取

对于一幅指纹的原始图像,为了使后续特征提取的操作能够正常有效的进行,必须对原始指纹图像进行一定的处理,即对原始图像进行预处理,预处理后对图像进行特征提取,包括端点和分叉点。最后对图像进行指纹特征去伪。2、指纹图像的预处理

指纹图像的预处理一般包括二值化和细化处理过程

(1)二值化

所谓二值化就是将灰度图像转化为灰度值为0、1组成的黑白图像,0为背景灰度,1为纹线点灰度,它是指纹图像处理中重要的一步。由于指纹图像的方向特征、细节点位置等特征的提取以及匹配都跟像素点灰度值的多少没关系,只跟指纹图像的脊线的形状、走向有关系,因此二值化处理不会丢失指纹图像的特征信息,另外二值化还可以方便图像信息的存储,节约存储空间,并且方便了后续的计算处理。常用的二值化方法有:固定阀值法、局部自适应阀值法等。

(2)细化

细化是图象分析、信息压缩、特征提取、模式识别常用的基本技术。它是在不改变图像像素的拓扑关系的条件下,连续擦除图像边缘像素,使纹线最终成为一个像素宽。细化算法的迭代必须收敛且不能破坏纹线的连接性,不能引起纹线的逐步吞食,还要尽可能的保护指纹的细节特征,细化的骨架也要尽可能接近纹线中心线,要求算法简单、高效。常用的细化算法包括逐层剥离法、距离变换法。

代码实现:

I=im2bw(origin);%二值化

%细化指纹图像

[M,N]=size(I);

for i=2:M-1

for j=2:N-1

if I(i,j)==0

if(I(i-1,j)==0&I(i,j+1)==0)|(I(i-1,j)==0&I(i,j-1)==0)|(I(i+1,j)==0&I( i,j-1)==0)|(I(i+1,j)==0&I(i,j+1)==0)

I(i,j)=1;

else

I(i,j)=0;

end

end

end

end

subplot(2,2,2);imagesc(I);

xlabel('细化后指纹图像')

3、指纹图像的特征提取

指纹图像的特征提取采用了8邻域编码纹线跟踪算法,标注出端点和分叉点来进行特征提取。传统的特征提取方法主要有两种:第一种是直接从原始指纹图像上进行细节特征提取,另一种是从细化后的指纹图像上进行特征提取。第一种算法比较复杂,受噪声干扰影响较大,特征点定位不精确,大多数系统都采用了第二种方法。

代码实现:

%特征点提取(端点或分叉点)

t=0;

for i=2:M-1

for j=2:N-1

if I(i,j)==0

n=I(i-1,j-1)+I(i-1,j)+I(i-1,j+1)+I(i,j-1)+I(i,j+1)+I(i+1,j-1)+I(i+1,j) +I(i+1,j+1);

if(n==5|n==7)

t=t+1;

x(t)=j;

y(t)=i;

end

end

end

end

subplot(2,2,3);imagesc(I);

xlabel('指纹特征提取图像')

4、指纹特征的去伪

提取指纹图像的细节特征,是在细化图像进行的。由于图像质量和噪声的干扰,经过预处理后的细化图像上存在大量的伪特征点。

伪特征一般具有以下特点:大部分处于图像边缘;在图像内部的伪特征点距离较近,两个或多个伪特征同时存在于很小的区域内。根据指纹图像伪特征分布特点提出两种去伪方法:首先对于图像边缘的点,采用指纹图像切割的方法,即对边缘的点直接切除掉;然后利用最短距离阈值法去除距离较近的特征点。

代码实现:

for i=1:t-1

for j=i+1:t

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

if d<6%去除距离较近的特征点

x(i)=-1;y(i)=-1;x(j)=-1;y(j)=-1;

end

end

end

c=0;

d=0;

for i=1:t

if(x(i)>=10&x(i)<165)&(y(i)>=10&y(i)<140)%去除边缘的特征点c=c+1;l(c)=x(i);d=d+1;h(d)=y(i);

end

相关文档
最新文档