Extremely high reprojection error but good undistorted image

alxxn
Tue, 01 Oct 2024 22:24:56 +0000
Python

Hi,

I am running into something that is quite confusing to me.
Basically, I have found that the fisheye model of OpenCV is more appropriate to calibrate my camera.
Using the pinhole model, the reprojection error is quite low, between 0 and 1, but the undistorted result is not satisfying.

Using the fisheye model, I am getting a reprojection error of 94, which is high, but the image gets properly undistorted.

If it helps, this is how I use the calibration function:

rms, self.cameraMatrix, self.distCoeffs, _, _ = cv.fisheye.calibrate(self.objPoints, self.imgPoints, self.calibrationImgShape[::-1], None, None)
print(f"rms: {rms}")

I am not sure if I am misunderstanding the function, but I would love some guidance on why this is the case. Thank you!

6 posts - 2 participants