指纹图像预处理算法.doc

上传人:啊飒飒 文档编号:10188455 上传时间:2021-04-27 格式:DOC 页数:30 大小:688.66KB
返回 下载 相关 举报
指纹图像预处理算法.doc_第1页
第1页 / 共30页
指纹图像预处理算法.doc_第2页
第2页 / 共30页
指纹图像预处理算法.doc_第3页
第3页 / 共30页
指纹图像预处理算法.doc_第4页
第4页 / 共30页
指纹图像预处理算法.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《指纹图像预处理算法.doc》由会员分享,可在线阅读,更多相关《指纹图像预处理算法.doc(30页珍藏版)》请在三一文库上搜索。

1、概述指纹图像预处理算法1 概述1.1 研究的目的指纹识别技术作为一种生物特征识别技术,具有传统识别技术无法比拟的优点。近年来,随着嵌入式计算机的蓬勃发展和指纹传感器性价比的提高,这一充满生机的技术作为一种高级安全认证手段已越来越频繁地出现在手机、笔记本电脑、PDA、蜂窝电话等多种数码产品中,广泛地应用在刑侦、IT、医疗、金融等诸多行业。这不仅体现了该技术乐观的市场前景,更对其提出了更高的要求。在激烈的市场竞争中,能否研发出高效、健壮的指纹识别算法显得尤为重要。指纹图像的预处理和特征提取是任何一种指纹识别算法中的关键部分1,因为它直接关系到后续的指纹匹配,进而影响指纹识别系统的识别率和识别速度。

2、近年来,以指纹识别技术为代表的生物识别技术引起了人们的广泛关注。自动指纹识别系统大多是依靠细节特征实现指纹的识别,可靠、准确的提取细节特征是自动指纹识别实现的前提和基础。细节特征提取的准确性严重依赖指纹图像的质量。在实践中,由于手指本身的因素和采集条件的限制,采集到的指纹图像会不同程度的受到各种噪声的干扰。因此,在细节特征的提取和匹配之前一般要对采集到的指纹图像进行预处理。预处理的目的是:去噪声,把原图像变成一幅清晰的二值点线图,易于正确的特征提取。要求预处理在消除噪声的同时应尽量保存原图像的真实特征不受损失2。不同人的指纹,即使同一个人不同手指的指纹,纹线走向及纹线的断点和交叉点等各不相同,

3、也就是说,每个指纹都是唯一的。另外,指纹不随年龄的增长而发生变化,是终生不变的。依靠这种唯一性和稳定性,可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就能验证他的身份。在实验的任务是:理解、掌握指纹识别系统的工作原理;理解、掌握MATLAB程序设计方法;用MATLAB编写指纹图像预处理算法的程序,对程序运行结果进行分析。指纹图像的预处理和特征提取是任何一种指纹识别算法中的关键部分,因为它直接关系到后续的指纹匹配,进而影响指纹识别系统的识别率和识别速度。1.2 研究的意义由于指纹的不变性,唯一性和实用性,指纹识别技术相对于其它生物特征识别有许多独到之处,是目前应用最广的

4、身份验证与识别技术,应用于各个领域,具有广泛的应用前景。自动指纹识别系统在过去的30年里虽然已取得了很大发展,但由于采集的指纹或现场指纹受印压的轻重,扭曲,偏转及环境因素的影响,含有大量噪声,直接影响指纹识别效果,因而指纹图像的预处理算法仍是国内外模式识别研究中的热点。指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件。是人类进化过程式中自然形成的。目前尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二的。由于指纹是每个人独有的标记,近几百年来,均成为警方追捕疑犯的重要线索,似的指纹识别技术得到了飞快地发展。现今鉴别指纹方法

5、已电脑化,使鉴别程序更快更准。指纹识别的一般过程是指纹图像预处理、指纹特征提取和特征匹配。但由于采集设备噪声干扰、指纹采集是手指皮肤的干燥程度、汗渍、污渍等原因使待分析的指纹图像噪声较多并对细节点有较强干扰,影响指纹的特征提取。指纹图像是通过将模拟信号采样量化后,以矩阵形式存入计算机,图像平滑处理指纹图像生成方向数组后,为了消除较强烈的局部噪声干扰,需要对生成的方向数组图像进行预处理。预处理是指指纹识别的前提,也是整个工作的基础,因此指纹图像预处理工作的好坏直接关系到指纹特征提取的可行性和准确性3。1.3 发展趋势早在1880年英国人亨利.福兹就提出了用指纹识别系统识别犯罪,到20世纪70年代

