I calibrated a camera with checkerboard pattern using OpenCV and MATLAB. I got .489 and .187 for Mean Re-projection errors in OpenCV and MATLAB respectively. From the looks of it, MATLAB is more precise. But my adviser feels both MATLAB and OpenCV use the same BOUGET's algorithm and should report same error (or close). Is it so ? Can someone explain the difference b/w MATLAB and OpenCV camera calibration methods ?
Thanks!
Your adviser is correct in that both MATLAB and OpenCV use essentially the same calibration algorithm. However, MATLAB uses the Levenberg-Marquardt non-linear least squares algorithm for the optimization (see documentation), whereas OpenCV uses gradient descent. I would guess that this accounts for most of the difference in the reprojection errors.
Additionally, MATLAB and OpenCV use different algorithms for checkerboard detection.
来源:https://stackoverflow.com/questions/24290086/cv-difference-between-matlab-and-opencv-camera-calibration-techniques