matlab指纹特征提取.doc_第1页
matlab指纹特征提取.doc_第2页
matlab指纹特征提取.doc_第3页
matlab指纹特征提取.doc_第4页
matlab指纹特征提取.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图形图像处理课程大作业姓名: 班级: 学号: 目录问题描述2摘要3正文41、指纹细节特征提取42、指纹图像的预处理43、指纹图像的特征提取5 4、指纹特征的去伪.65、指纹特征提取和识别MATLAB实现.7总结9附录:9Matlab图形界面操作 -指纹图像细节特征提取问题描述 期末运用学习的matlab知识对指纹图像进行细节特征提取,实现如下功能。l 实现指纹图像的细化。 l 实现指纹图像的特征点提取。 l 实现特征图像的细化去伪。l 编写代码实现上述功能。摘要: 本次任务旨在完成对指纹图像的细化、去伪和特征点的提取。采用了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 endendsubplot(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 endendsubplot(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=10&x(i)=10&y(i)140)%去除边缘的特征点 c=c+1;l(c)=x(i);d=d+1;h(d)=y(i); endendx=find(x);y=find(y);subplot(2,2,4);imagesc(I);xlabel(细化去伪后的指纹图像特征点)5、指纹特征提取和识别MATLAB实现图一 (1)用匹配模板法细化指纹图像 图二 (2)特征点提取图像图三(3) 去伪后指纹图像图四总结通过指纹图像的特征提取和识别,进一步了解了图像处理。刚开始有很多东西都做不出来,无法实现,最后在图书馆查找资料,结合书本知识,最终实现了指纹的特征提取。附录参考文献:【1】余胜威.MATLAB优化案例分析与应用(进阶篇).清华大学出版社,2015【2】杨丹,赵海滨,龙哲.MATLAB图像处理实例详解.清华大学出版社,2013【3】实用matlab图像和视频处理Oge Marques.清华大学出版社源代码:clc,clear,close allwarning offfeature jit offorigin=imread(234.png);subplot(2,2,1);imagesc(origin);colormap(gray);xlabel(原始图像)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 endendsubplot(2,2,2);imagesc(I);xlabel(细化后指纹图像)%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 endendsubplot(2,2,3);imagesc(I);xlabel(指纹特征提取图像)hold on;plot(x,y,bo);hold off;for i=1:t-1 for j=i+1:t d=sqrt(x(i)-x(j)2+(y(i)-y(j)2); if d=10&x(i)=10&y(i)1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论