6、,由于计算机的广泛应用和模式识别理论的发展,人们已开始研究使用计算机进行指纹的自动识别。目前世界各国都在争先研究和开发使用指纹识别系统。到20世纪70年代末,一些实用系统已经出现。据报道:70年代末加拿大警方首次应用激光进行指纹体检,日本立石电机公司80年代研制出了指纹核对机;美国人福勒80年代设计出了电子指纹检验系统,NBC在82年首次向警方提供自动指纹识别系统(AFIS),比利时刑事鉴定局在1990年开始使用(AFIS);瑞士一家公司研制成功指纹码智能卡;日本蝶形株式会社推出出入口指纹识别器;在英国政府的重要部门,指纹识别仪已被广泛采用;在澳大利亚指纹识别仪已被广泛在ATM机上,在美国,除

7、军事设施以外,19年在美国亚特兰大奥村的第26届奥运会上已广泛采用了指纹识别系统。目前世界上大约有30家公司在为新的指纹识别系统而工作。在我国青岛警方在50年代就采用了指纹识别系统识别罪犯,进入90年代,我国指纹识别系统的应用发展迅速,深圳攀登电子有限公司研制了活体指纹身份识别系统;深圳红光奥康光电有限公司推出自动指纹识别控制器;西安交大、清华大学、北京大学等纷纷推出指纹自动识别系统,北京大学与上海、珠海公安局合作建立了大容量自动识别系统,在在1990年应用该系统破案均超过1万起,该系统已被国内今10个城市的公安部门选用;深圳深安计算机集成制造技术有限公司推出的指纹密码识别系统可对指纹、手指三

8、维、手指血管造影同时控制;清华大学自动化系在1996年推出了指纹身份验证系统。指纹识别已有100多年的历史了,由于指纹是每个人独有的标记,由于指纹具有唯一性、永久性和稳定性使得指纹识别成为最广泛使用的生物特征技术,近30年来,科学技术的进步,使计算机行业飞速发展,自动指纹识别技术取得了较大的成功,现今指纹方法已经电脑化,使得鉴别程序更快更准。犯罪现场留下的指纹,均成为警方追捕疑犯的重要线索,使得指纹识别技术得到了飞快地发展。指纹识别技术还用于对安全性要求比较高的商务领域,而在商务移动办公领域颇具建树的富士通、三星级IBM等国际知名品牌都拥有技术与应用较为成熟的指纹识别系统。自动指纹识别系统有着

9、极其广阔的应用前景。众所周知,指纹识别最早是在罪犯鉴别中应用 。它对于提高侦破手段、打击刑事犯罪起到了重要的作用。著名的例子是1982年西德警方使用激光指纹检验方法,给隐藏了四十多年的一名葡萄牙纳粹法西斯分子定罪,从此激光指纹检验因其神奇特点而名声大振。根据目前的了解,AFIS的其它适用场所为:政府各类机要部门(例如档案馆、国家重点实验室及生产重地)、机场、军事要地(例如基地、仓库)、重要军事装备或关键设备的启用控制、银行金库、金融系统、代保管库、博物馆、珍宝馆、高级住宅、高级宾馆等重要门禁或入口设置、汽车门锁等。除此之外,另一大潜在应用前景是:自动取款机(ATM)、信用卡)、驾驶执照、身份证

10、、医疗健康卡、移民登记、计算机系统安全、机械登记等方面。由于指纹识别技术的诸多优点,可以预料,一方面指纹识别系统将会在一切需要验证身份的场所发挥越来越重要的作用,其应用领域将会进一步拓宽;另一方面,由于市场的推动,指纹识别技术也会不断的提高,在其识别可靠性、速度、成本等方面进一步朝实用化迈进4。1.4 本文研究的内容指纹自动识别系统(流程图如图1)是将从现场采集的指纹图像和预先存储在系统库中的指纹图像进行特征匹配来实现的,其工作过程一般包括对指纹图像的预处理、特征提取、特征对比等步骤。指纹图像预处理细节特征提取与剪辑存储指纹模板指纹图像采集图1 指纹自动识别系统流程图指纹识别算法:理解指纹识别

11、系统的工作原理、对指纹图像预处理算法进行分析研究、重点研究预处理算法中的增强处理、二值化、细化等关键部分。指纹预处理和细节特征提取的算法:掌握MATLAB程序设计的方法,利用MATLAB实现指纹预处理算法并进行实验的测试和分析5。指纹图像的预处理如图二采集到的图像规格化方向滤波二值化细化图2 指纹图像的预处理算法流程图(1)图像规格化:把图像的平均灰度和对比度调整到一个固定的级别上,以消除传感器本身噪声或手指压力不同以及其它原因造成的灰度差异,为后续处理提供一个较为统一的图像规格。第 25 页 (共 30 页)指纹图像预处理(2)方向滤波:对指纹图像进行滤波增强。(3)二值化:将灰度图变成两个

