在图像中定位模板

时间:2011-03-11 20:48:32

标签: image-processing

我有一张图片和一张模板。我试图找出图像中是否存在模板,如果存在,则图像中的实例位于何处。像这些图像:

http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-model-bit.gif http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-image-bit.gif

这将是结果: http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/sc1-match.gif

这些图片来自此页面: http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/main.html 有一个参考Rucklidge的算法,但我没有找到有关该算法的信息。

我不需要旋转超过15度或缩放超过20%(更大或更小)。最好的方法是什么?

* 编辑:* 我有一个构成图像边缘的黑色像素列表,以及另一个构成模板的像素列表。我只是想找到一种简单的方法来找到模板图像像素列表的最佳(x,y)偏移量,使它们尽可能接近形成图像的像素。一些公差会很好,允许几个百分比的缩放或几度旋转,但没有激进。

2 个答案:

答案 0 :(得分:2)

您引用的页面中的一些链接追逐会导致http://www.cs.cornell.edu/vision/hausdorff/hausmatch.html,其中包含一些与您所遇到的相同问题的代码。

Rucklidge发表了他的算法版本,例如“使用Hausdorff距离高效定位对象”(International Journal of Computer Vision,vol 24 issue 3,Sept。/ Oct.1997)和一本书“使用高效的视觉识别” Hausdorff距离“,Springer LNCS no 1173)。除了你可以通过谷歌获得的书的片段之外,我还没有读过任何这些内容。听起来好像Rucklidge有修剪搜索空间的有效方法,通过证明它们不能包含被搜索事物的良好副本来排除(位置,转换)的大区域。

我认为你的问题就是这样 - “最好的办法是什么?” - 需要大量研究计划而不是Stack Overflow答案。据我所知(我不是该领域的专家),这仍然是一个活跃且具有挑战性的研究领域。

答案 1 :(得分:0)

此处的关键字为Hausdorff distance。您的原始链接对Hausdorff指标有很好的解释。所以一旦你了解到算法非常简单 -

  1. 将图像和模板转换为二进制模式。
  2. 在图片中查找最低Hausdorff_distance(region, your_template)
  3. 的区域