我在连续帧之间有正确的对应关系,并且需要估计它们之间的转换以生成轨迹。下面的 C++ 管道,生成的轨迹毫无意义。
auto EssentialMatrix = cv::findEssentialMat(points_previous,
points_current,
camera_focal_length,
camera_principal_point,
cv::RANSAC,
0.999,
1.0,
mask);
auto inliers = cv::recoverPose(EssentialMatrix,
points_previous,
points_current,
CameraMatrix,
R,
t,
mask);
t_pos_ = t_pos_ + 1.0 *(R_pos_*t);
R_pos_ = R * R_pos_;
所以,我的问题是:如何使用 C++ OpenCV 实用程序正确恢复两个连续帧之间的转换?是否需要额外的步骤来这样做?