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

10 views (last 30 days)
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;
G=1010
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:

Tags

Community Treasure Hunt

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

Start Hunting!