指纹图像二值化处理方法的改进方案

出处:田俊青, 徐荣青, 李亚玲, 姚晓宇 发布于:2011-09-01 14:56:54


  在指纹识别算法中,由于现有指纹采集设备的不完善性,均需对采集的图像进行二值化处理,这个过程是相对难突破的一个不可或缺的重要环节。二值化是将含有噪声的灰度图像处理成适于特征提取的二值图像,其处理结果的好坏直接影响着整个识别系统的性能。

  二值化指纹图像就是将图像上的点的灰度值置成0或255,即通过阈值使白色的谷线区域灰度都达到255,黑色的脊线区域灰度都达到0,由此使指纹纹线对象成为黑白两色图像。二值化主要有全局阈值法、局部阈值自适应算法和基于方向信息的二值化方法。全局阈值是在整幅图像内采用固定的阈值分割图像,经典的方法是以灰度直方图为处理对象,但由于单一的阈值会造成特征点的丢失,因此该方法一般不会单独使用,局部阈值自适应算法是将原始图像分成几个小的子图像,再对每个小图像分别求出分割阈值,如参考文献[1]采用的改进的自适应指纹图像二值化方法,虽然对于一些质量差的指纹图像能够很好地保留重要的特征信息,但是该方法得到的二值化图像有很多噪声,不利于后面细节点的提取,需要进一步处理。该算法充分考虑到指纹图像是一种纹理性的图像,先进行维纳滤波,防止后期产生孔洞,然后采用连续块方向图计算指纹的方向,以方向图为基础,采用方向滤波模板对指纹图像进行滤波增强,实现二值化。实验结果表明,此方法对于不同质量的指纹图像都有令人满意的处理效果,在指纹图像预处理中有良好的应用前景。

1 指纹图像二值化处理方法

  在指纹图像进行二值化之前先要对它进行图像分割,这里采用类间方差图像分割[4]。为了获得没有噪声或者噪声强度相当低的图像,本文选用维纳滤波进行图像预处理。

1.1维纳滤波

  维纳滤波器根据各像素局部领域的统计估计进行自适应滤波。它将图像信号和噪声都看成随机信号,在对随机信号进行分析统计的基础上设计出符合准则的滤波器。假设图像信号g(x,y)是由真实图像f(x,y)和噪声信号n(x,y)构成,设计图像滤波器的目的就是使输出的图像 I(x,y)尽可能地降低噪声信号n(x,y),同时恢复真实图像 f(x,y)。定义误差信号为:

  然后对滤波之后的指纹图像利用方向图进行二值化。

1.2 方向图的计算

  方向图是描述指纹图像上各点的纹线走向指示图。将纹线的走向分为8个方向,基准点位于方向模板的中心, 从水平位置开始, 按逆时针方向,每隔π/8 确定一个方向, 分别用i=1,2, …,8来表示, 此方法计算的方向角范围是[0,π]。本文选用计算方向图[6],具体计算步骤如下:

  (1)采用7×7窗口,设其为矩阵A,A44为基准点P(i,j),其中有4个方格是3个方向共用的, 如图1所示,A33、A55是方向6、7、8共用的方向, A35、A53是方向2、3、4共用的方向。采用此窗口设置方向充分考虑了基准点附近较近点的灰度值,共用点的权值比较大。

  (2)对指纹图像中的每一点P(i,j),分别计算8个方向上的灰度平均值,即对图1中标有i(i=1,2,…,8;分别代表 8 个方向)的位置上的像素灰度值求算术平均值,得到Gi;

  (3)把这8个平均值按两两垂直的方向分成4组:1和5为一组,2和6为一组,3和7为一组,4和8为一组,分别计算每组中两个平均值的差的 。

  (4)根据上一步求出的方向组的差值,取的方向组中的两个方向作为可能的脊线方向。

  (5)确定方向组中的两个方向:将这两个方向上的像素灰度的平均值与像素P(i,j)的灰度值G进行比较,取灰度平均值与P(i,j)的灰度值G接近的方向作为该像素点P(i,j)的脊线方向,这样得到的是指纹图像的点方向图。

  (6)用连续滑动的 w×w大小的窗口对点方向图中的每一点P(x,y)进行平滑处理, 分别统计每个窗口内方向直方图,这里w的取值需要考虑,如果取得太大,对纹线方向变化比较快的区域得到的方向不,w取值小时又会引起噪声误差,二值化时会产生气泡,通常w取值要比一个纹线间距略小;

  (7)将直方图的峰值所对应的方向作为点 P(x,y)的方向,根据此方法对点方向图中的每个点进行平滑处理, 便可得到连续方向图O(i,j)。

  图2(b)所示为对图2(a)分别用8个颜色代表纹线的8个方向的示意图。

