版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\h\u指纹是人体独一无二的特性,其复杂度足以提供用于鉴别的特性。随着有关支持技术的逐步成熟,指纹识别技术通过数年的发展已成为现在最方便、可靠、非侵害和价格便宜的生物识别技术解决方案,对于广大市场的应用有着很大的发展潜力。1.7指纹识别的重要应用指纹识别键盘现在的计算机应用中,涉及许多非常机密的文献保护,大都使用“顾客ID+密码”的办法来进行顾客的身份认证和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文献的安全问题就受到了威胁[11]。随着科技的进步,指纹识别技术已经开始慢慢进入计算机世界中。现在许多公司和研究机构都在指纹识别技术领域获得了很大突破性进展,推出许多指纹识别与传统IT技术完美结合的应用产品,这些产品已经被越来越多的顾客所承认。指纹识别技术多用于对安全性规定比较高的商务领域,而在商务移动办公领域颇具建树的富士通、三星及IBM等国际出名品牌都拥有技术与应用较为成熟的指纹识别系统,下面就对指纹识别系统在笔记本电脑中的应用进行简朴介绍。众所周知,在两年前就有部分品牌的笔记本采用指纹识别技术用于顾客登录时的身份鉴定第一代光学式指纹读取器,但是,当时推出的指纹系统属于光学识别系统,按照现在的说法,应当属于第一代指纹识别技术。光学指纹识别系统由于光不能穿透皮肤表层(死性皮肤层),因此只能够扫描手指皮肤的表面,或者扫描到死性皮肤层,但不能进一步真皮层。在这种状况下,手指表面的干净程度,直接影响到识别的效果。如果,顾客手指上粘了较多的灰尘,可能就会出现识别出错的状况。并且,如果人们按照手指,做一种指纹手模,也可能通过识别系统,对于顾客而言,使用起来不是很安全和稳定。因此出现了第二代电容式传感器,电容传感器技术是采用了交替命令的并排列和传感器电板,交替板的第二代电容式传感器形式是两个电容板,以及指纹的山沟和山脊成为板之间的电介质。两者之间的恒量电介质的传感器检测变化来生成指纹图像。但是由于传感器表面是使用硅材料容易损坏,造成使用寿命减少,尚有它是通过指纹的山沟和山脊之间的凹凸来形成指纹图像的,因此对脏手指、湿手指等困难手指识别率低。发展到今天,出现第三代生物射频指纹识别技术,射频传感器技术是通过传感器本身发射出微量射频信号,穿透手指的表皮层去控测里层的纹路,来获得最佳的指纹图像。因此对干手指,汉手指等困难手指通过可高达99%,防伪指纹能力强,指纹敏感器的识别原理只对人的真皮皮肤有反映,从根本上杜绝了人造指纹的问题,宽温区:适合特别严寒或特别炎热的地区。由于射频传感器产生高质量的图像,因此射频技术是最可靠,最有力有解决方案。除此之外,高质量图像还允许减小传感器,无需牺牲认证的可靠性,从而减少成本并使得射频传感器思想的应用到可移动和大小不受拘束的任何领域中。指纹识别技术还能够通过几个办法应用到许多方面。能够想象如果计算机上的全部系统和应用程序都能够使用指纹验证的话,人们使用计算机就会非常方便和安全,顾客不再讨厌必要的安全性检查,而IT开发商的售后服务工作也会减轻许多。IBM公司已经开发成功并广泛应用的GlobalSignOn软件通过定义唯一的口令,或者使用指纹,就能够在公司整个网络上畅行无阻。把指纹识别技术同IC卡结合起来,是现在最有前景的一种方向之一[12]。该技术把卡的主人的指纹(加密后)存储在IC卡上,并在IC卡的读卡机上加装指纹识别系统,当读卡机阅读卡上的信息时,一并读入持卡者的指纹,通过比对卡上的指纹与持卡者的指纹就能够确认持卡者的与否卡的真正主人,从而进行下一步的交易。在更加严格的场合,还能够进一步同后端主机系统数据库上的指纹作比较。指纹IC卡能够广泛地运用于许多行业中,例如取代现行的ATM卡、制造防伪证件(签证或护照、公费医疗卡、会员卡、借书卡等)。现在ATM提款机加装指纹识别功效在美国已经开始使用。持卡人能够取消密码(避免老人和孩子记忆密码的困难)或者仍旧保存密码,在操作上按指纹与密码的时间差不多。近年来,自动发送信息的互联网络,带给人们的方便与利益,正在快速增加之中,但也因此产生了诸多的问题,特别在信息安全方面。无论是团体或者个人的信息,都胆怯在四通八达的网络上传送而发生有损权益的事情。由于指纹特性数据能够通过电子邮件或其它传输办法在计算机网络上进行传输和验证,通过指纹识别技术,限定只有指定的人才干访问有关信息,能够极大地提高网上信息的安全性,这样,涉及网上银行、网上贸易、电子商务的一系列网络商业行为,就有了安全性保障。在SFNB(SecurityFirstNetworkBank安全第一网络银行)[22],就是通过互联网络来进行资金划算的,他们现在正在实施以指纹识别技术为基础的保障安全性的项目,以增强交易的安全性。在医院里,指纹识别技术能够验证病人身份,例如输血管理。指纹识别技术也有助于证明谋求公共救援、医疗及其它政府福利或者保险金的人的身份确认。在这些应用中,指纹识别系统将会取代或者补充许多大量使用照片和ID的系统。总之,随着许多指纹识别产品已经开发和生产,指纹识别技术的应用已经开始进入民用市场,并且发展迅猛,相信这一技术的普及应用已经指日可待。1.8本次设计的任务规定 本次设计,重要为了学习图像解决的有关知识,弄懂指纹图像的格式,读取各象素点的颜色信息。将图像转换成灰度图像,根据指纹图像各个部分灰度的不同,将指纹图像二值化。细化二值化后的指纹图像,提取纹线的骨架。对指纹图像进行修补,弥补纹线断裂、指头皮肤受伤等缺点。寻找指纹的特性点,拟定特性点的位置和方向。对此,本文将通过MATLAB平台进行对指纹图像的预解决,并得到对指纹特性值提取的图片。 第二章设计方案 图像预解决的目的是去除图像中的噪声,使指纹图像清晰、边沿明显,方便于提高提取和存储特性点的精确率.分为平滑解决、二值化、细化、特性值提取、特性值去除等几个环节[12]。2.1平滑解决2.1.1增强对比度 图像增强的办法分空域法和频域法[4],空域法是增强图像的像素,空域解决可用下式定义:g(X,Y)=T(F(X,Y))公式(2.1) 式中F(X,Y)是输入的原始指纹图像,灰度范畴是[m,M],g(X,Y)为解决后的图像,灰度变换增强能够用下式描述: 公式(2.2)能够提高指纹图像脊与谷的对比度.2.1.2指纹图像规格化和滤波 指纹图像通过规格化后,才干将该图的均值和方差控制在给定范畴内。即对指纹的每个像素进行操作,采用公式以下: N(x,y)=公式(2.3) 式中:N(x,y)是规格化后的图像,G(x,y)是原图像,表达第x行第j列象素点对应的灰度值,Var和M是图像G的方差和均值,Var0和M0是盼望方差和盼望均值[15]。 通过观察很小局部邻域内脊的方向,能够得出该脊的方向,设脊线的方向向量为▽f,α(x,y)为▽f,在(x,y)处的方向角,有[19],Hy、Hx为梯度分量。由上式能够求得此像素点的指纹脊线方向,然后将此持续的方向在0~180°范畴内离散化成8个方向,各方向之间的夹角为,π/8,求出每一块的整体方向的平均作为此块中全部点的方向,如图2.l。4435673567N3N2N1N4NS0N5N6N7221 100(a)8个方向(b)8邻块图2.1方向的选用 取N块的8邻块(图l.1(b))出现最多的方向为N块的主方向。在该小邻域内与脊方向不同的点往往正是附加了噪声的点。根据这一特性设计7×7自适应滤波器,对图像进行方向滤波。使在指纹脊线方向上的像素点得到加强,在其它方向受到不同的削弱,从而不仅使指纹图像的噪声得到克制,也保存了指纹的细节特性。通过方向滤波后的指纹图像效果较好[17]。2.2锐化解决 为增强指纹纹线间的界限,突出边沿信息,以利于二值化,要对指纹图像进行锐化解决.用空间微分来完毕锐化解决。由于微分算子的响应强度与图像在该点的突变程度有关,因此锐化能够增强指纹边沿并削弱灰度变换缓慢的区域.二阶微分形成增强细节的能力优于一阶微分,对灰度级阶梯变化产生双响应,因此用拉普拉斯单一掩模进行锐化[14]。 由二元图像的拉普拉斯变换离散形式的定义:公式(2.4)可推出单一掩模的系数 公式(2.5) 所用掩模0-10-15-10-10图(2.2)掩模 拉普拉斯单一掩模锐化变换后使图像中小的脊线部分得到增强。2.3二值化 对于指纹识别系统,有用的信息包含在脊线(指纹中突起的)和谷线(凹下的)的二值描述中.因而必须根据原始的灰度图像来拟定图像上的每一种点应属于客体区域还是背景区域,从而产生对应的二值图像,它不仅可大大减少存储量,还能够根据指纹的形状(环型、弓型、螺旋型等信息)将指纹分类,这样能够大大提高指纹识别的速度[20]。 在基于含糊集理论的增强算法基础上提出广义度阈点的办法.阈值的对的选择在二值化中是很重要的,直接影响着分割的精度及图像描述分析的对的性.在此采用动态自适应阈值进行二值化,并根据脊线扩散张量特点,分解扩散4n个方向的和.即位于(x,y)处的像素g(x,y)的阈值V(x,y)是由以(x,y)为中心的指纹图像窗口(2n+1)×(2n+1)中全部点的灰度值来拟定。即公式(2.6) 由于当(2n+1)×(2n+1)窗口落在下面2种不同区域将会引发错误鉴别: 1)当(2+1)×(2n+1)窗口较多地落在谷线区,将会使一部分乃至大部分象素点被判为脊线; 2)当(2+1)×(2n+1)窗口较多地落在脊线区,将会使一部分乃至大部分象素点被判为谷线。 借助于参数δ和参考阈值Vt能够得到修正。 令δ为一种通过实验获得的正整数,即令δ>0,有:公式(2.7)则 公式(2.8) 其中Vt为参考阈值。 令二值化后的图像为r(x,y),则:公式(2.9) 此算法有点事不变化脊线持续性和奇异点的前提下,能够有效连接断裂脊线。2.4细化 细化是在不变化图像像素拓扑连接关系的条件下,持续擦除图像的边沿像素,把纹线粗细不均匀的指纹图像转化成线宽仅为一种像素的条纹中心线图像的过程。细化能够去除不必要的纹线粗细信息,使得指纹图像的数据量及连接构造更加突出,便于从指纹图像中提取细节特性,如图2.2从而在指纹特性提取和匹配环节上提高图像的解决速度和效率[21]。 图2.2纹线特性分类 在此先在脊线的端点用二次曲线来拟合局部脊线,在沿该端点的方向延伸得到的拟合曲线,并根据端点附近的脊线信息建立不同的解决规则来解决不同的状况,如对简朴的脊线构造,即明显的断线、脊线间明显的桥以及作为短纹存在的毛刺等做初步解决,去除图像的边沿像素。为了克服指纹形变,用图示模板进行细化解决: 从而得到最后的细化的指纹图像,这样提取出的指纹细节点、特性点和脊线才更为可靠和有效。 2.5特性值的提取指纹图像特性提取的办法有两种:(1)从指纹的原灰度图像上识别细节特性;(2)从指纹的细化图像上识别细节特性。提取的特性重要有两类:①奇异点指纹奇异点有三种类型:核形(Core)、三角形(Delta)和涡轮形(Whor1);②构造特。它涉及端点(Endpoint)、叉点(Bifurcation)、歧点、孤立点(Dot)、环点(Loop)、短纹(shortRidge)等及其方向、曲率、位置等信息。端点及叉点(图2.3(b))是指纹细化图像的重要特性,本文采用这两种重要特性构造指纹特性向量[18]。它的提取办法为:设Cn(P)为交叉数,Sn(P)为像素8-邻域(图2.3(a))纹线点数:公式(2.10)公式(2.11)图2.3特性提取 对于一幅彻底细化的指纹图像来说,只有三种纹线点:(1)Cn(P)=1,Sn(P)=1,称为端点;(2)Cn(P)=2,Sn(P)=2,3,4,称为持续点;(3)Cn(P)=3,Sn(P)=3,称为叉点。设提取的特性点集用P(P1,P2,⋯,Pn)表达,其中n为所提取的特性点的个数,Pi=(Xi,Yi,Ti,Ai),Xi,Yi表达特性点的坐标;Ti表达特性点的类型,当特性点为端点时Ti=1,当特性点为端点时Ti=2;a表达特性点的角度,端点的角度取从端点为起点的端线的角度,又点的角度取图2.3(b)中角度a,b,c中最小者相对的分支的角度。端线及分支的角度求法为:从特性点开始搜索持续点直到搜到另一种特性点或步长达成7,设搜索到的最后一点为(X,Y),有:公式(2.12)2.6伪特性点的去除造成伪特性的因素有诸多,指纹提取、二值化及细化等过程均可能引入伪特性。伪特性的存在将影响指纹的比对,减少识别率.(1)伪特性的分析。对于取端点及叉点作为特性算法,伪特性重要指图4中的五种:(a)毛刺;(b)假桥;(c)岛屿;(d)断脊;(e)短脊。对于这些伪特性的消除,文献[10]提出了基于纹线跟踪的后解决办法,文献[13]提出了基于知识的指纹后解决办法,将指纹后解决与指纹原灰度图联系了起来,文献[14]提出了基于统计与构造的指纹后解决办法。 分析这五种伪特性,它们带来的伪特性点总是成对在近距离内出现并且除断脊外都有短脊线相连接。毛刺、短脊及岛屿均为从一种特性点出发通过很小的步长达成另一种特性点,能够采用沿脊线搜索特性点的办法去除伪特性对。假桥、断脊则要考虑伪特性的角度关系。图2.4为抱负化的伪特性,各伪特性的角度关系非常明显,假桥连线与脊线垂直,断脊连线则与脊线平行,实际状况则有偏差。设Pi,Pj为假桥或断脊带来的特性点对,v为小的角度阈值,且设A为Pi,与Pj连接线的角度:公式(2.13) 则对于假桥,A与Ai,及a近于垂直,即90°-v<<90°+v或90°-v<<90°+v;对于断脊,Pi与Pj之间没有脊线,并且A与Ai或Aj的差不大于v,即<v或<v。对于图2.4(f)的双叉构造我们不将其当作伪特性,它与图2.4(c)的岛屿的区别是连接两叉点的脊线较长,这在现实中是可能存在的构造,因此被保存。 图2.4五种伪特性 (2)伪特性的去除[13]。由于提取的特性集合P(P1,P2...,Pn)全为端点与叉点,端点的伪形态有毛刺端点、短脊端点与断脊端点;叉点的伪形态有毛刺叉点、假桥叉点与岛屿叉点。我们能够分别从端点与叉点出发搜索其邻域,判断其真伪,全部伪特性被分为伪端点与伪叉点予以去除。根据上面的分析,伪特性可按以下规则去除: ①去除孤立点与边界点,边界点定义为掩膜值为0的任何区域的距离不大于阈值的特性点; ②对于各端点Pi,从该特性点出发沿脊线搜索,若通过很小的步长达成另一种特性点即搜索到一种脊线点满足Cn(P)!=2或Sn(P)!=2则分别当作短脊、毛刺所带来的伪特性点予以去除;若该端点不是毛刺、短脊引发的伪端点,则搜索其邻域与否有端点Pj满足Pi与Pj之间没有脊线,A与Ai或Aj的差不大于30°,即<30°或<30°,据此来判断该端点与否为断脊; ③对于各叉点Pi,从该特性点出发沿脊线搜索其中一种分支,若有两个分支通过很小的步长均达成同一种叉点则当作岛屿予以去除;若有一种分支通过很小的步长达成另一种叉点P且满足70°<110°或70°<<110°,则可当作假桥剔除;若有一种分支通过很小的步长达成另一种端点Pj则可当作毛刺剔除。2.7本章小结本章节介绍了MATLAB进行指纹解决的整个过程,同时也给出了每个环节的原理和算法,通过对指纹图像平滑解决、二值化、细化、特性值提取、特性值去除等环节的具体介绍,使得我们能够清晰理解到实验过程的进行,为下文的软件设计提供了理论根据。 第三章MATLAB软件设计3.1MATLAB的介绍 MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,重要涉及MATLAB和Simulink两大部分。 MATLAB的应用范畴非常广,涉及信号和图像解决、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。他含有下列诸多的优点[23]:(1)和谐的工作平台和编程环境 MATLAB由一系列工具构成。这些工具方便顾客使用MATLAB的函数和文献,其中许多工具采用的是图形顾客界面。涉及MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、途径搜索和用于顾客浏览协助、工作空间、文献的浏览器。随着MATLAB的商业化以及软件本身的不停升级,MATLAB的顾客界面也越来越精巧,更加靠近Windows的原则界面,人机交互性更强,操作更简朴。并且新版本的MATLAB提供了完整的联机查询、协助系统,极大的方便了顾客的使用。简朴的编程环境提供了比较完备的调试系统,程序不必通过编译就能够直接运行,并且能够及时地报告出现的错误及进行出错因素分析。(2)简朴易用的程序语言 Matlab一种高级的矩阵/阵列语言,它包含控制语句、函数、数据构造、输入和输出和面对对象编程特点。顾客能够在命令窗口中将输入语句与执行命令同时,也能够先编写好一种较大的复杂的应用程序(M文献)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特性与C++语言极为相似,并且更加简朴,更加符合科技人员对数学体现式的书写格式。使之更利于非计算机专业的科技人员使用。并且这种语言可移植性好、可拓展性极强,这也是MATLAB能够进一步到科学研究及工程计算各个领域的重要因素。(3)强大的科学计算机数据解决能力 MATLAB是一种包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,能够方便的实现顾客所需的多种计算功效。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前通过了多种优化和容错解决。在普通状况下,能够用它来替代底层编程语言,如C和C++。在计算规定相似的状况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集涉及从最简朴最基本的函数到诸如矩阵,特性向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致涉及矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的多种运算、三角函数和其它初等数学运算、多维数组操作以及建模动态仿真等。 (4)杰出的图形解决功效 图形解决功效MATLAB自产生之日起就含有方便的数据可视化功效,以将向量和矩阵用图形体现出来,并且能够对图形进行标注和打印。高层次的作图涉及二维和三维的可视化、图象解决、动画和体现式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形解决功效作了很大的改善和完善,使它不仅在普通数据可视化软件都含有的功效(例如二维曲线和三维曲面的绘制和解决等)方面更加完善,并且对于某些其它软件所没有的功效(例如图形的光照解决、色度解决以及四维数据的体现等),MATLAB同样体现了杰出的解决能力。同时对某些特殊的可视化规定,例如图形对话等,MATLAB也有对应的功效函数,确保了顾客不同层次的规定。另外新版本的MATLAB还着重在图形顾客界面(GUI)的制作上作了很大的改善,对这方面有特殊规定的顾客也能够得到满足。(5)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功效强大的模块集和工具箱。普通来说,它们都是由特定领域的专家开发的,顾客能够直接使用工具箱学习、应用和评定不同的办法而不需要自己编写代码。现在,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号解决、图像解决、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、含糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 (6)实用的程序接口和公布平台 新版本的MATLAB能够运用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许顾客编写能够和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还允许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一种重要特色就是含有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一种工具箱都是为某一类学科专业和应用而定制的,重要涉及信号解决、控制系统、神经网络、含糊逻辑、小波分析和系统仿真等方面的应用。 (7)应用软件开发(涉及顾客界面)在开发环境中,使顾客更方便地控制多个文献和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和解决功效,涉及对性对起连接注释等;在输入输出方面,能够直接向Excel和HDF5进行连接。 本次设计中使用的是MATLAB7.6,属于最新的版本之一,功效强大,有助于对实验进行简易操作,更能提高设计实验的精确性。3.2程序调试3.2.1设计思路指纹图像预解决采集到的指纹图像受多种因素的影响,是一幅含较多噪声的灰度图像。预解决的目的就是去除图像中的噪声,把它变成一幅清晰的点线图,这样才干提取对的的指纹特性,从而达成后边的对的匹配。预解决过程重要涉及指纹规格化,平滑滤波解决,方向增强解决,二值化,细化等,它是指纹自动识别系统中极为核心的一步,它的好坏将直接影响着指纹识别的效果。在此基础上,提取指纹特性信息,得到输入指纹特性模板,然后用输入指纹特性模板与已登记的指纹特性模板进行匹配,最后显示识别成果。指纹图像预解决指纹获得归一化指纹增强二值化指纹细化指纹分割特性提取输出指纹匹配指纹获得归一化指纹增强二值化指纹细化指纹分割特性提取输出指纹匹配图3.1指纹识别的解决过程其整体构造如上图(3.1)所示,对此,我们将通过MATLAB进行下列的环节[26]:1读入图像:通过MATLAB指令imread将图像读入。2图像灰度化:通过MATLAB指令将图像进行灰度化,同时将其保存为bmp的图像格式。 3显示图像:将指纹图像进行初步解决,二值化,细化等基本环节,并且在应用程序中将指纹图像显示出来。 4保存BMP文献:把修改正的指纹图像存人原来的文献,或者把解决过的指纹图像另存为一种BMP文献。 5图像增强:重要有两种增强办法,一是直方图均衡算法,一是对比度的增强算法。 6有效区域选用:由于原始指纹图像中指纹的脊线和谷线的边界可能达不到对比度的规定,并且指纹图像边沿的指纹不是那么清晰,因此要对整个图像进行有效区域的选用,对比度达成规定的图像区域才干进行后期解决。 7特性值的提取:将指纹图像中出现的纹线的起点、终点、结合点和分叉点选择出来,并用小圆圈将其圈出。 8伪特性点的去除:将指纹图像中出现的多种不合理的特性点,通过上文讲的5种伪特性点的筛选,从而进行去除,进而得到更完美的指纹特性值提取图像。3.3图像解决 首先,先将选择的指纹图像进行灰度化解决,在此过程中,只规定我们将选好的图像输入到已经完毕的程序中即可。下图中为各个不同图像得到的灰度化图像。图3.2(a)彩色指纹图像灰度化后的比较图3.2(b)彩色指纹图像灰度化后的比较图3.3灰度化指纹图像灰度化后的比较以上两图中,分别为彩色图像和黑白图像的灰度化解决。 将选择的灰度化指纹图像读入,通过MATLAB的指令将其进行二值化和细化,我们进行二值化后来,指纹图形的脊线将变成黑色,而指纹皱褶将由白色替代。指纹细化消除了多出的指纹脊线,直至像素脊线只是一种像素宽。其图以下图3.4,左上角的图像是指纹图像,右边的为二值化图像,下面的为指纹细化图像。 图3.4灰度化图像进行二值化和细化后来的比较 指纹图像的特性值提取,我们筛选的筛选脊线图像。其程序框图以下,纹线跟踪迈进识别器的编码encode.m提取全部除去毛刺的莫少点selectend.m再次提取除去断纹与边界的末梢点reselectend.m提取去除伪特性点的分叉点selctbif.m细节提取图3.5特性值提取的程序流程图通过计算出一种值的每个3×3窗标语码:如果中央像素是1,只有当两个像素都是1和1且作为邻居,当时的核心像素是终止(判断端点的办法)。如果中央像素是1,有3个单值一起作为邻居,当时的核心像素是分岔(判断分叉点办法)。如果中央像素值是1,有2个1值作为邻居,当时的核心像素是普通的像素。其程序及成果图形以下:I=imread('Empreinte.bmp');subplot(221);imshow(I);set(gcf,'position',[11600600]);J=I(:,:,1)>160;subplot(222);imshow(J)set(gcf,'position',[11600600])K=bwmorph(~J,'thin','inf');subplot(223);imshow(~K)set(gcf,'position',[11600600]);L=nlfilter(K,[33],fun); 图3.6特性值提取 上图中,我们有诸多虚假的特性点。其中有很大一部分是为边沿点,为此,我们选择了一块有效区域,同时将进行下列操作来去除伪特性点,其过程1:如果终止点的距离和交叉点比D(D为自己设定的参数值)较小,我们会删除这个细节。过程2:如果两个交叉点距离比D较小,我们会删除这个细枝末节。过程3:如果两个终止点之间的距离比D较小,我们会删除这个细枝末节,从而得到最后成果。执行后以下图3.7-图3.9所示。 图3.7有效区域的选用图3.8有效的指纹特性值 图3.9有效的指纹特性值的细化图像 其除伪特性值程序重要以下:D=6;%%Process1Distance=DistEuclidian(CentroidBif,CentroidTerm);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidBif(i,:)=[];CentroidTerm(j,:)=[];%%Process2Distance=DistEuclidian(CentroidBif);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidBif(i,:)=[];%%Process3Distance=DistEuclidian(CentroidTerm);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidTerm(i,:)=[];[m,n]=size(I(:,:,1));indTerm=sub2ind([m,n],CentroidTerm(:,1),CentroidTerm(:,2));Z=zeros(m,n);Z(indTerm)=1;ZTerm=Z.*ROI';[CentroidTermX,CentroidTermY]=find(ZTerm);indBif=sub2ind([m,n],CentroidBif(:,1),CentroidBif(:,2));Z=zeros(m,n);Z(indBif)=1;ZBif=Z.*ROI';[CentroidBifX,CentroidBifY]=find(ZBif);figureimshow(I)set(gcf,'position',[11600600]);holdonplot(CentroidTermX,CentroidTermY,'ro','linewidth',2)plot(CentroidBifX,CentroidBifY,'go','linewidth',2)holdonplot(CentroidTermX,CentroidTermY,'ro','linewidth',2)plot([CentroidTermXCentroidTermX+dyTerm]',...[CentroidTermYCentroidTermY-dxTerm]','r','linewidth',2) 如果在开始将D的值进行变化,将其变小为5时,能够得到更多的特性值,由于D的变化,将造成特性值点的取值变化,其得到的图像以下图3.10所示: 图3.10 当参数D变化后来的特性值选项图3.10与图3.8相比,图3.10中绿色的交叉点跟红色的起始点与终止点都多了某些,而这些多是伪特性点,如3.11所示:伪特性点伪特性点伪特性点伪特性点图3.11当D取值不同时候特性值的比较故而对于不同的图形要选用不同参数进行解决,实验要通过不停的调试,才干获得最优值。3.4本章小结本章节介绍了MATLAB软件的某些功效及优势,并得到了用MATLAB进行指纹图像解决的成果,简要的介绍了重要程序,通过上面图像的显示,能够看出已经完毕了设计的任务的基本规定,找到了指纹的特性点。结束语 在这两个多月里,我学到了许多以前没有学到的知识和技能,锻炼了自己的独立思考能力和实际操作能力,系统整顿了大学四年所学的知识。同时,也理解了自己曾经未曾接触过的一种领域,指纹图像的解决。指纹图像预解决是指纹自动识别过程的第一步,它的好坏直接影响着指纹识别的效果。实验中通过MATLAB编程进行图像解决的各个环节,从而做到特性值的提取。在自己的努力尚有老师同窗的协助下,实验已经能完好的完毕各个基本功效,如图像的灰度化,图像二值化,图像的细化,特性值的提取,伪特性点的去除等,从基本上来说,实验已经较好的达成了预期的目的。但是由于毕业设计的时间较短,因此有许多考虑还不够全方面,还存在某些问题,这些都有待于进一步完善。例如在灰度化过程中,不能较好的进行图像修理,从而使得得到的图像不能进行下一步的工作,由于时间限制,为了不影响后续安排,只选了一种效果较好的图像进行解决。我相信,通过这次设计,让我充足理解到了一种设计的整体过程,并且也懂得了通过哪些办法能够让自己更快更加好的完毕任务,为我后来步入社会工作提供了一种较好的经验,正是有了这一次的设计,使我对自己的职业将来充满了信心。致谢 在此论文完毕之际,向我的导师李菲老师表达衷心的感谢。在我毕业设计期间,李老师予以了我悉心的指导,在我不懂得如何解决问题的时候,她总是能给出诸多的解决方案,同时不停的归纳我们所做的失误之处,并且还能及时的予以我一种星期内的任务,使得我们进度能准时进行,不至于搞的太仓促,使得我们都能有条不紊的进行毕业设计,同时李老师渊博的学识,严谨的学风,认真负责的做事态度也是我学习的楷模,对我将来工作将会有很大的协助。 我同时也要感谢我身边的同窗,在设计期间予以了我不少有益的信息和建议,使我顺利解决了许多问题,在此向大家表达真诚的感谢。 最后衷心地感谢学院领导与老师,为我们提供了良好的学习环境,予以了我们许多有益的指导与协助。 参考文献[1]RClarke.Humanidentificationininformationsystems:Managementchallengesandpublicpolicyissues[J].Info.Technol.Peopie,1994.7(4):6~37.[2]张志涌.精通MATLAB6.5版[M].北京:北京航空航天大学出版社..3.[3]乔治宏.基于细节构造的指纹特性提取及匹配算法研究[D][硕士学位论文].北京:北京工业大学硕士学位论文.,5.[4]罗希平,田捷.自动指纹识别中的图像增强和细节匹配算法[J].软件学报,.5.13(5):946~956.[5]DarioMaio,Member,IEEE,andDavideMaltoni.Directgrayscaleminutiaedetectioninfingerprints[J].IEEEtransactionsonpatternanalysisandmachineintelligence,1997,19(1):27~40.[6]王家文,曹字.MATLAB6.5图形图像解决[M].北京:国防工业出版社,.5.[7]田捷,杨鑫.生物特性识别技术理论与应用[M].北京:电子工业出版社,.[8]张显全,唐莹,郭明明.一种改善的指纹快速细化算法[J].广西科学院学报,,22(4):237~239.[9]刘文星,王肇圻,母国光.纹线跟踪及其在细化指纹后解决中的应用[J].光电子,激光,,13(2):184~187.[10]缪绍纲.数字图像解决——活用MATLAB[M].成都:西南交通大学出版社,.[11]徐晓明.指纹图像的预解决及特性提取[D][硕士学位论文],大连:大连理工大学,[12]苏彦华.VisualC++数字图像识别技术典型案例[M].北京:人民邮电出版社,.[13]0'ORMANl,NICKERSONJN.Anapproachtofingerprintfilterdesign[J].PatternRecognition,1989,22(1):29~38.[14]林国清,李见为,王崇文.指纹图像预解决办法的研究[J].光电工程,,29(5):56—58.[15]回红,陈祥献,周泓,等.Gabor函数实现基于构造的指纹识别[J].浙江大学学报(工学版),,38(6):712~716.[16]郭桂容.含糊模式识别[M].长沙:国防科技大学出版社,1993.[17]KalleKava.FingerprintClassification[J].PatternRecognition,1996,29(3):389~404.[18]沈学宁.从指纹的原灰度图像上识别细节特性[J].模式识别与人工智能,I989,2(4):53~57.[19]简兵.基于脊线跟踪的指纹图细节提取算法[J].电路与系统学报,,6(3):1~5.[20]ZhaoQiBian.Knowledge—basedFingerprintPost—Processing[J].In—ternationalJournalofPatternRecognitionandAificialIntelligence,,16(1):53~67[21]QingHanXiao.FingerprintImagePost—Processing:ACombinedSta—iisticalandStructuralApproach[J].PatternRecognition,1991,24(10):985~992.[22]韩伟红.指纹自动识别系统中的预解决技术[J]计算机研究与发展,1997,34(2):913~920.[23]马笑潇.指纹自动识别系统中的核心技术——方向图[J],重庆大学学报,,24(3).91~94.[24]HONGL,WANGY,JAINAK.Fingerprintimageenhancement:Algorithmandperformanceevaluation[J].1EEETransactionsonPatternAnalysisandMachineIntelligence.85(9):777~789.[25]JAINAK.FARROKHNIA.F.UnsupervisedTextureSegmentationUsingGaborFilters[J].PatternRecognition,1991,24(12):l167~1186,[26]赵书兰.MATLABR数字图像解决与分析实例教程[M].北京:化学工业出版社.,6.附录1MATLAB实验主程序:clearall,closeall,clc%%Loadimage%Thegeneralshapeofthefingerprintisgenerallyusedtopre-processthe%images,andreducethesearchinlargedatabases.Thisusesthegeneral%directionsofthelinesofthefingerprint,andthepresenceofthecore%andthedelta.SeveralcategorieshavebeendefinedintheHenrysystem:%whorl,rightloop,leftloop,arch,andtentedarch.%Mostalgorithmsareusingminutiae,thespecificpointslikeridges%ending,bifurcation...Onlythepositionanddirectionofthesefeatures%arestoredinthesignatureforfurthercomparison.I=imread('Empreinte.bmp');imshow(I)set(gcf,'position',[11600600]);%Acriticalstepinautomaticfingerprintmatchingistoautomaticallyand%reliablyextractminutiaefromtheinputfingerprintimages.However,the%performanceofaminutiaeextractionalgorithmreliesheavilyonthe%qualitytheinputfingerprintimages.Inordertoensurethatthe%performanceofanautomaticfingerprintidentification/verificationsystem%wouldberobustwithrespecttothequalityofthefingerprintimages,it%shouldbeessentialtoincorporateafingerprintenhancementalgorithminthe%minutiaeextractionmodule.%Inourcase,thequalityoftheimageisreallygood,andwewwon'tneed%toenhanceourimage£.%%Binarize%Webinarizetheimage.Aftertheoperation,ridgesinthefingerprintare%highlightedwithblackcolorwhilefurrowarewhite.J=I(:,:,1)>160;imshow(J)set(gcf,'position',[11600600]);%%Thining%Ridgethiningistoeliminatetheredundantpixelsofridgestillthe%ridgesarejustonepixelwide.K=bwmorph(~J,'thin','inf');imshow(~K)set(gcf,'position',[11600600]);%%Minutiae%Wefilterthethinnedridgemapbythefilter"minutie"."minutie"%computethenumberofone-valueofeach3x3window:%*ifthecentralis1andhasonly1one-valueneighbor,thenthecentral%pixelisatermination.%*ifthecentralis1andhas3one-valueneighbor,thenthecentral%pixelisabifurcation.%*ifthecentralis1andhas2one-valueneighbor,thenthecentral%pixelisausualpixel.fun=@minutie;L=nlfilter(K,[33],fun);%%TerminationLTerm=(L==1);imshow(LTerm)LTermLab=bwlabel(LTerm);propTerm=regionprops(LTermLab,'Centroid');CentroidTerm=round(cat(1,propTerm(:).Centroid));imshow(~K)set(gcf,'position',[11600600]);holdonplot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')%%BifurcationLBif=(L==3);LBifLab=bwlabel(LBif);propBif=regionprops(LBifLab,'Centroid','Image');%MeasurepropertiesofimageregionsCentroidBif=round(cat(1,propBif(:).Centroid));%Roundtonearestintegerplot(CentroidBif(:,1),CentroidBif(:,2),'go')%%Remarks%Wehavealotofspuriousminutae.%Wearegoingtoprocessthem.%process1:ifthedistancebetweenaterminationandabiffurcationis%smallerthanD,weremovethisminutiae%process2:ifthedistancebetweentwobiffurcationsis%smallerthanD,weremovethisminutia%process3:ifthedistancebetweentwoterminationsis%smallerthanD,weremovethisminutiaD=6;%%Process1Distance=DistEuclidian(CentroidBif,CentroidTerm);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidBif(i,:)=[];CentroidTerm(j,:)=[];%%Process2Distance=DistEuclidian(CentroidBif);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidBif(i,:)=[];%%Process3Distance=DistEuclidian(CentroidTerm);SpuriousMinutae=Distance<D;[i,j]=find(SpuriousMinutae);CentroidTerm(i,:)=[];%%holdoffimshow(~K)holdonplot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')plot(CentroidBif(:,1),CentroidBif(:,2),'go')holdoff%%ROI%WehavetodetermineaROI.Forthat,weconsiderthebinaryimage,and%weaplyanclosingonthisimageandanerosion.%WiththeGUI,IallowtheuseofROItoolsofMATLAB,todefinemanually%theROI.Kopen=imclose(K,strel('square',7));KopenClean=imfill(Kopen,'holes');KopenClean=bwareaopen(KopenClean,5);imshow(KopenClean)KopenClean([1end],:)=0;KopenClean(:,[1end])=0;ROI=imerode(KopenClean,strel('disk',10));imshow(ROI)%%imshow(I)holdonimshow(ROI)alpha(0.5)holdonplot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')plot(CentroidBif(:,1),CentroidBif(:,2),'go')holdoff%%Suppressextremaminutiae%OncewedefinedtheROI,wecansuppressminutiaeexternaltothisROI.[m,n]=size(I(:,:,1));indTerm=sub2ind([m,n],CentroidTerm(:,1),CentroidTerm(:,2));Z=zeros(m,n);Z(indTerm)=1;ZTerm=Z.*ROI';[CentroidTermX,CentroidTermY]=find(ZTerm);indBif=sub2ind([m,n],CentroidBif(:,1),CentroidBif(:,2));Z=zeros(m,n);Z(indBif)=1;ZBif=Z.*ROI';[CentroidBifX,CentroidBifY]=find(ZBif);imshow(I)holdonplot(CentroidTermX,CentroidTermY,'ro','linewidth',2)plot(CentroidBifX,CentroidBifY,'go','linewidth',2)%%Orientation%Oncewedeterminedthedifferentsminutiae,wehavetofindthe%orientationofeachoneTable=[3*pi/42*pi/3pi/2pi/3pi/45*pi/6000pi/6pi0000-5*pi/6000-pi/6-3*pi/4-2*pi/3-pi/2-pi/3-pi/4];%%TerminationOrientation%Wehavetofindtheorientationofthetermination.%Forfindingthat,weanalyzethepositionofthepixelontheboundaryof%a5x5boundingboxofthetermination.Wecomparethispositiontothe%Tablevariable.TheTablevariablegivestheangleinradian.forind=1:length(CentroidTermX)Klocal=K(CentroidTermY(ind)-2:CentroidTermY(ind)+2,CentroidTermX(ind)-2:CentroidTermX(ind)+2);Klocal(2:end-1,2:end-1)=0;[i,j]=find(Klocal);OrientationTerm(ind,1)=Table(i,j);enddxTerm=sin(OrientationTerm)*5;dyTerm=cos(OrientationTerm)*5;figureimshow(K)set(gcf,'position',[11600600]);hold
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中级电机定子检测技术考试试卷及答案
- 2025 电化学储能系统建模导则贯标解读
- 2027届江苏省无锡市藕塘中学九年级数学第一学期期末教学质量检测试题含解析
- 2027届浙江省绍兴市名校数学九上期末学业水平测试试题含解析
- 北京市燕山区2027届九上数学期末复习检测试题含解析
- 小学四年级美术教学设计:变形的魅力
- 高中思想政治二轮复习专题教学设计:认识社会与价值选择
- 高中信息技术选修2网络服务搭建与优化教学设计
- 小学五年级语文《少年中国说》节选第二课时教学设计
- 高中信息技术高三数据库复习教学设计
- 2026中国中医药国际化发展现状及市场准入壁垒分析报告
- 2026稀土储氢材料行业市场发展分析及前景趋势与投融资战略研究报告
- 2026年财政部高层财会人才中青年人才选拔笔试热及完整(附答案)
- 2026年高考全国1卷语文高考试题(原卷版)
- 消防报警主机移位施工方案及流程
- 2025年河南三支一扶(6月14日)真题(答案)
- GB/T 44693.3-2026危险化学品企业工艺平稳性第3 部分:标准操作程序编制与使用规范
- 妇产科妊娠糖尿病管理方案
- 2026中车株洲电力机车研究所有限公司春季全球校园招聘考试参考题库及答案解析
- 车速重新鉴定申请书
- 认知障碍患者护理课件
评论
0/150
提交评论