我一直在使用opencv,但我似乎无法让undistortPoints工作。它返回的矩阵只有NaN值。//newKeyPointsisstd::vector,andit'svaluesarevalidcv::Matsrc=cv::Mat(1,newKeyPoints.size(),CV_32FC2);inti=0;for(std::vector::iteratorit=newKeyPoints.begin();it!=newKeyPoints.end();it++){src.at(0,i)[0]=(*it).pt.x;src.at(0,i)[1]=(*it).pt.y;i++;}cv:
我正在尝试获取空间中几个点的3D坐标,但我从undistortPoints()和triangulatePoints()都得到了奇怪的结果。由于两个相机的分辨率不同,我分别校准,得到0,34和0,43的RMS误差,然后使用stereoCalibrate()得到更多的矩阵,得到0,708的RMS,然后使用stereoRectify()得到剩余的矩阵。有了这个,我开始着手收集坐标,但结果很奇怪。例如输入为:(935,262),undistortPoints()输出为(1228.709125,342.79841)为一点,而另一个是(934,176)和(1227.9016,292.4686)。这
我正在尝试获取空间中几个点的3D坐标,但我从undistortPoints()和triangulatePoints()都得到了奇怪的结果。由于两个相机的分辨率不同,我分别校准,得到0,34和0,43的RMS误差,然后使用stereoCalibrate()得到更多的矩阵,得到0,708的RMS,然后使用stereoRectify()得到剩余的矩阵。有了这个,我开始着手收集坐标,但结果很奇怪。例如输入为:(935,262),undistortPoints()输出为(1228.709125,342.79841)为一点,而另一个是(934,176)和(1227.9016,292.4686)。这