【问题标题】:Huge reprojection errors triangulating appropriate points on stereopair with additional GPS data巨大的重投影误差用额外的 GPS 数据对立体对上的适当点进行三角测量
【发布时间】:2016-11-27 22:43:01
【问题描述】:

我正在使用基于 OpenCV 库的 2d-3d 算法解决 VSLAM 任务。现在我正在尝试使用 GPS 数据进行地理配准。我变换每个相机的 R,t,然后使用平凡函数对匹配点进行三角剖分

Triangulate(const cv::KeyPoint &kp1, const cv::KeyPoint &kp2, const cv::Mat &P1, const cv::Mat &P2, cv::Mat &x3D) {
cv::Mat A(4,4,CV_32F);

A.row(0) = kp1.pt.x*P1.row(2)-P1.row(0);
A.row(1) = kp1.pt.y*P1.row(2)-P1.row(1);
A.row(2) = kp2.pt.x*P2.row(2)-P2.row(0);
A.row(3) = kp2.pt.y*P2.row(2)-P2.row(1);

cv::Mat u,w,vt;
cv::SVD::compute(A,w,u,vt,cv::SVD::MODIFY_A| cv::SVD::FULL_UV);
x3D = vt.row(3).t();
x3D = x3D.rowRange(0,3)/x3D.at<float>(3); }

,其中 kp1 和 kp2 - 左右图像上的关键点,P1,P2 - 投影矩阵

我遇到了一个奇怪的问题:当我通过一些巨大的常数对相机中心进行简单的移动时,我在旧的合适的三角点上出现了很大的重投影错误。点三角剖分的 SVD 分解对相机中心尺度敏感吗?

【问题讨论】:

  • 您如何使用 GPS 数据进行地理配准?你只是翻译相机位置吗?

标签: opencv svd photogrammetry slam-algorithm


【解决方案1】:

只是代码的另一部分出错了。对不起。

【讨论】:

  • 这不是答案。如果您知道您的问题对任何人都没有帮助 - 请删除它
猜你喜欢
  • 1970-01-01
  • 2012-01-26
  • 2015-11-16
  • 2018-04-29
  • 1970-01-01
  • 2021-04-27
  • 2019-11-03
  • 2016-07-01
  • 2018-11-06
相关资源
最近更新 更多