经过一些颜色检测、二进制阈值处理,并使用 cvFindContours() 并在图像上绘制轮廓和检测到的蓝色矩形后,我有:
我的问题是一些简单的碰撞避免(中心的蓝色矩形不能撞到红色的“墙壁”)。将红墙轮廓近似为矩形将有助于我的目的。但是,使用简单的 cvBoundingRect 并在白色轮廓周围绘制红色矩形,我得到:
边缘被剪掉了一点,但您可能会了解我们对轮廓使用边界矩形的期望,因为整个轮廓用于近似边界矩形,因此是大的重叠矩形。我想要的是墙壁轮廓被划分为多个边界矩形,例如左墙近似为一个矩形,右墙,前墙等......如下面的说明性再现:
对此的任何帮助将不胜感激。