GetcurrentMinMax() has limited range around 256 meter


I am using the zed sdk 4.1.2 with zed-X camera and discovered some limiting range of the GetCurrentMinMax function (sl:unit is in meters).
If I limit the depth to 20 meter during intializing and the camera sees some trees or big objects in the distance the min,max function returns more depth then this 20m. when this objects exceed around 256m the function returns negative values. so there seems some buffer overflow. 1 measure was 227.752 and the next measure resulted in -127.273 max.

is this normal and how could we avoid this overflow?

Hi @Martijn
do you have an SVO and a C++/Python code that can allow us to replicate this behavior, debug, and eventually fix it?

I did a test with the default example: object detection “Birds Eye Viewer”

where I added:

init_parameters.depth_mode = DEPTH_MODE::PERFORMANCE;
init_parameters.depth_maximum_distance = 20.0f;
 init_parameters.coordinate_units = UNIT::METER;

and in the while loop I added:

float Min,Max;
if(zed.getCurrentMinMaxDepth(Min,Max) == ERR_CODE::SUCCESS){
    printf("Min:%f Max:%f \n",Min,Max);

Then I point ZED X camera outside and see the max value going all over the place.

If I make a svo2 with ZED_Explorer from the exact same viewview and playback this file, the depth is fixed at about 12.8222 meter.

when changed to NEURAL, it always give a maximum of 14.438meter (In almost every situation,never going to 20M)

I try to make later this week an svo in the situation where I saw the negative maximum depth values.

I hope this already helps to find the issue.

Hi @Martijn
we need the full code.
The “position” of the calls to grab and retrieve... are important to understand the problem.