摘 要:为了增强指纹图像预处理的效果,在对现有算法深入研究的基础上,提出一种新的指纹图像增强算法。先利用Radon变换来获得图像的方向图,然后利用方向滤波器对该图像进行滤波,达到指纹图像增强的目的。实验结果表明,该算法使断开的脊线得到连接,叉连线得到消除,脊线和谷线得到了分离。该算法与传统方法相比,增强效果明显,且算法简单,为下一步指纹图像识别奠定了坚实的基础。
关键词:Radon变换;纹线方向;方向图;方向滤波器
0 引 言
在指纹采集的过程中,由于手指本身的因素和采集条件等各种原因的影响,采集到的原始指纹图像中往往包含有很多噪声,造成指纹图像质量严重下降,模糊不清造成脊线的粘连或断开,会导致产生虚假的指纹细节特征;遗漏或忽略了正确的细节特征点;在有关描述细节特征点提取的有效性和可信性,影响系统在匹配时的拒认率或误认率,从而最终影响整个系统识别的结果。为了准确地进行细节点的提取和特征点的匹配,图像就必须先经过预处理,消除噪声、连接脊线断裂部分,以得到纹线清晰的指纹图像。可以说,预处理算法的好坏基本上决定了指纹识别系统的有效性和准确率。因此,指纹图像增强在自动指纹识别系统中具有重要的地位和作用。
目前的指纹图像增强算法大都是利用指纹的方向特性和频率特性来对图像进行滤波,以达到图像增强的目的。但是在计算指纹图像的方向图和频率图时该类算法计算复杂。为此,这里提出了利用Radon变换来计算指纹图像的方向图,然后利用方向滤波器来对指纹图像进行滤波的算法。实验结果表明,该算法运行速度快、效果好,为下一步的指纹识别奠定了坚实的基础。
l Radon变换及其实现
设函数f(x,y)∈L2(D)中,在平面上D区域中它平方可积,则f(x,y)的Radon变换g(t,θ)可表示如下:
其中:δ是冲击函数,t-(xcosθ+ysinθ)=0表示极坐标下任意一条直线方程。
图像的Radon变换就是将原始图像变换为它在各个方向上的投影表示。图像f(x,y)在任意角度θ上的投影定义为:
其中:
由投影切片定理知,Radon变换与Fourier变换有明确的对等关系。因此,离散的Radon变换可以由Fourier变换来实现。
2 算法原理
2.1 扩展像素值动态范围
对图像做局域动态范围扩展,目的是消除图像因为采集按压力度不均匀而导致的局部灰度差别。在做过局域动态扩展之后,连续纹线上的灰度变化难免会变大,有必要做进一步的平滑。
(1)局域动态范围扩展:使用一个滑动窗口遍历整个指纹图像,按照式(4)计算并重置窗口内像素的灰度。N(i,j)=F{[(O(i,j)一m2)/(m1一m2)]255} (4)其中:N(i,j)是窗口内处理之后的像素灰度值;O(i,j)是处理之前的像素灰度值;m1和m2分别是窗口内灰度最大和最小的像素值;F函数是用来取最接近结果的整数的函数。
(2)平滑处理:使用一个滑动窗口遍历整个指纹图像,对纹线上的灰度进行平滑。若该窗口内的灰度变化小于预设阈值M,则说明该窗口处于脊线或者谷线上,使用中值滤波对其进行平滑;若灰度变化大于预设阈值M,则说明该窗口处于脊线和谷线的分界线上,不做任何操作。
2.2 计算方向场
首先对均衡化后的图像进行分块,分块大小为8×8或16×16,对每个图像块进行Radon变换,并且假设在图像块内的指纹脊线在几何上具有互相平行的关系,也就是该分块内的脊线具有相同的角度,实验表明这种假设是合理的。又因为Radon变换就是将原始图像变换为它在各个方向上的投影表示,所以在Radon域内,最大值的点所在的列就对应于一定的脊线方向,其关系如图1所示。图中脊线i表示图像块中的任意脊线,它与x轴的交角为α,此时第j条采样直线与脊线i垂直,即在Radon域内最大值点所在的列为第j列。第j条采样直线与采样起始线的夹角为β,采样直线从起始点开始沿顺时针方向旋转。