OPENCV Assertion failed (ni > 0 && ni == ni1) in collectCalibrationData 错误

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/zhouyelihua https://blog.csdn.net/zhouyelihua/article/details/72764073

一句话简单的事情:
可能你的objectPoint和point的类型是:
c++
std::vector<std::vector<cv::Point3f> > objectPoint;
std::vector<std::vector<cv::Point2f> > imagePoint;

而你的初始化的内参矩阵是CV_32FC1
应该是:

    instrisincMatrix=cv::Mat::eye(3,3,CV_64F);
    distortionCoeff=cv::Mat::zeros(4,1,CV_64F);
    std::vector<cv::Mat> RotationMatrix;
    std::vector<cv::Mat> TransformationMatrix;

标定函数:

cv::calibrateCamera(camParaCls->objectPoint,
                        camParaCls->imagePoint,
                        camParaCls->imgSize,
                        camParaCls->instrisincMatrix,
                        camParaCls->distortionCoeff,
                        camParaCls->RotationMatrix,
                        camParaCls->TransformationMatrix,0);

猜你喜欢

转载自blog.csdn.net/zhouyelihua/article/details/72764073