示例代码:
// 标定相机内参和外参 cv::Mat cameraMatrix, distCoeffs, R, T; cv::calibrateCamera(objectPointsVec, imagePointsVec, imageSize, cameraMatrix, distCoeffs, rvecs, tvecs);
// 计算双目摄像机的基线距离和视差
double b = fabs(T.at
// 映射不同摄像机的图像到同一坐标系下 cv::Mat R1, R2, P1, P2, Q; cv::stereoRectify(cameraMatrix, distCoeffs, cameraMatrix, distCoeffs, imageSize, R, T, R1, R2, P1, P2, Q); cv::Mat map1x, map1y, map2x, map2y; cv::initUndistortRectifyMap(cameraMatrix, distCoeffs, R1, P1, imageSize, CV_32FC1, map1x, map1y); cv::initUndistortRectifyMap(cameraMatrix, distCoeffs, R2, P2, imageSize, CV_32FC1, map2x, map2y); cv::Mat rectifiedIm1, rectifiedIm2; cv::remap(bgr1, rectifiedIm1, map1x, map1y, cv::INTER_LINEAR, cv::BORDER_CONSTANT, cv::Scalar()); cv::remap(bgr2, rectifiedIm2, map2x
上一篇:不同生命周期的数据访问