Baseline value in .conf calibration file

I’m executing the calibration of my Zed camera using the Camera Calibration Toolbox for Matlab (Camera Calibration Toolbox for Matlab)
I get the intrinsics and extrinsic parameters without problems following the examples 1 and 5 in the page.

But I need to convert the resulting parameters to the Zed calibration “.conf” file format.
The problem is that the resulting Baseline/TX value provided by the Matlab Toolbox is negative, and the baseline value provided by the Zed sdk is positive (the value in the .conf file), and it seems strange to me. Using a negative Baseline value is giving me inverted reconstructions in my system.

On this page: How to Calibrate your ZED camera with OpenCV | Stereolabs
I have the indication that the baseline should be a negative number. The example in the matlab page also shows a negative baseline result, just like the result of my Matlab calibration:

“* Translation to transform Left image points to Right image points, as a 3x1 Matrix. T[0], the baseline between left and right sensors, should be negative and in millimeter (around -120mm for ZED/ZED2 and -63mm for ZED-M).”

but this is not a .conf file, its to use the parameters in a .yaml file.

I’m not sure if after I get the extrinsic parameters on Matlab I need to do some treatment on the values before I add them to the .conf Zed file. I’m not sure if I need to adjust the baseline (or the other parameters too), and I would appreciate some help to obtain this information.

Matlab results:

Extrinsic parameters (position of right camera wrt left camera):
Rotation vector: om = [ 0.00254 0.00050 0.00006 ] ~ [ 0.00131 0.00121 0.00012 ]
Translation vector: T = [ -118.13742 0.00477 0.543154 ] ~ [ 1.58164 1.46213 4.08752 ]

Previous extrinsic values in the .conf calibration file:
[STEREO]
Baseline=120.234
TY=0.0458531
TZ=-0.352891
RX_HD=0.0048132
CV_HD=0.000504813
RZ_HD=9.85436e-05

The baseline is always negative in a stereo-parallel system. But, in the conf file, we stored the abs value (and then use -abs(baseline) in the SDK to make sure we have a negative value).
Therefore, you need to set :

[STEREO]
Baseline=118.13742

in your case.

1 Like

Thank you for the answer!