图像分割是将一幅图像分割成有意义区域的过程。区域可以是图像的前景与背景或图像中一些单独的对象。
图割
图论中的图是由若干节点和连接节点的边构成的集合,如下。
这里是一个利用python-graph工具包计算一幅较小的图的最大流/最小割的简单例子:
from pygraph.classes.digraph import digraph
from pygraph.algorithms.minmax import maximum_flow
gr = digraph()
gr.add_nodes([0,1,2,3])
gr.add_edge((0,1), wt=4)
gr.add_edge((1,2), wt=3)
gr.add_edge((2,3), wt=5)
gr.add_edge((0,2), wt=3)
gr.add_edge((1,3), wt=4)
flows,cuts = maximum_flow(gr, 0, 3) #
print 'flow is:' , flows
print 'cut is:' , cuts
这里创建了有4个节点的有向图,4个节点的索引分别是0...3,然后add_edge()增添边并为每条边指定特定的权重,边的权重用来衡量变得最大流容量。以节点0为源点,3为汇点,得到流和割的结果: