【发布时间】:2017-09-22 13:54:19
【问题描述】:
我正在尝试在 iOS 中制作图像分割应用程序。所以我在 OpenCV 中使用了GrabCut。
然后我查看了类似的 iOS 应用,发现了 After Focus。他们根据用户的提示(前景、背景)快速分割图像。
我想知道如何以这种方式分割图像。
【问题讨论】:
标签: ios image opencv image-processing image-segmentation
我正在尝试在 iOS 中制作图像分割应用程序。所以我在 OpenCV 中使用了GrabCut。
然后我查看了类似的 iOS 应用,发现了 After Focus。他们根据用户的提示(前景、背景)快速分割图像。
我想知道如何以这种方式分割图像。
【问题讨论】:
标签: ios image opencv image-processing image-segmentation
GrabCut算法基本来源于图论。关键方面是将图像分为两部分:
现在用户在图像上绘制许多线条(白色和黑色)来表示前景和背景。这些线上的每个像素都被视为图表中的一个节点。有两个额外的 ** 节点,称为 **sink(背景) 和 source(前景)
绘制线上的每个像素都以特定的权重连接到 source 和 sink。
这些权重是多少?:
所以每个像素(节点)都连接到sink和source节点。
用户绘制的线上的每个像素(节点)也以特定的权重相互连接:
最后,GrabCut 使用了一个名为minimum_cut 的参数。此参数扫描整个图像(图),其中像素(节点)通过不同权重的边缘相互连接。这个minimum_cut 变量沿所有边缘切割,以使整个图像的总权重尽可能小。
因此您会得到两个单独的图像前景和背景。
有关该主题的更多信息:
【讨论】: