ORB-SLAM2 源码解读(2)
- MapPoint
- Frame
- KeyFrame
MapPoint
MapPoint是地图中的特征点,它自身的参数是三维坐标和描述子,在这个类中它需要完成的主要工作有以下方面:
1)维护关键帧之间的共视关系
2)通过计算描述向量之间的距离,在多个关键帧的特征点中找最匹配的特征点
3)在闭环完成修正后,需要根据修正的主帧位姿修正特征点
4)对于非关键帧,也产生MapPoint,只不过是给Tracking功能临时使用
Frame
Frame::Frame(
const cv::Mat &imGray, //灰度图
const double &timeStamp, //时间戳
ORBextractor* extractor,//ORB特征提取
ORBVocabulary* voc, //词袋数据
cv::Mat &K, //相机内参
cv::Mat &distCoef, //图像校正参数
const float &bf, // bf=双目基线 * fx
const float &thDepth)//这是深度值的阈值,按照特征点深度值大于或小于这个值,把他们分为close和far两类