我正在尝试在iOS中制作图像分割应用程序。所以我在OpenCV中使用了GrabCut
。
然后我查看了类似的iOS应用程序并找到了After Focus。他们使用用户的提示(前景,背景)快速分割图像。
我想知道如何分割图像。
答案 0 :(得分:0)
GrabCut
算法基本上是从图论中推导出来的。关键方面是将图像分为两个部分:
现在,用户在图像上绘制许多线条(白色和黑色)以表示前景和背景。这些行上的每个像素都被视为图表中的节点。 另外两个**节点称为** sink(背景)和源(前景)
绘制的线条上的每个像素都连接到具有特定权重的源和 sink 。
这些权重是多少?:
因此每个像素(节点)都连接到 sink 和 source 节点。
用户绘制的线上的每个像素(节点)也以特定权重相互连接:
最后,GrabCut
使用名为minimum_cut
的参数。该参数扫描整个图像(图形),其中像素(节点)以不同重量的边缘相互连接。这个minimum_cut
变量沿着所有边缘切割,使整个图像的总重量尽可能小。
因此,你会得到两个单独的图像 foreground 和 background 。
有关该主题的更多信息: