赞
踩
指纹识别作为比较常见的应用,我们每个人都可能使用过。在指纹配准过程中一般都要经过图像预处理,特征提取,特征匹配的过程。尤其在图像预处理的过程相当重要,它影响到后面的特征提取,进而影响到特征比对的效果。然而,图像预处理最重要的一个步骤就是方向图的计算,得出方向图后,增强,二值化,特征点的方向计算,匹配等等都要用到,因此如何提取指纹图相当重要。
计算指纹方向,第一步是想到角度,怎么计算角度,很容易想到计算角度的公式:
那么,在图像中如何计算某个点角度?就是计算梯度,dy代表竖直方向的梯度,dx代表水平方向的梯度,举例(只是简单表明意思):dx=b-a; dy=c-a;
a | b |
c |
然后就一个点计算梯度方向,很不准确。原因主要是指纹纹理的频率的特性,一般指纹脊的的宽度约为7~18个像素(500dpi),因此,我们计算的的角度,最好包含一个谷和一个脊线的宽度,这里取w=32作为参考值,即要通过w*w区域内的像素值的梯度来估计指纹的方向。那么,如何计算块内的方向呢,想到用这个块内的水平方向和竖直方向的梯度和()计算,但是,存在梯度抵消的可能(其他文章看到,可以探讨),而且感觉也不准。还有其他什么方法呢?
在这里,想到正切函数的二倍角公式:
是不是发现,和就是图像中对应的竖直方向的dy和dx,(公式中的斜边可以约去),由于我们计算的是通过区域内的像素梯度(一般使用sobel算子,这里不过多叙述)计算方向,因此公式中的都是累计值。设x,y为w*w的中心点,则
因此,可以得出公式:
此时,计算的是梯度的方向,指纹的纹线方向是与梯度方向互相垂直的,因此加上90度,最终,公式如下:
到此,看着这个公式比较熟悉,很多论文都有提到,我这样简单的理解,哪里不足或者表述不清的,可以互相探讨学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。