12、灰度级的图像,在质问增强时设定一定的灰度阈值,图像像素灰度于此值比较,大于此值的灰度值灰度最大值255(白色),小于此值的灰度值0(黑色),从而使图像前景和背景彻底分开。(4)细化处理:在二值化的指纹图像上,不影响纹线连通性的基础上删除纹线的边缘像素,直到纹线为单像素为止。2 指纹图像预处理指纹采集设备所获得的原始图像有很多噪声,比如手指弄脏,手指有刀疤、伤痕、手指干燥、湿润或撕破等都会影响图像的质量。图像预处理的目的是消除噪声,增强脊和谷的对比度。图像预处理部分包括以下步骤:平滑处理、锐化处理、二值化和细化,具体过程如下框图:细节特征提取与剪辑存储指纹模板指纹图像采集平滑处理方向增强处理二值

13、化细化图3 指纹图像处理2.1 采集指纹图像的技术获得良好的指纹图像是一个十分复杂的问题。因为用于测量仅是相当小的一片表皮,所以指纹采集设备应有足够好的分辨率以获得指纹的细节。指纹的表面积相对较小,日常生活中手指常常会受到磨损,因此获得优质的指纹细节图像是一项十分复杂的工作。当今所使用的主要指纹采集技术有光学指纹采集技术,半导体指纹采集技术和超声波指纹采集技术。1.光学指纹图像采集技术光学指纹采集技术是最古老也是目前应用最广泛的指纹采集技术,光学指纹采集设备始于1971年,其原理是光的全反射。光线照到压有指纹的玻璃表面,反射光线由CCD去获得,反射光的量依赖于压在玻璃表面指纹的脊和谷的深度以及

14、皮肤与玻璃间的油脂和水分。光线经玻璃照射到谷的地方后在玻璃与空气的界面发生全反射,光线被反射到CCD, 而射向脊的光线不发生全反射,而是被脊与玻璃的接触面吸收或者漫反射到别的地方,这样就在CCD上形成了指纹的图像。图4 光学指纹图像采集原理光学技术采集指纹是历史最久远、使用最广泛的技术。将手指放在光学镜片上,手指在内置光源照射下,用棱镜将其投射在电荷耦合器件上(CCD)上,进而形成脊线(指纹图像中具有一定宽度和走向的纹线)呈黑色、谷线(纹线之间的凹陷部分)呈白色的数字化的、可被指纹设备算法处理的多灰度指纹图像。光学的指纹采集设备有明显的优点:它已经较长时间的应用考验,一定程度上适应温度的变异,

15、较为廉价,可达到500DPI的较高分辨率等。光学采集设备也有不足之处,主要表现在图像尺寸和潜在指印两个方面。台板必须足够大才能获得质量较好的图像。潜在指印是手指在台板上按完后留下的,这种潜在指印降低了指纹图像的质量。严重的潜在指印会导致两个指印的重叠。另外台板上的涂层(膜)和CCD阵列随着时间的推移会有损耗,精确度会降低。2.半导体指纹采集技术半导体传感器是1998年在市场上才出现的,这些含有微型晶体的平面通过多种技术来绘制指纹图像。(1)硅电容指纹图像传感器这是最常见的半导体指纹传感器,它通过电子度量来捕捉指纹。在半导体金属阵列上能结合大约100,000个电容传感器,其外面是绝缘的表面。传感

16、器阵列的每一点是一个金属电极,充当电容器的一极,按在传感面上的手指头的对应点则作为另一极,传感面形成两极之间的介电层。由于指纹的脊和谷相对于另一极之间的距离不同(纹路深浅的存在),导致硅表面电容阵列的各个电容值不同,测量并记录各点的电容值,就可以获得具有灰度级的指纹图像。(2)半导体压感式传感器其表面的顶层是具有弹性的压感介质材料,它们依照指纹的外表地形(凹凸)转化为相应的电子信号,并进一步产生具有灰度级的指纹图像。(3)半导体温度感应传感器它通过感应压在设备上的脊和远离设备的谷温度的不同就可以获得指纹图像。半导体指纹传感器采用了自动控制技术(AGC技术),能够自动调节指纹图像像素行以及指纹局

17、部范围的敏感程度,在不同的环境下结合反馈的信息便可产生高质量的图像。例如,一个不清晰(对比度差)的图像,如干燥的指纹,都能够被感觉到,从而可以增强其灵敏度,在捕捉的瞬间产生清晰的图像(对比度好);由于提供了局部调整的能力,图像不清晰(对比度差)的区域也能够被检测到(如:手指压得较轻的地方),并在捕捉的瞬间为这些像素提高灵敏度。半导体指纹采集设备可以获得相当精确的指纹图像,分辨率可高达600dpi,并且指纹采集时不需要象光学采集设备那样,要求有较大面积的采集头。由于半导体芯片的体积小巧,功耗很低,可以集成到许多现有设备中,这是光学采集设备所无法比拟的,现在许多指纹识别系统研发工作都采用半导体采集