1.3 指纹图像增强滤波及二值化

  利用上面计算出的连续方向图, 就能根据其方向设计出相应的方向自适应滤波模板。其设计思想是使指纹纹线在切线方向平滑, 在法线方向锐化, 以消除指纹图像中纹线的断裂和叉连。方向自适应滤波器是由多个方向的滤波模板组成的, 本文选用O'Gorman提出的方法构造滤波模板。取水平方向的滤波器为:

 


  其他方向(2~8)的滤波器可由其旋转相应的角度得到。Matlab中利用函数imrotate( )实现。

  在指纹图像上,从上到下、从左至右逐点移动, 根据每个像素的方向值, 选用相应的滤波器模板进行卷积滤波运算。经过上述滤波处理后, 消除了一些断点和叉连现象。在本算法中,对8个方向进行滤波增强,脊线图像提取之后对它们进行组合、二值化。

  图3所示为8个方向提供的有线图像、脊线组合后的图像以及二值化后的图像。

  这时,只需要一个全局阈值就可以将灰度图像二值化了。直接使用 Matlab中的im2bw函数对灰度图像进行二值化图像的转化。调用格式如下:

  level=graythresh(I);

  BW=im2bw(I,level);

2 实验结果及性能分析

  为了验证上述算法的有效性,在CPU为Pen-tium 42.66 GHz、内存为1 GB的计算机上, 运用 Matlab 7.1 编程工具实现了上述算法,实验结果如图4所示。从处理实例中可以看出,图4(b)采用局部阈值二值化,受到采集仪器和一些不可抗拒的噪声的影响,处理的结果不理想,有断纹和粘线。然后,利用指纹方向信息设计方向滤波模板,对图像滤波增强,实现二值化。可以看到采用本文方法得到的二值化图像基本保持了原有指纹图像的细节,二值化后的线条平滑,对断裂的指纹有一定的连接作用,消除了孔洞、连线,细化的结果令人满意。

图4 实验结果

  本文详细介绍了一种指纹图像的二值化处理方法,对于一般的利用方向信息得到的二值化图像中产生的如孔洞、在脊线方向变化剧烈的区域提取信息不准确等问题,进行了解决。两次滤波后实现的二值化图像的线条平滑饱满,消除了孔洞、连线,并且对断裂的纹线起到一定的连接作用,特征点处的处理图像也很清晰准确,效果明显,为后面的准确提取细节点做准备。本文算法简单,易于工程实现,通用性和实用性强,能够直接或者在稍作改造后用于诸如身份辨认、身份识别等场合。基于该指纹识别预处理方法的指纹识别系统能够在提高经济效益、降低工作人员劳动强度方面起到较大的作用,具有一定的社会和经济意义。


  

参考文献:

[1]. A33 datasheet https://www.dzsc.com/datasheet/A33_2278267.html.
[2]. A55 datasheet https://www.dzsc.com/datasheet/A55_2278367.html.
[3]. A35 datasheet https://www.dzsc.com/datasheet/A35_2278301.html.
[4]. A53 datasheet https://www.dzsc.com/datasheet/A53_1823394.html.


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!