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

来源:互联网 发布:男性疾病网络咨询 编辑:程序博客网 时间:2024/05/17 23:26

一句话简单的事情:
可能你的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);
原创粉丝点击