绘制图像中对象的边界框

时间:2014-09-04 13:02:06

标签: c# image-processing

我有一张图片,我使用C#中的Aforge库使用连接组件标签检测到了一个对象。现在检测到的物体可以是任何形状。我想找到与整个物体重叠的4边最小边界框。我看到一些方法找到了矩形的边界框,使得4边与图像的边平行。下图显示了obj,它以红色和绿色显示的两个四边形为界。红色的那个是我不想要的。绿色的,我想知道如何获得。 任何帮助将不胜感激。enter image description here

1 个答案:

答案 0 :(得分:5)

我怀疑你会在公共图书馆找到一个简单的现成解决方案。

如果你准备好花一些力气,一个好的方法就是用#"旋转卡尺"。

1)找到物体的凸包;这是一个凸多边形。

然后请注意,最紧密的矩形框(可以是最小面积或最小周长,由你决定)将沿着船体的边缘有一侧,而另外三个侧面穿过船体的顶点。

2)将每个边缘轮流(旋转)视为主要候选者并找到其他三个顶点。您将说服自己,通过沿着船体从一个边缘移动到另一个边缘,您可以非常简单地更新这三个顶点,这样操作的总数仍为O(N)。

对于矩形的每个拟合,您将计算紧凑性标准,并保持达到最低分数的标准。

http://cgm.cs.mcgill.ca/~orm/rotcal.html

enter image description here