ORB-SLAM2:Tracking线程学习随笔【李哈哈:看看总有收获篇】

本文是ORB-SLAM2 Tracking线程的学习笔记,详细介绍了帧构造、描述子提取、恒速模型下地图点的构建、局部地图跟踪的实现,以及关键帧生成的条件和过程。通过对ORB-SLAM2的跟踪过程的梳理,揭示了SLAM前端里程计的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

继之前学习特征提取之后,终于要开始SLAM正经线程的学习了
因为感觉做不完毕设了,所以后期会看的快一些,几篇文章将以随笔形式展开,主要记录学习过程中的一些心得体会

随笔

构造帧

从输入的图片及时间戳构造Frame,完成提取特征点及计算描述子等操作,已经在我的系列视频讲的很清楚啦,链接放在这里供大家临幸嘿嘿:
ORB-SLAM2【Part1:Demo展示及主函数框架梳理】李哈哈的ORB-SLAM2特征提取详解

描述子是个矩阵是怎么回事

描述子是在该函数中提取的:

 /**
 * @brief 用仿函数(重载括号运算符)方法来计算图像特征点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 * 
 * @param[in] _image                          输入原始图的图像
 * @param[in] _mask                     	  掩膜mask
 * @param[in & out] _keypoints                存储特征点关键点的向量
 * @param[in & out] _descriptors              存储特征点描述子的矩阵
 */
 void ORBextractor::operator()(InputArray _image, InputArray _mask, vector<KeyPoint> &_keypoints,
                       		   OutputArray _descriptors)

这是构造帧时调用的仿函数
其中的_keypoints是存储该帧特征点的向量,是一个保存KeyPoint的向量,这里的KeyPoint是关键点的类,好像是OpenCV定义的吧
_descriptors就是保存描述子的矩阵,对其的构造操作在函数内:

_descriptors.create(nkeypoints, //矩阵的行数,对应为特征点的总个数
                    32,         //矩阵的列数,对应为使用32*8=256位描述子
                    CV_8U);     //矩阵元素的格式

由此可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值