18、设备来进行。早期半导体传感器最主要的弱点在于:容易受到静电的影响,使得传感器有时会取不到图像,甚至会被损坏,手指的汗液中的盐分或者其他的污物,以及手指磨损都会使半导体传感器的取像很困难。另外,它们并不象玻璃一样耐磨损,从而影响使用寿命。随着各种工艺技术的不断发展,芯片的防静电性能和耐用度得到了很大的改善。3.超声波指纹图像采集技术Ultra-scan公司首开超声波指纹图像采集设备产品先河。超声波指纹图像采集技术被认为是指纹采集技术中最好的一种,但在指纹识别系统中还不多见,成本很高,而且还处于实验室阶段。超声波指纹取像的原理是:当超声波扫描指纹的表面,紧接着接收设备获取的其反射信号,由于指纹的脊

19、和谷的声阻抗的不同,导致反射回接受器的超声波的能量不同,测量超声波能量大小,进而获得指纹灰度图像。积累在皮肤上的脏物和油脂对超声波取像影响不大。所以这样获取的图像是实际指纹纹路凹凸的真实反映。总之,这几种指纹采集技术都具有它们各自的优势,也有各自的缺点。超声波指纹图像采集技术由于其成本过高,还没有应用到指纹识别系统中。通常半导体传感器的指纹采集区域小于1平方英寸,光学扫描的指纹采集区域等于或大于1平方英寸,可以根据实际需要来选择采用哪种技术的指纹采集设备。表1给出三种主要技术的比较6。光学扫描技术半导体传感技术超声波扫描技术成像能力干手指差,汗多的和膨胀的手指成像模糊,易受皮肤上的赃物和油腻的

20、影响。干手指好,潮湿、粗糙手指亦可成像。易受皮肤上的赃物和油腻的影响。非常好成像区域大小中分辨率低于500dpi可高达600dpi可高达1000dpi设备体积大小中耐用性非常耐用较耐用一般功耗较大小较大成本较高低很高表1 三种主要技术的比较2.2 直方图均化直方图均化可将图像的灰度级范围拉开而且还可以让灰度频度率较小的灰度级变大,及让灰度直方图在较大的动态范围里趋于一致。这样做的目的是使图像中较暗区域中的细节看清楚。对于数字图像,假设原图像的像素总数为N,灰度级的个数为L,第K个灰度级出现的频度为。若原图像f(x,y)在像素点(x,y)处的灰度为,则直方图均化后的图像g(x,y)在此处的灰度为

21、为: (1)2.3 平滑处理图像平滑的主要目的是减少图像噪声。图像噪声来自于多方面,有来自于系统外部的干扰(如电磁波或经电源窜进系统内部的外部噪声),也有来自于系统内部的干扰(如摄像机的热噪声、电器机械运动而产生的抖动噪声等内部噪声)。实际获得的图像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。减少噪声的方法可以在空间域或频率域处理。在空间域中进行时,基本方法就是求像素的平均值或中值;在频率域中则运用低通滤波技术。图像中存在的噪声主要有三种高斯噪声、椒盐噪声和乘性噪声(颗粒噪声),要去除这三中噪声主要有三种滤波方法:线性滤波、中值滤波、自适应滤波。线性滤波一般用

22、来去除乘性噪声,中值滤波用来去除椒盐噪声,自适应滤波用来去除高斯噪声。图像中的噪声往往是和信号交织在一起的,尤其是乘性噪声,如平滑不当,就会使图像本身的细节如边缘轮廓、线条等模糊不清,从而使图像降质。图像平滑总是要以一定细节模糊为代价,因此如何尽量平滑掉图像的噪声,又尽量保持图像细节,是图像平滑研究的主要问题之一。2.3.1 增强对比度(灰度的调整)原理:如果原图像f(x,y)的灰度范围是m,M,我们希望调整后的图像g(x,y)的灰度范围是n,N,那么下述变换可以是现上面的要求, (2) 公式2的是一个线性变换。2.3.2 指纹图像规格化和滤波规格化的目的,在于消除指纹采集过程中由于传感器自身

23、的噪声以及因为手指压力不同而造成的灰度差异,将指纹图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。对原始指纹灰度图(256级灰度),一般按照式3进行规格化。 (3)式中G(x,y)N(x,y)分别表示源图像和规格化后图像的第x行第y列像素点对应的灰度值。和M对应图像G的方差和均值。和是期望方差和期望均值。1、对于线性滤波一般用邻域平均法,邻域S的形状和大小根据图像特点来确定,但一般取的是正方形、矩形及十字形等,S的形状和大小可以在全图处理中保持不变,也可以根据图像的局部统计特性而变化,点(m,n)一般位于S的中心。假设噪声n是颗粒噪声,在空间各点互不相关,且期望

