5

如果我们假设每个指纹都是由同心曲线(椭圆或圆形)组成的——而且我知道并非每个指纹都是——我怎么能找到这些同心曲线的中心?

让我们拿这个“理想”的指纹,试着找出它的中心......

替代文字

我的方法是尝试:

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

虽然这些方法在某些现存的情况下有效,但通过一些额外的过滤,当指纹“不像这个那样理想”时,它们会失败。你能想到任何不同的方法吗?有标准的方法吗?

编辑 1我现在真的很喜欢 Zack 的想法,并希望有人能更清楚地说明如何去做......

编辑 2我希望有人能多解释一下 Zack 的想法。赏金给扎克。

编辑 3指纹,其曲线中心近似于指纹外的脊。 替代文字

4

7 回答 7

2

这是我要走的路,。

  1. 找到弧线/线
  2. 使用 trig,确定每个圆弧最能代表的圆心
  3. 取中心的平均值作为手的中心
于 2011-01-01T22:07:09.710 回答
2

这让我想起了一些愉快的回忆——我早在 1997 年就脱离了指纹识别业务。

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

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

于 2011-01-02T06:00:17.370 回答
2

在我的脑海中,我不知道这会有多难:将指纹线视为标量场的等势线,并找到最大化/最小化其梯度的点。

于 2011-01-01T20:08:12.680 回答
1

您可能想要使用类似 Hough的方法。

  1. 使用“投票”图像,为中心候选人积累选票。
  2. 对于图像中每个边缘的每个像素,计算一个小窗口中的局部梯度——这将给出一个垂直于边缘的向量。
  3. 对于每个这样的向量,沿其长度增加投票计数(直到某个合理的距离)。
  4. 投票数最高的像素可能是您想要的中心。
于 2011-01-09T14:13:15.507 回答
1

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

但是,我知道的最好方法是:

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

创建轨道后,您开始寻找轨道方向转换最高的点。

于 2011-01-01T19:57:33.430 回答
0

您正在寻找构成指纹的同心圆的中心。我会将每个山脊识别为一条单独的线。单独来看,确定每条线的半径中心应该相当简单,最小的半径应该是您正在寻找的同心圆的中心。如果我正确理解了您的需求,那应该可以。尽管它似乎也导致找到另一篇文章中提到的核心。我相信这确实是您正在寻找的。至少作为一个实际问题。它可能不考虑异常值。

于 2011-01-07T20:20:10.657 回答
0

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

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

编辑 3 指纹,其曲线中心近似于指纹外的脊。这个指纹是一个普通的拱门。它没有循环,但如果您遵循论文中作者的作品,他们会提供解决这些情况的解决方案。

于 2016-05-31T11:21:32.527 回答