OpenCV-如何将不同的轮廓统一到一个封闭的轮廓

时间:2014-01-05 07:20:49

标签: opencv image-processing computer-vision

我在下面的图片上运行了findCountours: enter image description here

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

enter image description here

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

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

是否有任何方法可以智能地统一图像中的轮廓,以便将不同的物体分割出去?

谢谢,

吉尔。

2 个答案:

答案 0 :(得分:2)

首先,您是否希望仅在此图像或任何其他图像上实现结果,其中不同的人将以不同的姿势和不同的连衣裙呈现?

如果您只想分割此图像,然后使用一些颜色阈值处理或某些形态学操作,您可以实现它。但是为了让它适用于任何不同人物的图像,你可能需要攻读计算机视觉博士学位。

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

enter image description here

答案 1 :(得分:1)

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

Pub:Contour Detection and Hierarchical Image SegmentationPablo Arbelaez,Michael Maire,Charless Fowlkes,Jitendra Malik