ORB-SLAM2-tracking线程
2021-03-05 08:27
标签:temp bag from 详细 imu 思想 标记 isinf 多少 Tracking线程的主要工作是从图像中提取ORB特征,根据上一帧进行姿态估计或者进行通过全局重定位初始化位姿,然后跟踪已经重建的局部地图,优化位姿,再根据一些规则确定新的关键帧,将这些关键帧送给localmapping线程 首先从主线程system中的GrabImageMonocular()函数开始,进行图像的预处理和Frame的构造,Frame构造完成后真正进入Tracking。 ↓↓↓主要看下面这张图↓↓↓ Tracking线程在构造时主要是读取了一些参数,包括: 具体代码如下tracking线程
1. 基本流程
↑↑↑主要看上面这张图↑↑↑2. 各部分详解
Tracking构造函数
相机内参矩阵、
畸变校正矩阵、
双目摄像头基线、
相机的帧数、
颜色通道、
深度相机深度与距离的转化因子
每一帧提取的特征点数、
图像建立金字塔时的变化尺度、
尺度金字塔的层数、
提取fast特征点的默认阈值、
提取fast特征点的最小阈值(如果默认阈值提取不出足够fast特征点,则使用最小阈值)Tracking::Tracking(System *pSys, ORBVocabulary* pVoc, FrameDrawer *pFrameDrawer, MapDrawer *pMapDrawer, Map *pMap, KeyFrameDatabase* pKFDB, const string &strSettingPath, const int sensor):
mState(NO_IMAGES_YET), mSensor(sensor), mbOnlyTracking(false), mbVO(false), mpORBVocabulary(pVoc),
mpKeyFrameDB(pKFDB), mpInitializer(static_cast
下一篇:Java 基础原理二