ZED X Mini underwater give worse disparity after calibration

Hi,

I’m using ZED X Mini with Xavier NX underwater. I did calibration following tutorial How to Calibrate your ZED camera with OpenCV - Stereolabs, the rectified image looks quite good with no distortion, but the depth sensing is worse when running with calibration file than without calibration file.
This is the calibration file:

%YAML:1.0
---
Size: [ 1920, 1200 ]
K_LEFT: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.7311816613777467e+02, 0., 9.3729447371503773e+02, 0.,
       9.6756339102779350e+02, 6.0698738433763651e+02, 0., 0., 1. ]
D_LEFT: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 3.7689544395172730e-01, -9.6374269857492784e-02,
       -1.6051414915441101e-02, -3.2471985330426232e-03,
       7.9898016024009963e-02 ]
K_RIGHT: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.7279354472023931e+02, 0., 1.0040517634999151e+03, 0.,
       9.6826025143913273e+02, 6.0659327864206830e+02, 0., 0., 1. ]
D_RIGHT: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 3.7877927930441607e-01, -1.1095840898000960e-01,
       -1.6212957651222260e-02, -3.5198699122780935e-03,
       1.2172249019652885e-01 ]
R: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9999845623683359e-01, -1.7334635101399166e-03,
       -2.8745122824488505e-04, 1.7335264510310428e-03,
       9.9999847349253523e-01, 2.1885758573424923e-04,
       2.8707140780964458e-04, -2.1935555217752296e-04,
       9.9999993473657212e-01 ]
T: !!opencv-matrix
   rows: 3
   cols: 1
   dt: d
   data: [ -4.9590653986534068e-02, 5.5844406358709586e-06,
       4.0890855087971948e-04 ]

WITHOUT calibration:
left unrectified


left rectified

disparity

WITH calibration:
left unrectified

left rectified

disparity

What can be the reason for this bad disparity? Thank you.

Hi,
indeed the image looks rectified.
did you check the depth minimum distance ?
https://www.stereolabs.com/docs/api/structsl_1_1InitParameters.html#a115c93ba994ec7b5c853375d647a936e

maybe the pattern is too close to be perceived.
If it is not the case can you share your opencv calibration and a short svo file with us ?
you can send it via support@stereolabs.com

Hi,

I have tried with depth range 0.1-5m, the chart is 0.4m from the camera, and the wood bar behind is 0.75m. But the result is still the same.
So I have sent email to support@stereolabs.com with recorded SVO, calibration yml file. Please help me to troubleshoot this. Thank you so much.

Found the reason for this, the unit of baseline in T matrix is not compatible with ZED SDK. If I use mm (same as factory calibration) for baseline, the calibration works fine.