使用opencv查找对象旋转/缩放/位置的方法

时间:2012-06-03 10:08:25

标签: opencv

我想找到匹配模板,包括旋转,缩放和位置。但cvMatchTemplate不提供这些细节,它只检测位置。

我见过使用国际象棋棋盘的例子。但我想用自定义图像实现相同的示例。

感谢您的帮助。

问候

2 个答案:

答案 0 :(得分:0)

你不能使用cvMatchTemplate。如果您要查找的对象具有不同的比例或旋转,则cvMatchTemplate将失败。您最好寻找其他技术,例如Feature Detection

答案 1 :(得分:0)

如果你想获得一个任意仿射矩阵来将一个图像转换为最佳匹配,你可以使用:

Mat M = estimateRigidTransform(img1,img2,true); 

如果你想获得只能翻译/旋转/缩放一张图像的仿射矩阵,你可以使用:

Mat M = estimateRigidTransform(img1,img2,false); 

这与使用模板并不完全相同,并假设两个图像属于同一个对象(或多或少)。