2013-03-27 133 views
6

我需要一种将包含人类的图像转换为仅包含一种颜色的物体sihlouette的图像。首先我看看Canny边缘检测器(OpenCV实现),但这可能会导致图像背景出现问题。iOS的图像分割

我尝试过使用GrabCut OpenCV实现。这在大多数情况下都能正常工作,它具有极其糟糕的时间表现,例如480x320图像需要1分钟才能处理。另外,grabcut的问题在于用户需要进行交互并设置背景区域和用户区域,这在我的情况下是不允许的。因此,也许你可以给我一些使用不同于GrabCut的另一种方法的想法,或者建议我如何增强GrabBut时间性能(也许gpu实现)。此外,我需要一个关于将定位人体的算法的建议,并帮助定位身体/背景区域的抓取算法。

实施例:

Example

+1

这个问题很模糊,缺乏细节,如果不是开放的赏金,可能会被关闭。你真的尝试了什么?第三方?你自己的实现?等帮助我们帮助你。 – 2013-04-08 13:12:35

+0

我认为grabcut的简要概述会有所帮助;例如它会帮助那些不熟悉它的人评论它是否与GCD并行化或GPU或任何Core Image框架的良好匹配,是否有任何优秀的第三方库可以完成这些工作你... – Tommy 2013-04-08 22:34:56

+0

至少给我们一个或多个输入图像你想要做什么,你瞄准什么样的图像 – shernshiou 2013-04-10 10:56:32

回答

5

可以建议两件事情,调查这可有助于:

1)CIDetector

2)OpenCV library for iOS。该项目看起来并不活跃,但您可以找到一些叉子或相关项目here

1

下限值的图像由所述分辨率的一半(使用pyrDown()),运行GrabCut,使用轮廓检测​​进行向量化的切出,和高档是必要的。