c++ - opencv GCGRAPH(最大流)基于什么算法?

标签 c++ algorithm opencv graph-theory max-flow

opencv 具有最大流算法的实现(文件 gcgraph.hpp 中的类 GCGRAPH)。这是available here .

有谁知道这个类实现了哪个特定的最大流算法?

最佳答案

我对此不是 100% 有信心,但我相信该算法是基于 this research paper describing max-flow algorithms for computer vision .具体来说,第 3 节描述了一种计算最大流量的新算法。

我没有将论文算法的每个细节与算法的实现对齐,但许多细节似乎是匹配的:

  • 所描述的算法通过使用来自 s 和 t 的双向搜索来工作,实现也在这样做:例如,有一个评论阅读 // grow S & T search trees, find an edge connecting them .
  • 所描述的算法跟踪一组孤立节点,变量 std::vector<Vtx*> orphans似乎在跟踪实现。
  • 所描述的算法通过构建一组树并重复使用它们来工作;算法实现跟踪与每个节点关联的树。

希望对您有所帮助!

关于c++ - opencv GCGRAPH(最大流)基于什么算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222531/

相关文章:

c# - 字典中用于检查键是否存在的逻辑

C# foreach with string - 忽略最后一个字符

c++ - OpenCV调试

python - 使用 OpenCV Python 从 Android 智能手机捕获视频

c++ - gmock中saveArg和saveArgPointee有什么区别?

java - 使用C++将类文件转换为jar文件

Python有模块,c++有什么?

c++ - 在 C++ 中,如果用户输入的内容与输入的数组匹配,如何返回数组的索引?

arrays - 如何使用回答是和否的 oracle 对每个整数都属于集合 {1,2,3,,,k} 的 N 个元素的数组进行排序?

c++ - 编译 private.hpp OpenCV 3.0.0-rc1 时出错