好吧,给定N个图像的2D图像点序列和一组3d对象点,可以使用
double calibrateCamera(InputArrayOfArrays objectPoints, InputArrayOfArrays
imagePoints, Size imageSize, InputOutputArray cameraMatrix,
InputOutputArray distCoeffs, OutputArrayOfArrays rvecs,
OutputArrayOfArrays tvecs, int flags=0,
TermCriteria criteria=TermCriteria( TermCriteria::COUNT+TermCriteria::EPS, 30, DBL_EPSILON) )
那么,此函数返回 3x3 相机矩阵(焦距、主点等内在参数)和各种外在参数,如失真系数和旋转矢量等。
如果我想估计使用上述函数获得的所有内在和外在参数的误差,应该是什么程序?基本上,在opencv中获取校准误差的方法是什么?任何帮助将不胜感激。
使用新获得的校准参数,将 3d 对象点投影到图像平面上,并使用检测到的 2d 点计算每个投影点的距离