![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORB-SLAM2
菜菜的阿远
这个作者很懒,什么都没留下…
展开
-
Ubuntu16.04系统下搭建ORB_SLAM2
Ubuntu的配置(1)基础工具安装vim、cmake、git、gcc、g++: sudo apt-get install vim git cmake sudo apt-get install gcc g++ (2)配置软件源将镜像源更改为清华的镜像源:原创 2020-11-20 16:33:44 · 154 阅读 · 0 评论 -
ORB-SLAM2之KeyFrame
关键帧,和普通的Frame不一样,但是可以由Frame来构造; 许多数据会被三个线程同时访问,所以用锁的地方很普遍。类中主要的函数及其含义如下表所示函数含义KeyFrame(Frame &F, Map* pMap, KeyFrameDatabase* pKFDB);构造函数void SetPose(const cv::Mat &Tcw);设置当前关键帧的位姿void ComputeBoW();词袋计算void AddConnection(Key原创 2020-11-13 20:33:02 · 496 阅读 · 0 评论 -
ORB-SLAM2之KeyFrameDataBase
这个类是关键帧的数据库,主要用于计算闭环检测和重定位时的候选帧,类中维护一个每个元素都是链表的vector容器,容器的每个元素是预先训练好的特征词汇,然后对应的连表上放的都是关键帧,包含这个词汇的关键帧。类中public的函数及其含义项目ValueKeyFrameDatabase(const ORBVocabulary &voc);构造函数void add(KeyFrame* pKF);根据关键帧的词包,更新数据库的倒排索引void erase(KeyFram原创 2020-11-13 19:35:38 · 201 阅读 · 0 评论 -
ORB-SALM2之map
Map类管理整个地图,因此其具有的属性是所有的地图点和关建针,即普通的帧是不管的,另外还有一些帧编号之类的东西,该类具有添加、删除关键帧的方法和添加、删除地图点的方法,另外就是一个返回属性的函数。首先是public的相关函数及其定义函数含义void AddKeyFrame(KeyFrame* pKF);向地图中添加关键帧void EraseKeyFrame(KeyFrame* pKF);从地图中删除关键帧void AddMapPoint(MapPoint* pMP);原创 2020-11-13 19:22:46 · 111 阅读 · 0 评论