2013-06-20 38 views
7

opencv có triển khai thuật toán dòng tối đa (lớp GCGRAPH trong tệp gcgraph.hpp). Đó là available here.Thuật toán nào mở GCGRAPH (luồng tối đa) dựa trên?

Có ai biết thuật toán dòng chảy tối đa cụ thể nào được lớp này thực hiện không?

+0

@taocp Tôi đang gặp sự cố khi đọc thuật toán từ việc triển khai, vì triển khai có hiệu suất định hướng nhiều hơn khả năng đọc theo định hướng – Shai

+0

@templatetypedef - nhờ liên kết – Shai

+1

Tôi đang cố gắng tìm ra ngay bây giờ, nhưng đây là ít nhất có thể đọc được mã tôi đã nhìn thấy trong một thời gian. Bình luận mã của bạn, mọi người! – templatetypedef

Trả lời

8

Tôi không tự tin về điều này, nhưng tôi tin rằng thuật toán dựa trên this research paper describing max-flow algorithms for computer vision. Cụ thể, Phần 3 mô tả một thuật toán mới để tính toán các luồng tối đa.

tôi đã không xếp hàng từng chi tiết của thuật toán của giấy với việc thực hiện của thuật toán, nhưng nhiều chi tiết dường như để phù hợp với:

  • Các thuật toán được mô tả tác phẩm bằng cách sử dụng một tìm kiếm hai chiều từ cả s và t , việc triển khai cũng đang thực hiện: ví dụ: có một nhận xét đọc // grow S & T search trees, find an edge connecting them.
  • Thuật toán được mô tả theo dõi tập hợp các nút bị mồ côi, biến số std::vector<Vtx*> orphans dường như theo dõi trong quá trình triển khai.
  • Thuật toán mô tả các công trình bằng cách xây dựng một bộ cây và tái sử dụng chúng; việc thực hiện thuật toán theo dõi một cây được liên kết với mỗi nút.

Tôi hy vọng điều này sẽ hữu ích!

+1

Đây là một trợ giúp tuyệt vời! cảm ơn bạn. – Shai

Các vấn đề liên quan