寻找单应性矩阵与轮廓检测

3
问题是在图像中检测一个已知的矩形对象。以下哪种方法计算成本更低:
  1. 找到单应性-为了找到单应性,我们使用已知对象的模板进行特征匹配。
  2. 轮廓检测-我们尝试在图像中检测最大的轮廓。在这种情况下,我们假设最大的轮廓将对应于我们正在查找的已知矩形对象。

在两种情况下,我们在检测到对象后进行透视变换以设置透视。

注意:我们使用Open-CV函数来查找单应性并检测轮廓。


2
为什么不试着计时并亲自看看呢?假设图像已知包含模板,则两种方法都是有效的。如果没有,则这些方法都不起作用。 - rayryeng
1个回答

3
你应该尝试找到最大的轮廓。这是最简单且速度最快的方法。你需要检测Canny边缘,然后找到轮廓并找到面积最大的一个。但是,如果轮廓不清晰或者有一个更大的物体,它可能会失败,因为它不考虑形状。你也可以将你们两个的想法结合起来以获得更好的结果。
编辑:
回答你的评论,你可以使用“Canny边缘+查找轮廓+查找最大值”与“查找特征点+匹配特征点”。
我认为第一种组合计算成本较低。此外,这里还有一个良好的正方形/矩形检测实现here
然而,如果矩形的轮廓不清晰,而且矩形具有高纹理,则使用特征匹配可以获得更好的结果。

如果您能够给我一个关于时间复杂度或者其他类似的证明或论据,说明为什么使用Canny边缘检测进行轮廓检测比查找单应性更快,那就太好了。 - Rahul Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接