ORB SLAM2学习笔记之mono_kitti(二)
一、流程—Part 2
本篇博客将主要记录用来实例化SLAM系统的System类的一些用法。
1. System.h的架构
System.h
中包含了七个类,分别是Viewer,FrameDrawer,Map,Tracking,LocalMapping,LoopClosing的声明,和System类的定义,就像描述的一样,这些类组成了一个系统。
class Viewer;
class FrameDrawer;
class Map;
class Tracking;
class LocalMapping;
class LoopClosing;
class System;
2. System 类
System 类中的public成员包含一个sensor枚举和一些成员函数,主要有:
① sensor枚举
// Input sensor
enum eSensor{
MONOCULAR=0,
STEREO=1,
RGBD=2
};
0,1,2分别代表传感器的类型。
② System构造函数
System(const string &strVocFile, const string &strSettingsFile, const eSensor sensor, const bool bUseViewer = true);
读入词包路径,读入YAML配置文件,设置SLAM为mono状态,启用viewer的线程。
③ Tracking函数
cv::Mat TrackStereo(const cv::Mat &imLeft, const cv::Mat &imRight, const double ×tamp);
cv::Mat TrackRGBD(const cv::Mat &im, const cv::Mat &depthmap, const double ×tamp);
cv::Mat TrackMonocular(const cv::Mat