小编Dav*_*vid的帖子

cv2.CalibrateCamera中retval返回值的含义

正如标题所说,我的问题是关于OpenCv的calibrateCamera函数给出的返回值.

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html

我在python中有一个函数实现,使用黑白网格查找相机的内部参数和扭曲系数.

问题更多的是函数返回的retval.如果我理解正确的是"平均重新投影误差.这个数字可以很好地估计找到的参数的精度.这应该尽可能接近零." 如提到的那样

http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html

一个值接近零到底意味着什么呢?

例如,当我为我的Logitech网络摄像头执行此操作时:

RMS: 0.702660793513

相机矩阵:

[[ 616.30868126    0.          339.02126978]
 [   0.          605.08224927  241.64607568]
 [   0.            0.            1.        ]]
Run Code Online (Sandbox Code Playgroud)

失真系数:

[ 0.19805527 -0.62915986  0.00924648  0.02618232  1.02491764]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,误差如何量化内在参数估计的质量?

编辑:

所以我去寻找答案并深入挖掘并检查此函数的cpp实现.

这是计算此错误值的函数:

static double computeReprojectionErrors(
        const vector<vector<Point3f> >& objectPoints,
        const vector<vector<Point2f> >& imagePoints,
        const vector<Mat>& rvecs, const vector<Mat>& tvecs,
        const Mat& cameraMatrix, const Mat& distCoeffs,
        vector<float>& perViewErrors )
{
    vector<Point2f> imagePoints2;
    int i, totalPoints = 0;
    double totalErr = 0, err;
    perViewErrors.resize(objectPoints.size());

    for( i = 0; i …
Run Code Online (Sandbox Code Playgroud)

python opencv camera-calibration

7
推荐指数
1
解决办法
7319
查看次数

标签 统计

camera-calibration ×1

opencv ×1

python ×1