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

使用opencv查找对象旋转/缩放/位置的方法,opencv,Opencv,我想找到匹配模板,包括旋转、缩放和位置。但是cvMatchTemplate没有提供这些细节,它只检测位置 我看过使用棋盘的例子。但是我想用我的自定义图像实现相同的示例 谢谢你的帮助 关于您不能为此使用cvMatchTemplate。如果要查找的对象具有不同的比例或旋转,则cvMatchTemplate将失败。您最好寻找其他技术,如。如果您想获得任意仿射矩阵,以将一幅图像变换为与另一幅图像最佳匹配,您可以使用: Mat M = estimateRigidTransform(img1,img2,tr

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

我看过使用棋盘的例子。但是我想用我的自定义图像实现相同的示例

谢谢你的帮助


关于

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

如果您想获得任意仿射矩阵,以将一幅图像变换为与另一幅图像最佳匹配,您可以使用:

Mat M = estimateRigidTransform(img1,img2,true); 
Mat M = estimateRigidTransform(img1,img2,false); 
如果要获得仅平移/旋转/缩放一幅图像以最佳匹配另一幅图像的仿射矩阵,可以使用:

Mat M = estimateRigidTransform(img1,img2,true); 
Mat M = estimateRigidTransform(img1,img2,false); 
但是,这与使用模板并不完全相同,它假设两个图像属于同一对象(或多或少)