寻找指纹中心

时间:2011-01-01 19:50:35

标签: image-processing signal-processing fingerprint biometrics

如果我们假设每个指纹都是由同心曲线(椭圆或圆圈)组成的 - 我知道不是每个指纹都是 - 我怎么能找到那些同心曲线?

让我们采用这种“理想”的指纹并尝试找出它的中心......

alt text

我的方法是尝试:

  • 通过图像的列/行查找光谱,并尝试查找最大化光谱特定波段的列/行。我认为通过中心的列将具有最常规的变化幅度模式 - 因此,最可识别的谐波。
  • 我的第二种方法是尝试通过列和行计算黑白的变化,并最大化行和列之间的数量。

虽然这些方法适用于某些现存的,但通过一些额外的过滤,它们会失败,因为指纹“并不像这个那样理想”。你能想到任何不同的方法吗?有标准方法吗?

编辑1 我现在非常喜欢Zack的想法,并希望有人能够更清楚地了解如何做到这一点......

编辑2 我希望有人能更多地阐述Zack的想法。赏金给扎克。

编辑3 指纹,其曲线中心接近指纹外的脊。 alt text

7 个答案:

答案 0 :(得分:2)

离开我的头顶,我不知道这有多难:将指纹线视为标量场的等势线并找到最大化/最小化其gradient的点。

答案 1 :(得分:2)

这是我要走的路,。

  1. 找到弧/线
  2. 使用trig,确定每个弧最佳代表的圆心
  3. 取中心的平均值作为手的中心

答案 2 :(得分:2)

这给我带来了一些美好的回忆 - 我在1997年将自己与指纹识别业务脱离关系。

您真正要求的是识别指纹的核心,因为指纹的所有识别特征都是从核心测量的。

如果您确定每个局部区域中线条的主导方向,您会发现核心处于这些方向变化最快的点。

答案 3 :(得分:1)

首先 - 这本身就是货币行业。

然而,我知道的最佳方式是:

首先提取一条记录从一个量化方向到另一个量化方向的过渡的轨迹。也就是说,黑线的弯曲。

创建曲目后,您开始寻找曲目中方向转换最高的点。

答案 4 :(得分:1)

您可能希望使用类似Hough的方法。

  1. 使用“投票”图片,累积中心候选人的投票。
  2. 对于图像中每个边缘的每个像素,计算一个小窗口中的局部梯度 - 这将给出垂直于边缘的矢量。
  3. 对于每个这样的向量,增加沿其长度的投票计数(达到一些合理的距离)。
  4. 投票次数最多的像素可能是您想要的中心。

答案 5 :(得分:0)

您正在寻找构成指纹的同心圆的中心。我会将每个山脊识别为一条单独的线。单独查看,确定每条线的半径中心应该相当简单,最小半径应该是您正在寻找的同心圆的中心。如果我正确理解你的欲望,那就应该这样做。虽然它似乎也导致找到另一篇文章中提到的核心。我相信这正是你要找的。至少作为一个实际问题。它可能无法解释异常值。

答案 6 :(得分:0)

我只想澄清你是否想要找到循环/核心?如果我正确地假设你所指的那些同心曲线的中心是循环。最简单和理想的方法是创建脊的方向场并找到最高的曲率点。这是循环。方向字段发散的点是在指纹示例中看不到的delta。

您还可以将方向字段分组到区域中。所有区域的交叉点是环路和三角形。 下面的文章描述了如何检测循环和增量。 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=7139102

编辑3指纹,其曲线中心接近指纹外的脊。这个指纹是一个普通的拱门。它没有循环,但如果你按照文章中作者的作品,他们提供了解决这些案例的解决方案。