opencv在另一个图像上查找图像坐标

时间:2011-12-07 13:53:55

标签: image opencv find point

如何在包含图像“A”的图像“B”上找到图像“A”坐标。

我写的这个程序只检查像素值,有没有人知道有没有任何图书馆工具这样做。

3 个答案:

答案 0 :(得分:7)

正如Throwback1986所建议的,你可能想要使用matchTemplateHere是我的答案之一,展示了如何从虚拟太空船中探测到太阳。 Here是OpenCV使用matchTemplate时的新教程。现在,使用matchTemplate方法有一些注意事项。如果图像“A”可以处于图像“B”中的任意姿势(例如,比例,旋转,透视等的变化),那么matchTemplate将不会很好地工作。如果恰好是这种情况,您将需要按照Adrian Popovici的建议使用特征检测路线。

答案 1 :(得分:5)

您应该查看此链接的最后3个教程: http://opencv.itseez.com/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html

我不认为检查像素是一种好方法。

答案 2 :(得分:0)

您可以考虑使用此tutorial中描述的模板匹配。

更强力的方法是在图像B上逐渐“滑动”图像A,寻找最小差异点。 (请注意,这假设图像A是图像B的一些相当小的子集。)您可以使用cvNorm函数来计算L1 norm,这相当于计算平方差的和(SSD)。使用CV_L1选项。 Here是描述SSD在图像相关性中的应用的链接。