我一直在尝试找到一些开源代码,它可以执行 Goldberg 的 push 和 relabel 或 preflow-push 、 preflow-relabel 来解决 GENERAL 图的图切割问题。
我知道 CUDA 有 npp GrabCut 2D 示例代码,而且我也知道当每个像素都被视为一个节点时,nppiGraphCut() 会解决 2D 平面的图形切割问题。但是,鉴于以下图形输入,我想要解决的问题:
源、汇、节点数、从节点到节点、前向弧权重(从 -> 到节点) 后向弧权重(到 -> 从节点) 源权重(源到非终端节点容量) 汇权重(非终端节点接收容量)
我在matlab中有这个,如下图是这样给出的,其中源用sourceWeights连接到节点<1><2><3>,节点<1><2><3>用sinkWeights连接到sink节点。同样,容量之间也有节点,但只连接一个方向(即反向容量为0)。
<source>
<1> -> <2> -> <3> -> <4> -> <5> -> <6> ...
<sink>
这可以在 nppGraphCut 中用作一维数组 (<1><2><3>) 来执行图形切割吗?