opencv имеет реализацию алгоритма максимального потока (класс GCGRAPH
в файле gcgraph.hpp). Это доступно здесь.
Кто-нибудь знает, какой именно алгоритм максимального потока реализован этим классом?
Я не уверен на 100% в этом, но я считаю, что алгоритм основан на эта исследовательская работа, описывающая алгоритмы максимального потока для компьютерного зрения. В частности, в разделе 3 описан новый алгоритм для вычисления максимальных потоков.
Я не выровнял каждую деталь алгоритма статьи с реализацией алгоритма, но многие детали, кажется, совпадают:
// grow S & T search trees, find an edge connecting them
,std::vector<Vtx*> orphans
кажется, отслеживать в реализации.Надеюсь, это поможет!
Других решений пока нет …