【问题标题】:OpenCV- how to unify different contours to a single enclosing contourOpenCV-如何将不同的轮廓统一为单个封闭轮廓
【发布时间】:2014-01-22 17:55:24
【问题描述】:

我在以下图片上运行了 findCountours:

并得到以下轮廓图像(根据层次结构,我仅显示“父”轮廓):

如您所见,每个对象周围都有许多不同的轮廓(每个轮廓都有不同的颜色)。现在,我想统一人物周围的轮廓以获得一个封闭轮廓,这样我就可以从图像中分割出她。

我不确定可以做到,但我想我应该在这里问。

有什么方法可以智能地统一图像中的轮廓,以便我可以分割出不同的对象?

谢谢,

吉尔。

【问题讨论】:

标签: opencv image-processing computer-vision


【解决方案1】:

首先,您是想只在这张图片上实现效果,还是在任何其他人会以不同姿势和不同着装呈现的任何其他图片上实现结果?

如果您只想分割此图像,则可以通过一些颜色阈值或一些形态学操作来实现它。但要使其适用于不同人物的任何图像,您可能需要攻读计算机视觉博士学位。

但如果您的任务只是分割,那么我建议使用半自动分割技术,如 Grab Cut 或 graph cut。这些是非常流行的分割算法,在 opencv 或 matlab 中很容易获得。它们在各种图像上都工作得很好。这是您的图像上的抓取剪切算法的结果。

【讨论】:

  • 感谢您的回答。你能把生成这个图像的代码发给我吗?谢谢!
【解决方案2】:

在现有的文献中有很多关于基于轮廓的分割的工作。 Ultrametric contour map 生成轮廓层次结构,这些轮廓是输入图像中对象的分割。

Pub:轮廓检测和分层图像分割Pablo Arbelaez、Michael Maire、Charles Fowlkes、Jitendra Malik

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 2021-09-23
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2023-03-18
    • 1970-01-01
    • 2014-07-12
    相关资源
    最近更新 更多