我有两个相似的图像,一个是模板,另一个图像是通过摄像机拍摄的(因此受到旋转和倾斜)。我需要匹配模板图像和拍摄图像的轮廓。 opencv的matchShape函数是否足够?我担心的是,如果图像上有两个圆圈,它们可能具有相同的轮廓。我应该考虑轮廓的位置吗?比较轮廓
在此先感谢
我有两个相似的图像,一个是模板,另一个图像是通过摄像机拍摄的(因此受到旋转和倾斜)。我需要匹配模板图像和拍摄图像的轮廓。 opencv的matchShape函数是否足够?我担心的是,如果图像上有两个圆圈,它们可能具有相同的轮廓。我应该考虑轮廓的位置吗?比较轮廓
在此先感谢
在大多数情况下matchShapes()方法应该工作,因为它使用Hue moments这是不变的缩放,旋转和反射(7日除外)。
另一方面,如果你需要更具体的东西,你应该设计自己的错误最小化问题,就像变形模板中使用的那样。使用可变形模板的示例可在my thesis中找到。
看看这个答案: http://stackoverflow.com/questions/10355015/how-to-compare-two-contours-of-a-binary-pattern-image/16365446#16365446 –