首页 文章

轮廓的矩形近似

提问于
浏览
2

经过一些颜色检测,二进制阈值处理,并使用cvFindContours()并在图像上绘制轮廓和检测到的蓝色矩形,我有:

enter image description here

我的问题是一些简单的避碰(中心的蓝色矩形不能击中红色的“墙壁”) . 对于我的目的,红墙轮廓与矩形近似是有帮助的 . 但是,使用简单的cvBoundingRect并在白色轮廓周围绘制红色矩形,我得到:

enter image description here

边缘有点裁剪,但您可以使用边界的边界矩形来了解我们期望的结果,因为整个轮廓用于边界矩形的近似,因此大的重叠矩形 . 我想要的是将墙面轮廓划分为多个边界矩形,例如左边墙壁近似为一个矩形,右边墙壁,前墙等等......如下面的说明性演示:

enter image description here

这样做的任何帮助将不胜感激 .

1 回答

  • 1

    检测线(通常是Hough,RANSAC)以及关于该问题的其他一些信息应该足够,甚至可能过度杀伤 . 例如,从左下方的图像开始,我们在右侧获得下面的图像 .

    enter image description here

    enter image description here

    但是如果左边有上面的图像(你应该已经存在),问题就已经解决了 . 只需绘制墙壁的内部和外部轮廓,就可以了 .

相关问题