如何在二进制图像中获得四边形的角

时间:2013-10-03 08:17:22

标签: opencv image-processing

我有以下二进制图片: enter image description here

在这个二进制图像中,有一个四边形。然而,由于预处理不良,在四边形的轮廓中存在一些间隔,换句话说,四边形未闭合。然后我的问题是如何获得四边形的角落。如果我可以获得角落,我可以对原始图像执行投影校正并获得具有几何失真的图像。任何想法将不胜感激。插图图像可以从https://dl.dropboxusercontent.com/u/92688392/blob.jpg下载。

1 个答案:

答案 0 :(得分:1)

最好的方法是

  • 首先检测图像中的不同行(例如使用 Hough变换),
  • 保留构成四边形的4个 (通过几何推理),
  • 最后计算他们的交叉点。

这也是一种在摄像机校准程序中实现棋盘角点检测的经典方法。

为什么我声称它是最好的?因为它可以处理角落位置上的缺角和噪声,所以拟合线将“发明”缺失点并平均检测到的边缘像素之间的误差。 还有一些“旧的”(从80年代或90年代)美国宇航局资助的摄像机校准基准支持这一说法,但很难在网上找到(我很幸运能够阅读我之前的一份硬拷贝)作业)。