2013-06-20 32 views
7

opencv具有max-flow算法的實現(文件gcgraph.hpp中的GCGRAPH類)。這是available here什麼算法opencv GCGRAPH(最大流量)基於?

有誰知道這個類實現了哪個特定的最大流算法?

+0

@taocp我在執行時讀取算法時遇到了問題,因爲實現比面向可讀性的面向更多的性能 – Shai

+0

@templatetypedef - 感謝您的鏈接 – Shai

+1

我試圖找出它現在,但這是我在一段時間內看到的可讀性最差的代碼。評論你的代碼,夥計們! – templatetypedef

回答

8

我對此不是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似乎在實現中跟蹤。
  • 所描述的算法通過建立一組樹並重用它們來工作;算法實現跟蹤與每個節點相關的樹。

我希望這有助於!

+1

這是一個很好的幫助!謝謝。 – Shai