适用于iOS的图像分割

时间:2013-03-27 09:39:28

标签: ios objective-c uiimage cgimage

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

我尝试过使用GrabCut OpenCV实现。这在大多数情况下工作正常,它具有非常糟糕的时间性能,例如对于480x320图像,处理需要1分钟。此外,抓取的问题是用户需要进行交互并设置背景区域和用户区域,在我的情况下是不允许的。

所以,也许你可以使用与GrabCut不同的东西给我一些关于另一种方法的想法,或者建议我如何增强GrabBut时间性能(也许是gpu实现)。另外,我需要一个关于定位人体的算法的建议,并帮助抓取算法定位身体/背景区域。

示例:

Example

4 个答案:

答案 0 :(得分:5)

可以建议两个可能有用的事情:

1)CIDetector class

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

答案 1 :(得分:1)

将图像缩小分辨率的一半(使用pyrDown()),运行GrabCut,使用轮廓检测​​来矢量化剪切,并根据需要升级。

答案 2 :(得分:0)

OpenCV对于类似的东西来说是个不错的选择。您可以在官方网站上获得ios的预建库:

http://opencv.org/

还有一个使用OpenCV的Tutorial-App,它可能具有与您所寻找的相似的能力:

http://computer-vision-talks.com/

答案 3 :(得分:0)

相关问题