ORB-SLAM 代码笔记(二)

ORB-SLAM中除了第三方库,基本没有看到使用c++11的新特性(例如别的SLAM框架中常用的智能指针,拷贝控制,泛型算法等,基本没有使用动态内存,栈内存读取速度较快),因此非常适合初学,代码很清晰。静下心来一个月之内是肯定可以看完的,目前的想法是在看完ORB之后,对其中的典型算法再做一个总结~慢慢来

 

System.cc 系统入口文件

读取词典文件,摄像头信息,以及View线程是否现实

System(const string &strVocFile, const string &strSettingsFile, const eSensor sensor, const bool bUseViewer = true);

Tracking线程:

分为三种摄像头(双目,RGBD以及单目)

均需要设置是否只使用定位模式

双目入口:

双目获取的两帧图片必须时间对其并已经完成矫正;

无论是RGB (CV_8UC3) 还是灰度图(CV_8U)均会转换成灰度图,抛弃颜色信息。

该函数中主要完成特征点提取与匹配

cv::Mat TrackStereo(const cv::Mat &imLeft, const cv::Mat &imRight, const double &timestamp);

返回相机位姿,若返回的Mat结构为空,表示跟踪失败

return mpTracker->GrabImageStereo(imLeft,imRight,timestamp);

 

posted @ 2017-02-10 15:14  徐尚  阅读(2555)  评论(3编辑  收藏  举报