I'm trying to get the OAK RGB camera's camera intrinsics matrix and the distortion coefficients vector to match the OpenCV style of a 3x3 matrix and a 1x5 vector, respectively. My goal is to use this information to compute pose estimation with ArUco markings. While I do get a 3x3 matrix for the camera intrinsics, I get [k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4,τx,τy] instead of just [k1,k2,p1,p2,k3] in the OpenCV style obtained from cv2.calibrateCamera(). Additionally, I have read that the distortion coefficients obtained from the OAK have undergone further rectification than just fisheye undistortion so the values may be wrong - I am getting highly erroneous pose estimation results.
My code is shown below:
`def get_OAK_rgb_matrices():
device = dai.Device()
rgb_camsocket = dai.CameraBoardSocket.CAM_A
calib_data = device.readCalibration()
# OpenCV reference: https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html
# depthai reference: https://docs.luxonis.com/projects/api/en/latest/references/python/#depthai.CalibrationHandler.getDistortionCoefficients
camera_intrinsics_matrix = np.array(calib_data.getCameraIntrinsics(rgb_camsocket))
distortion_coeffs = np.array(calib_data.getDistortionCoefficients(rgb_camsocket)[:5]).reshape((1,5))
return camera_intrinsics_matrix, distortion_coeffs`