24、为0,方差为,g是为受污染的图像,含有噪声的图像f经过邻域平均后为: (4)由上式可知,经邻域平均后,噪声的均值不变,方差为,即噪声方差变小,说明噪声强度减小,即抑制了噪声。2、中值滤波,将空间域模板用于图像处理,通常称为空间滤波,而空间域模板称为空间滤波器。空间域滤波按线性和非线性特点有:线性、非线性平滑滤波器。线性平滑滤波器包括领域平均法(均值滤波器),非线性平滑滤波器有中值滤波器。中值滤波是一种非线性处理技术,由于它在实际运算过程中并不需要知道图像的统计特性,所以比较方便。中值滤波最初应用在一维信号处理技术中,后来被二维的图像信号处理技术所引用。在一定的条件下,中值滤波可以克服线性滤波器

25、所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效;但是,对一些细节多,特点是点、线、尖顶细节较多的图像则不宜采用中值滤波的方法。中值滤波的目的是在保护图像边缘的同时,去除噪声。中值滤波的原理:中值滤波实际上就是用一个含有奇数个像素的滑动窗口,将窗口正中点的灰度值用窗口内各点的中值代替。例如,若窗口长度为5,窗口中像素的灰度值分别为80、90、200、110、120,则中值为110,因为如果按从小到大排列,结果为80、90、110、120、200,其中间位置上的值为110。于是原来窗口正中的灰度值200就由110代替。如果200是一个噪声的尖峰,则将被滤除;如果它是一个信号,那么此

26、方法处理的结果将会造成信号的损失。设有一个一维序列,用窗口长度为m(m为奇数)的窗口对该序列进行中值滤波,就是从输入序列中相继抽出m个数,其中为窗口的中心值,,再将这m个点的值按其数值大小排列,取其序号为正中间的那个值作为滤波器的输出。用数学公式可表示为 3、自适应滤波(wiener2滤波),一般用来去除高斯白噪声,此方法具有好的选择性,可以更好地保护图像的边缘和高频细节信息。2.4 锐化处理在图像识别中,需要有边缘鲜明的图像,即图像锐化。图像锐化的目的是为了突出图像的边缘信息,加强图像的轮廓特征,以便于人眼的观察和机器的识别。然而边缘模糊是图像中常出现的质量问题,由此造成的轮廓不清晰,线条不

27、鲜明,使图像特征提取、识别和理解难以进行。增强图像边缘和线条,使图像边缘变得清晰的处理称为图像锐化7。图像锐化从图像增强的目的看,它是与图像平滑相反的一类处理。边缘和轮廓一般都位于灰度突变的地方,由此人们很自然地想起用灰度差分突出其变换。然而,由于边缘和轮廓在一幅图像中常常具有任意的方向,而一般的差分运算是有方向性的,因此和差分方向一致的边缘、轮廓便检测不出来。为此,人们希望找到一些各向同性的检测算子,他们对任意方向的边缘、轮廓都有相同的检测能力。具有这种性质的锐化算子有梯度、拉普拉斯和其他一些相关运算。如果从数学的观点看,图像模糊的实质就是图像受到平均或者积分运算的影响,因此对其进行逆运算(

28、如微分运算),就可以使图像清晰。根据微分方法是否线性,可将锐化分为线性锐化和非线性锐化两类。1.线性锐化滤波线性高通滤波器是最常用的线性锐化滤波器,这种滤波器的中心系数都是正的,而周围的系数都是负的。对3*3的模板来说,典型的系数取值是:事实上这是拉普拉斯算子,拉普拉斯算子是实线性导数运算,对被运算的图像它满足各向同性的要求,这对于图像增强是非常有利的。拉氏算子的表达式是对于离散函数,其差分形式是:这里和在x方向和y方向的二阶差分,所以离散函数的拉氏算子的表达式为;系数取值为:2. 非线性锐化滤波对一幅图像施加梯度模算子,可以增强灰度变化的幅度,因此我们可以采用梯度模算子作为图像的锐化算子。此

29、方法也是最常用的非线性锐化滤波方法,而且由数学知识我们知道,梯度模算子具有方法同性和位移不变性,这正是我们所希望的。对于离散函数,利用差分来代替微分。一阶差分的定义为:因此,梯度的定义为:为了运算简便,实际中采用梯度模的近似形式,如、等。2.5 二值化二值化指纹图像是将灰度图像变成两个灰度级的图像。它的思想是在指纹增强时设定一定的灰度阈值,图像像素灰度与此阈值比较,大于此值的灰度置灰度最大值255(白色),小于此值的灰度置0(黑色),从而使图像前景和背景彻底分开。对于指纹图像的二值化要用自适应二值化,即灰度阈值的选取不能是固定的,因为利用MATLAB强大的图像处理函数不仅省去很多烦琐的编程,而

