ZED API overriding camera calibration set_up and set_disto not working

Running the code below, I can see that the values do not change. Although it is indicated in the API docs that something like this should work CameraParameters Class Reference | API Reference | Stereolabs

Am I using the functions incorrectly?

I am aware that you can read in an opencv style yaml file, but wish to get this working.

# Create a ZED camera object
zed = sl.Camera()

# Set SVO path for playback
input_path = sys.argv[1]
init_parameters = sl.InitParameters()
init_parameters.coordinate_units = sl.UNIT.METER

err = zed.open(init_parameters)

#print the camera information

# update values
zed.get_camera_information().calibration_parameters.left_cam.set_up(1,1,1,1) # values for testing only
zed.get_camera_information().calibration_parameters.left_cam.set_disto(1,1,1,1,1)  # values for testing only


Hello and thank you for reaching us out,

There seem to be an issue on our side. These values are read-only, these set methods should not exist. They only way is to do it with the CSV, not on runtime. I assume you do need to change them ?


I am unsure what you mean by CSV, I am only aware of using a yaml file to override calibration parameters as per https://www.stereolabs.com/docs/opencv/calibration/ which seems to work for us

Indeed you can use your own calibration file by using this opencv-like input, or by changing the values in the ZED calibration file itself (https://support.stereolabs.com/hc/en-us/articles/360007497173-What-is-the-calibration-file), but this is not recommended (if you want to get the original calibration file, you can simply delete it locally, it will be downloaded the next time you use the ZED SDK)