简体   繁体   中英

Best stereo correspondence algorithm in opencv

Well, I have got a stereo setup where it computes the disparity of stereo image pairs using SGBM(Semi-global block matching), BM(Block matching) and Variational matching algorithm using the OpenCV library. But the disparities are not so good as that of the ground truth disparities.

All I wanted to know is, whether opencv provides any function or a program that could compute the ground truth disparity. As per some papers like "A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms" by Daniel Scharstein and Richard Szeliski says that Belief Propagation algorithm is the best stereo correspondence algorithm.

Is there any existing code that computes disparities using graph-cut algorithm or belief propagation algorithm in opencv.

I don't think that there is in OpenCV, but you do have alternatives. There is C++ code available, and it wouldn't be hard to make it interact with OpenCV:

I think Semi Global Block Matching algorithm by Hirshmuller is one of the best stereo correspondence algorithm.

This algorithm is provided in OpenCV library.

The OpenCV implementation of belief propagation is only offered for GPU ( CUDA and OpenCL ), not for CPU implementations. They also have the constant space variant of believe prop.

The Middlebury website keeps an updated state of the art on these algorithms, so keep an eye for new entries.

yeah, TSGO is not open sourced, and its article("Accurate Stereo Matching by Two-Step Energy Minimization") is not free either. Has anyone evaluated it?

There is an opencv implementation for GraphCut one and seems quite good, it deserves a try. http://daily-tech.hatenablog.com/entry/2016/06/25/233203

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM