MATLAB Answers

3D Vision Toolbox - DisparityRange - what limits the range to 128 and why?

4 views (last 30 days)
WumlyCharner on 4 Jan 2020
Answered: Qu Cao on 7 Jan 2020
Presently working with version 2019b and performing dense 3D reconstruction of an object which is static in front of my stereo camera rig. I am creating a disparity map and then converting to a point cloud. If I use the command;
disparityRanger=[G G+128];
disparityMap = disparitySGM(frameLeftRect, frameRightRect,'DisparityRange',disparityRanger,'UniquenessThreshold',15);
then effectively I get a limited 'tomographic' section of the scene in front of the cameras rendered. The trouble is the z-axis (along the length of the "optical axis" doesn't contain the full content of the scene in front of me. From the help file - it says max disparity-min disparity = 128 (as a maximum). Why?
At the moment, I am having to compute separate disparity maps at different ranges (change the value of G), and then stitch the point clouds together; not particularly efficient, especially when there's noise in the separate disparity maps (and subsequently the point clouds).
Due to the nature of the work, we are working with high disparity. I know that I can reduce the distance between cameras, but what has set this limit of 128?

Answers (1)

Qu Cao
Qu Cao on 7 Jan 2020
This is due to the implementation that utilizes parallel programming on multi-core processors.
The following post might be helpful to you:


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!