30、且其中提供算法能够达到非常好的效果。指纹图像二值化作为指纹预处理过程的一部分,是进行指纹图像细化处理的基础。目前指纹细化方法都是基于二值指纹图像进行的。对指纹图像二值化的好处在于使得图像的几何性质只于0和1的位置有关,图像的二值化是指将灰度图像(灰度有255阶)转化为只包含黑、白两个灰度的二值图像,不再涉及像素的灰度值,使处理变得简单,这给存储和处理带来了很大的方便,同时也提高了系统的经济实用。一个好的算法可以得到一个高质量的二值图像。反之,如果该阶段引入噪声,就会直接降低图像质量,影响识别精度。对指纹图像进行二值化,其基本要求就是二值化后的图像能真实地再现原指纹。对图像进行二值化处理的方法有

31、多种,如:(1)全局阈值法;(2)局部阈值法;(3)动态阈值法。 局部自适应阀值算法首先是利用固定阀值算法的思想,然后根据图像中每一部分的明暗度来调整阀值。首先把图像分为若干个(2n+1)*(2n+1)的方块,每一块根据自己的阀值进行二值化。这种算法充分利用了指纹图中脊线与谷线宽度大致相同的特点,即二值化后黑白像素的个数也应大致相同,首先利用固定阀值算法的特点对指纹图像中的每块确定一个大致的阀值,然后再利用自适应的思想对阀值进行准确的调整,即阀值的取值合适时图像是最光滑的,既没有“黑洞”阀值过大,也没有“白点”阀值过小,所以0-1之间的转换次数最少。在基于模糊集理论的增强算法基础上提出广义度阈

32、点的方法,阈值的正确选择在二值化中是很重要的,直接影响这分割的精度及图像描述分析的正确性,在此采用动态自适阈值进行二值化,并根据脊线扩张量特点,分解扩散4n个方向和即位于(x,y)处的像素g(x,y)的阈值V(x,y)是由以(x,y)为中心的指纹图像窗口(2n+1)*(2n+1)中所有点的灰度值来确定。即: (5)由于当(2n+1)*(2n+1)窗口落在下面不同区域会引起错误判别:1)当(2n+1)*(2n+1)窗口较多落在谷区,将会使一部分乃至大部分象素点被判为脊线。2)当(2n+1)*(2n+1)窗口较多落在脊线区,将会使一部分乃至大部分象素点被判为谷线。借助于参数和参考阈值可得到修正。令

33、为一个通过实验获得的正整数,即令0,有 (6)即: (7)其中为参考阈值。 令二值化后的图像为r(x,y),则: (8)2.6 细化MATLAB简介细化处理(Thinning)是把二值图像变成单像素宽度的骨架图像, 图像细化是在图像中将二值物体和形状减小为单个像素宽的线,以利于后面的特征点提取。在不影响纹线连通性的基础上删除纹线的边缘像素,直到纹线为单像素宽为止。细化后理想的结果是纹线骨架应该为原始纹线的骨架中心,并保持纹线细节特征以及纹线的收敛性、拓扑性、细化性和快速性。细化图像是基于点模式细节特征点提取的前提,如果无法得到较好的细化图像,后续的工作将难以顺利完成。图像细化是在图像中将二值物

34、体和形状减小为单个像素宽的线,细化操作的每次应用都会从二值图像物体的厚度中删除一个或两个像素。细化又称骨骼化,是指在不影响图像的拓扑关系的情况下,将图像中宽度大于一个像素的线条转变为只有一个像素宽度的图像的处理过程。由于在指纹识别的图像处理过程中,指纹特征,包括方向特征,只跟指纹图像的拓扑结构有关系,而跟脊线和脊骨的宽度无关,同时通过细化可以极大地便于后续的提取特征点操作,因此在指纹图像预处理过程中需要对指纹图像进行细化操作。细化的效果好坏直接与细化后的指纹特征点是否能够高效提取若曦化处理效果不好的话,后续的特征点提取将有可能出现大量的为特征点,导致最后的匹配无法进行,因此细化操作非常重要。由

