同时计算该点8个方向上的象素的灰度值之和,得到S0,……S7。将8个方向灰度值按两两垂直的方向分为4组(0~4,1~5,2~6,3~7),取两两差值最大的方向p为象素点可能的方向。在2个方向中灰度平均值与该点象素值G″(i,j)最接近的方向作为该象素处的脊线方向。
在计算各点方向的过程中,可以同时进行纹线的增强及二值化。如果象素点为脊线上的点,则该点的灰度值一定会大于8个方向上所有点的灰度平均值,而且它的脊线方向和垂直于脊线方向的所有点的灰度和的平均值一定会大于8个方向上所有点的灰度平均值。因此将上述2个条件联合起来会取得更好的效果。
若当前点C满足上式,则C点处于脊线上。将C点的灰度值置为125,否则C点是背景点,将它的灰度值置为0。根据以上方法,还可以设计出13×13、17×17等大小的窗口。窗口越大,对指纹断裂的连接功能越强,但对指纹粘连的隔离功能减弱,计算量也随之增加。利用以上方法,对图像中所有点均进行同样运算。运算结束后,图像中的断点和叉连被很好地去除,同时也完成了图像的初步分割。
2.2 不可恢复区域的提取
在成功进行了指纹增强和初步分割后,指纹有效区域中仍然可能存在一部分区域,其纹线非常模糊,其中纹线严重粘连或呈颗粒装,即使是人眼也看不出其中的纹线结构,无法根据相邻区域中纹线结构判断该区域中纹线结构。这种区域被称为不可恢复区。需要进一步标识出该区域,在后续的特征提取过程中,不再从不可恢复区域中提取特征值,从而避免了从中提取大量的虚假细节点,也提高了细节点的提取速度。
针对不可恢复区域中各个象素点的方向均匀分布,而正常指纹区域方向有较大一致性的特点,利用计算出的各个象素点的方向值,来提取出不可恢复区域:
将点方向图分成互不重叠的16×16大小的块,计算每一块的方向一致度Ax。其计算过程如下:
(1)将图1中的8个方向量化为具体的数值。0等于0,1等于-π/8,2等于-π/4,3等于-3π/8,4等于-π/2,5等于3π/8,6等于π/4,7等于π/8。
(2)当每一块内各象素点的方向大致相同时,所有点的方向和的绝对值应该等于所有绝对值的和,此时Ax=1;而当各象素点方向均匀分布时,此时Ax=0。求出各块内的方向一致度,设置一定的阈值T2,如果Ax2,就将该区域设为不可恢复区域。
实验结果
在微机上用Delphi编程实现了上述方法。使用分辨率为500dpi的指纹采集仪采集大小为512×512的图像。根据采集图像的特性,实验参数如下:图像增强区域为16×16,M0和VAR0均为125;提取有效区域中的方块大小16×16,阈值T1为20;在方向图中使用了9×9的邻域大小;在高斯低通滤波器中,使用了3×3的邻域,σ=1;在不可恢复区域中,方向一致度的阈值T2=0.35;实验结果如图2所示。图2(a)为原始指纹图像,图2(b)是进行了对比度增强、提取有效区域后的图像,图2(c)是传统的利用指纹纹线分割来实现的指纹图像,图2(d)是利用本文提出的方法实现的指纹增强、分割后的图像,图2(e)是提取不可恢复区域后的指纹图像,图2(f)是图2(d)细化后的指纹图。
通过对50对指纹进行实验比较发现,在传统特征提取方法中,指纹伪特征点在所有特征点中的比例为12%~14%。而在改进的方法中,对指纹的纹线间断连接及叉连的分离能力都大为增强,同时通过不可恢复区域的标识,又避免了大量伪特征点的提取,其中伪特征点比例降为7%~9%。对残留的伪特征点,可以利用计算出的各特征点的方向以及各特征点之间的距离等特性,将各类噪声引起的伪特征点分别予以删除[5][6],保留的特征点集作为真正特征点的集合。