Hi all, I'm using Luxonis OAK-D SR, I have a couple of questions.

I get the camera intrinsic parameter by using my simple script below

import depthai as dai

pipeline = dai.Pipeline()
with dai.Device(pipeline) as device: # it does startPipeline automatically
calib_data = device.readCalibration() left_mtx = calib_data.getCameraIntrinsics(dai.CameraBoardSocket.CAM_B) right_mtx = calib_data.getCameraIntrinsics(dai.CameraBoardSocket.CAM_C)
print('Left camera matrix:', left_mtx) print('Right camera matrix:', right_mtx)
print('Left distortion model:', calib_data.getDistortionModel(dai.CameraBoardSocket.CAM_B)) print('Right distortion model:', calib_data.getDistortionModel(dai.CameraBoardSocket.CAM_C))
left_dist = calib_data.getDistortionCoefficients(dai.CameraBoardSocket.CAM_B) right_dist = calib_data.getDistortionCoefficients(dai.CameraBoardSocket.CAM_C)
print('Left distortion coeff:', left_dist) print('Right distortion coeff:', right_dist)

The output is

Left camera matrix: [[799.9990234375, 0.0, 644.6522216796875], [0.0, 799.6469116210938, 386.0889892578125], [0.0, 0.0, 1.0]]

Right camera matrix: [[800.9793701171875, 0.0, 639.6204223632812], [0.0, 800.6493530273438, 397.666748046875], [0.0, 0.0, 1.0]]

Left distortion model: CameraModel.Perspective

Right distortion model: CameraModel.Perspective

Left distortion coeff: [22.132123947143555, -29.338607788085938, 0.00030359349329955876, 0.0001342957839369774, 8.076651573181152, 21.4984073638916, -27.514820098876953, 6.74853515625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Right distortion coeff: [22.839162826538086, -33.224082946777344, -0.0004936654004268348, -9.170972771244124e-05, 13.17548942565918, 22.214136123657227, -31.377370834350586, 11.813459396362305, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

My questions are

  1. What is the resolution used for both camera matrix? It looks like the resolution is 1280x800.
  2. What is the distortion model for those parameters? I guess it is the Brown-Conrady model with full parameters.

Thanks.

    LintangErlangga
    Check the device calibration. It should say at which resolution the device was calibrated. When using getInstrinsics() and not providing a set resolution, the base resolution will be used.

    luxonis/depthai-pythonblob/main/examples/calibration/calibration_dump.py

    LintangErlangga What is the distortion model for those parameters? I guess it is the Brown-Conrady model with full parameters.

    Thanks,
    Jaka

      jakaskerl I see, there are arguments after the socket in the getCameraIntrisics() function. Thanks, it answers my questions.