当我使用initUndistortRectifyMap并重新映射以恢复OpneCV中的未失真图像时,存在像素丢失。所以我确定这样的地图大小:initUndistortRectifyMap(cameraMatrix,distCoeffs,R,cameraMatrix,Size(img.size()。width + 800,img.size()。height + 800), CV_32FC1,mapx,mapy)。但是,校正图像的边缘存在严重的失真。我真的听不懂谢谢您的帮助。
Mat img = cv::imread(filename);
Mat newimage;
initUndistortRectifyMap(cameraMatrix,distCoeffs,R,cameraMatrix,Size(img.size().width+800, img.size().height+800), CV_32FC1,mapx,mapy);
remap(img,newimage,mapx, mapy, INTER_LINEAR);