35、于指纹识别与一般其他的图像识别有很大的不同,指纹识别的匹配直接与细化后的指纹的端点(含分叉点、端点)相关,因此细化操作不能对指纹图像的端点位置、方向等产生影响,否则就改变了指纹图像的特征信息。MATLAB简介2.7 研究存在的问题经过研究和实践,发现常用的算法在指纹处理应用中存在以下问题:(1)算法中的多数固定阈值和经验值对原始图像的灰度特征具有依赖性,没有以一个统一的图像规格作为参考,容易失效;(2)对图像有效区和无效区的判别效率低下,对不同的区域,存储和运算的开销分配失当;(3)对低质图像处理效果差,不能充分利用指纹的固有特性(如方向性,频率性和一致性等)来恢复被噪声淹没的纹线结构。3 M

36、ATLAB简介MATLAB是一款将数据结构、编程特性以及图形用户界面完美的结合到一起的软件,MATLAB的核心是矩阵和数组,在MATLAB中,所有数据都是以数组的形式来表示和存储的。MATLAB提供了常用的矩阵代数功能,同时还提供了非常广泛的、灵活的数组运算功能,用于数据的处理。MATLAB的编程特性与其他高级语言类似,同时还可以与其它语言(如C语言)混合编程,进一步扩展了自身的功能。在图形可视化方面,MATLAB提供了大量的绘图函数,方便用户进行图形绘制,同时MATLAB还提供了图形用户接口(GUI),通过GUI,用户可以进行可视化编程。Simulink是基于MATLAB的框图设计环境,可以

37、用来对各种动态系统进行建模、分析仿真8。MATLAB作为一种高科技科学计算机软件,进行算法开发、数据可视化、数据分析及数值计算的交互式应用开发环境。世界上许多科研工作者都在使用MATLAB来加快自己的科研速度,缩短数据分析和算法开发的时间,研发出更加先进的产品和技术。相对于传统的C、C+语言,MATLAB提供了高效快速解决各种科学计算问题的方法,目前,MATLAB已经被广泛认可为科学计算领域内最标准软件之一9。MATLAB可以被广泛地应用于不同领域,例如信号与图像处理、控制系统设计与仿真、通信系统设计与仿真、测量测试与数据采集、金融数理分析以及生物科学等。MATLAB中内嵌了丰富的数学、统计和

38、工程计算函数,使用这些函数进行问题的分析解答,无论是问题的提出还是结果的表达都采用工程师习惯的数学描述方法,这一特点使MATLAB成为了数学分析、算法开发及应用程序开发的良好环境。MATLAB是MathWorks产品家族中所有产品的基础10。附加的工具箱扩展MATLAB基本环境用于解决特定领域的工程问题。MATLAB有以下几个特点:l 高级科学计算及语言;l 代码、数据文件的集成管理环境;l 算法设计开发的交互式工具;l 用于线性代数、统计、傅里叶分析、滤波器设计、优化和数值计算的基本数学函数;l 2-D和3-D数据可视化;l 创建自定义工程师图形界面工具;l 与第三方算法开发工具,如C、C+

39、、Java等集成开发基于MATLAB算法11。MATLAB中许多附加的软件模块这也被称为工具箱,它们可以执行更加复杂的计算。用户可以单独购买这些模块,但是,所有模块必须在核心MATLAB程序下运行。工具箱处理诸如以下的这些应用:图像和信号处理、财务分析、控制系统设计和模糊逻辑。MATLAB是Matrix Laboratory的简称,由Math Works公司开发,是目前最流行的、应用广泛的科学与工程计算软件,应用与自动控制、数学运算、信号分析、数字图像处理、数字信号处理、语音处理航天汽车工业等各行各业,也是科学研究的重要工具12。MATLAB是当今最优秀的科技应用软件之一,它编写简单,具有强大

40、的科学计算能力、可视化功能、开放式可扩展环境,工具箱支持30多个领域,因此在图像处理领域也得到了广发的应用,包括亮度的变换、线性和非线性空间域滤波、频率域滤波、形态学图像处理、图像分割、区域和边界表示等应用。MATLAB具有如下主要特点:1)强大的运算功能矩阵是MATLAB最基本的数据单元,MATLAB中每个变量都代表一个矩阵。MATLAB像其它语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符和赋值运算符,这些运算符也可以用于复数矩阵。2)编程效率高仿真分析MATLAB语言是一种解释执行的语言,他灵活方便,调试速度快。而用其他语言编写程序时,一般要经过编辑、编译、执行和调试融

41、为一体,在同一个界面上进行灵活操作,从而加快了用户编写、修改和调试程序的速度。MATLAB运行时,在命令窗口每输入一条语句,就立即对其进行处理,完成编译、连接和运行操作的全过程。在程序运行过程中,如果出现错误,计算机屏幕上会给出详细的错误信息,用户经过修改以后再执行,知道正确为止。这些都减轻了编程和调试的工作量,提高了编程的效率13。3)强大的绘图功能MATLAB有一些绘图函数,可以方便地将工程计算的结果可视化,使原始数据的关系更加清晰明了。MATLAB能根据输入数据自动确定最佳坐标,规定多种坐标系,设置不同颜色、线型、视角等,并能绘制三维的曲面和曲线。4)可扩展性强MATLAB中包括丰富的库

