您当前的位置: 首页 > 

暂无认证

  • 1浏览

    0关注

    98602博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ORB-SLAM3 Initializer.cpp函数解读

发布时间:2020-10-12 07:00:00 ,浏览量:1

  构造函数

Initializer::Initializer(const Frame &ReferenceFrame, float sigma, int iterations)参数: 参考帧(第一帧), 误差, 迭代次数 操作:读取参考帧的相机模型, 内参, 去畸变的特征点等传入参数

初始化:并行的计算前后两帧的本质矩阵和基础矩阵,选出来评分高的恢复旋转和平移

bool Initializer::Initialize(const Frame &CurrentFrame, const vector &vMatches12, cv::Mat &R21, cv::Mat &t21, vectorcv::Point3f &vP3D, vector&vbTriangulated) 参数: 当前帧(第二帧), 前后帧的匹配关系(), 参考帧到当前帧的旋转, 参考帧到当前帧的平移(==当前帧指向参考帧==), 三角化后的点, 特征是否被三角化过返回值:bool->初始化是否成功的标志 操作:

  • vMatches12中的匹配关系以<==第一帧特征索引,第二帧特征索引==>存储在mvMatches12中, 同时mvbMatched1[i]设置为true表示第一帧中该索引的特征点匹配成功

  • 从匹配中不重复的随机选择mMaxIterations组点,每组8个

  • 开两个线程同时计算单应和基本矩阵

  • 计算得分

  • 选择得分高的矩阵来恢复两帧位姿

寻找最优单应矩阵
关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0889s