轮廓匹配-查找轮廓位移


17

我在具有相同对象的两幅图像上找到了轮廓,我想找到该对象的位移和旋转。我尝试过使用该轮廓的旋转边界框,然后使用其角度和中心点,但是边界框的旋转不能正确显示轮廓旋转,因为角度a + 0,a + 90,a + 180等相同。度。还有其他寻找轮廓旋转和位移的好方法吗?也许有些使用凸包,凸缺陷?我已经在学习OpenCv中阅读过有关匹配轮廓的信息,但并没有帮助。有人可以举例吗?

例子:

1个 2 3 4

我想检测例如粉红色的正方形,在第二种情况下使用笔。其他示例可能是带有一些孔,星星等的正方形。正如我所说,我想做一些全盘的事情。感谢任何建议,因为我想测试尽可能多的方法。


图片将在这里有所帮助
mirror2image 2011年

我想做一些通用的功能。因此,作为测试图片可以是任何东西。简单形状的元素为矩形,或者更复杂的形状。
krzych 2011年

2
好吧,您不能将单一方法适合所有情况。实际的方法取决于对比度范围,噪声估计,背景和形状本身-它的平滑度,拓扑结构等。这就是为什么图片会有所帮助的原因。
mirror2image 2011年

Answers:


4

您是否需要担心轮廓之间的比例差异?如果不是,您可以简单地找到每个轮廓的质心,并通过将一个相减而计算出位移。然后,您可以计算轮廓的主轴,并找到它们之间的旋转角度。

如果涉及缩放,则可以通过采用相应主轴的比率来计算缩放系数。


是的,规模也可以不同。我还考虑过类似opencv的freeman链,制作每个轮廓的freeman链,然后进行比较,并尝试以某种方式找到translaton,但是我无法为此找到一些好的算法。
krzych 2011年

与创建最小旋转边界框并获取其旋转和位移相同。尝试了这种方法,结果令人不满意。所以我认为这种方法根本不好。
krzych

您能否更具体地说明为什么该方法不起作用?轮廓仅通过平移,旋转和缩放而相关,还是可以其他方式变形?一些图片确实会有所帮助。如果需要处理非仿射变换或随机噪声,则可以尝试使用形状上下文。让我知道,我可以指出一些论文。
迪马

它们仅通过平移,旋转和缩放相关,变形与不同照片上几乎没有什么轮廓检测有关。塑造背景?你能扩大这个范围吗?
krzych 2011年

1
@kzych看来您最大的问题是边缘检测中的噪声。您如何找到最小旋转盒?我仍然不清楚为什么这行不通。形状上下文是表示轮廓的一种方式。详细信息在这里:en.wikipedia.org/wiki/Shape_context
Dima

2

如果您不必担心比例或投影失真,链码可能会有所帮助。如果您具有形状大致相同,比例相同的链码,则可以找到具有一维FFT相位相关性的转换 http://en.wikipedia.org/wiki/Phase_correlation

如果必须考虑投影变形,则还可以考虑使用特征点(例如拐角)代替轮廓的可能性。


任何建议如何建立良好的链代码?也许来自OpenCv的东西(据我所知它只有自由人链)?现在,我正在使用每个轮廓点并计算与相邻点的x轴的角度来构建链代码,但是也许有更好的主意?如果您参考了有关链条的任何优秀论文,将不胜感激。
krzych 2011年

2

在这个问题上你说

就像我说的,我想做些事

但恐怕很难找到一种“通用”的解决方案。

您可以购买商业上可用的模式定位器软件,并将其集成到您的应用程序中,通常它们在各种应用程序中都表现良好。只是给您一个想法,这是此类产品的参考手册http://www.lmi3d.com/sites/default/files/support/4.2.0.70-hexsight_user_guide.pdf

此外,您可以针对某些特定情况(例如,图像中的笔)开发临时解决方案。

否则,您可以从扎根于计算几何学的非常基础的基础(http://www.cs.sunysb.edu/~algorith/files/shape-similarity.shtml)开始,认真研究该问题,在此您的“轮廓”被称为“多边形”,内容如下:

M. de Berg,O。Devillers,M。Kreveld,O。Schwarzkopf和M. Teillaud。 计算平移下两个凸多边形的最大重叠。 理论计算机科学,1998:31:613-628。

H. Ahn,O。Cheong,C。Park,C。Shin和A. Vigneron。 在刚性运动下最大化两个平面凸集的重叠。计算几何:理论与应用,37:3-15,2007年。

并以Markus Ulrich的“图像中的复合对象的分层实时识别”结尾,该作者与另一家出售对象识别软件工具的软件公司MVTec合作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.