42、函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数与M文件一样,所以M文件也可以作为MATLAB的库函数来调用。因此,用户可以根据自己的需要方便地建立和扩充新的库函数,以提高MATLAB的使用效率14。4 仿真分析4.1 基本思路仿真分析采集到的指纹图像受各种原因的影响,是一幅含较多噪声的灰度图像。预处理的目的就是去除图像中的噪声,把它变成一幅清晰的点线图,这样才能提取正确的指纹特征,从而达到后边的正确匹配。预处理过程主要包括指纹规格化,平滑滤波处理,方向增强处理,二值化,细化等,它是指纹自动识别系统中极为关键的一步,它的好坏将直接影响这指纹识别的效果。在此基础上,提取指纹特征

43、信息,得到输入指纹特征模板15。细节特征提取与剪辑存储指纹模板指纹图像采集平滑处理方向增强处理二值化细化图5 指纹自动识别系统流程图4.1.1 直方图均化直方图均化可将图像的灰度级范围拉开而且还可以让灰度频度率较小的灰度级变大,及让灰度直方图在较大的动态范围里趋于一致。这样做的目的是使图像中较暗区域中的细节看清楚。 4.1.2 对比度增强(灰度调整)把图像的平均灰度和对比度调整到一个固定的级别上,以消除传感器本身噪声或手指压力不同以及其它原因造成的灰度差异,为后续处理提供一个较为统一的图像规格。4.1.3 平滑滤波平滑滤波主要用来去除图像中存在的噪声,图像中存在的噪声主要有三种高斯噪声、椒盐噪

44、声和乘性噪声(颗粒噪声),要去除这三中噪声主要有三种滤波方法:线性滤波、中值滤波、自适应滤波。线性滤波一般用来去除乘性噪声,中值滤波用来去除椒盐噪声,自适应滤波用来去除高斯噪声16。1、对于线性滤波一般用邻域平均法,邻域S的形状和大小根据图像特点来确定,但一般取的是正方形、矩形及十字形等,S的形状和大小可以在全图处理中保持不变,也可以根据图像的局部统计特性而变化,2、中值滤波,一般用来去除椒盐噪声,3、自适应滤波(wiener2滤波),一般用来去除高斯白噪声,此方法具有好的选择性,可以更好地保护图像的边缘和高频细节信息。4.1.4 指纹二值化图像的二值化是指将灰度图像(灰度有255阶)转化为只

45、包含黑、白两个灰度的二值图像,即0和1两个值。4.1.5 指纹细化图像细化是在图像中将二值物体和形状减小为单个像素宽的线。细化操作的每次应用都会从二值图像物体的厚度中删除一个或两个像素。4.2 程序实现4.2.1 直方图均化用matlab进行仿真,直方图均化用到函数histeq,其语法格式为:j=histeq(I,n),I为原始图像,n为直方图均化后的灰度级数,默认值为64。4.2.2、对比度增强(灰度调整)用MATLAB仿真用到imadjust函数,它的语法格式为:g=imadjust(I,low high,bottom top),low high为原图像中要变换的灰度范围,bottom t

46、op指定了变换后的灰度范围12。4.2.3 平滑滤波平滑滤波主要用来去除图像中存在的噪声,图像中存在的噪声主要有三种高斯噪声、椒盐噪声和乘性噪声(颗粒噪声),要去除这三中噪声主要有三种滤波方法:线性滤波、中值滤波、自适应滤波。线性滤波一般用来去除乘性噪声,中值滤波用来去除椒盐噪声,自适应滤波用来去除高斯噪声。1、对于线性滤波一般用邻域平均法,在matlab中用到函数conv2进行中值滤波,其语法格式为:c=conv2(double(b),double(h)。如下程序:a=imread(zhiwen.bmp);subplot(1,3,1)imshow(a);title(原图像);subplot(1,3,2)b=histeq(a); %直方图均化imshow(b);title(直方图均化后的图像);subplot(1,3,3)h=1 1 1 1 1 1 1 1 1;%产生滤波模板h=h/9; %对滤波模板归一化c=conv2(double(b),double(h);imshow(c,);title(经线性滤波后的图像);2、中值滤波,在matlab中用到函数medfilt2进行中值滤波,其语法格式为:b=medfilt2(a,m n) %用指定大小为:mn的窗口对图像a进行中值滤波,其默认值为33窗口。3、自适应滤波(wiener2滤波),在matlab中用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1