【问题标题】:Drawing Bounding box for an object in an image为图像中的对象绘制边界框
【发布时间】:2014-10-29 05:57:53
【问题描述】:

我有一个图像,其中我使用 C# 中的 Aforge 库使用 Connected Components Labeling 检测到一个对象。现在检测到的对象可以是任何形状。我想找到与整个对象重叠的 4 面最小边界框。我看到一些方法可以找到矩形的边界框,使得 4 个边平行于图像的边。下图显示了 obj,它由红色和绿色显示的两个四边形包围。红色的是我不想要的。绿色的,我想知道怎么弄。 任何帮助将不胜感激。

【问题讨论】:

    标签: c# image-processing


    【解决方案1】:

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

    如果您准备好花点力气,一个好方法是使用“旋转卡尺”。

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

    然后请注意,最紧凑的矩形框(可以具有最小面积或最小周长,由您决定)将有一条边沿船体边缘,另外三个边通过船体顶点。

    2) 依次考虑每条边(旋转)作为主边候选,并找到其他三个顶点。你会说服自己,通过沿着船体从一个边移动到另一个边,你可以非常简单地更新这三个顶点,这样操作的总数仍然是 O(N)。

    对于矩形的每个拟合,您将计算紧凑性标准,并保留得分最低的那个。

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

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2018-11-26
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多