自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 《剑指Offer》 链表总结篇

数据结构和算法,是程序设计中重要的两大组成部分,我们的编程都是在选择和设计合适的数据结构存放数据,然后再用合适的算法处理这些数据。链表是一种动态的数据结构,每次插入一个结点,只需为其分配内存然后保证节点指针域指向新的节点。0.摘要定义、插入节点、删除节点 6 反向遍历链表(栈、递归、反向迭代器) 18 删除链表的节点 22 输出链表中倒数第K个节点(遍历两次O(m+n)、滑动窗O...

2018-11-30 10:05:32 270

原创 Const

这里总结const出现的情况,核心:“只读”(可以使常量和变量,但不能通过你这里对他进行改变)1、顶层/底层const由于指针本身是个对象,指针所指也是一个对象,二者独立。只有指针区分顶层/底层,const char* p=greeting; //底层const,所指内容为常量,常见方式。char* const p=greeting //顶层const.指针(地址)是常量,表明不...

2018-11-22 10:46:19 192

转载 C++析构函数前加上virtual的原因

class A{    public:        virtual void print(){cout<<"This is A"<<endl;}};class B : public A{    public:    void print(){cout<<"This is B"<<endl;}}虚函数:指向基类...

2018-11-19 10:13:05 3317

原创 ORB-SLAM2源码解读(4):LocalClosing

 VO总是会有累计误差,而LoopClosing通过检测是否曾经来过此处,进行后端优化,可以将这个累计误差缩小到一个可接受的范围内。闭环是一个比BA更加强烈、更加准确的约束,从而使得Slam系统应对大范围场景时,拥有更高的鲁棒性和可用性。整个LoopClosing模块是在线程中完成,并在创建线程时调用LoopClosing::Run()函数让其运行。mptLoopClosing = n...

2018-11-16 16:38:23 1184

原创 ORB-SLAM2源码解读(3):LocalMapping

ORB-SLAM2的前端VO部分分为:Tracking和LocalMapping,Tracking线程负责根据输入的Frame恢复出相机位姿T并跟踪局部地图,最后生成关键帧传给LocalMapping线程。LocalMapping线程负责对新加入的KeyFrames和MapPoints筛选融合,剔除冗余的KeyFrames和MapPoints,维护稳定的KeyFrame集合,传给后续的Lo...

2018-11-15 22:36:30 1944

原创 ORB-SLAM2源码解读(2.2):单目初始化、匀速运动模型跟踪、跟踪参考关键帧、跟踪局部地图

这里是Tracking部分的第二部分,详细讲述各分支的代码及其实现原理。单目初始化MonocularInitialization()目标:从初始的两帧单目图像中,对SLAM系统进行初始化(得到初始两帧的匹配,相机初始位姿,初始MapPoints),以便之后进行跟踪。方式:并行得计算基础矩阵E和单应矩阵H,恢复出最开始两帧相机位姿;三角化得到MapPoints的深度,获得点云地图...

2018-11-15 11:10:23 4432 3

原创 ORB-SLAM2源码解读(2.1):Tracking

Tracking是SLAM的灵魂,更像是前端里程计VO,这里Tracking的主要任务两方面:(1)完成相机位姿估计(2)跟踪局部地图思路:TrackLocalMap()在当前帧和局部地图之间找到尽可能多的对应关系,优化当前帧的位姿。对每一帧都进行跟踪第一次接触这么大的工程,发现之前接触的真的好弱鸡,总结下来是:先看基本流程图+从头到尾啃一遍代码+总结这里要感谢吴博和吃水的鱼和蚁族的坚...

2018-11-14 10:46:13 2151 1

原创 ORB-SLAM2中的C++技巧(一)

打算好好啃ORB-SLAM源代码,接下来的LSD、SVO其实就是从特征点法换成了光流法(直接法),但是整体的框架大同小异,所以打算两周时间啃完,并将学习到的C++技巧总结下来,这样对于C++也会有新的理解。每章5个技巧,怕什么真理无穷,进一寸有进一寸的欢喜。一、多线程Thread并发:某一个时刻只能处理一个操作,但是交替进行。大脑的设计:看显示器同时打字并行:某个时间点上处理两...

2018-11-09 10:09:31 1604 1

原创 ORB-SLAM2源码解读(1):系统入口System

  先要拿大名鼎鼎的ORB-SLAM系统框图镇楼,看着这张图能够完美的串起来整个流程。ORB-SLAM分三个线程,分别是Tracking、LocalMapping和LoopClosing。(1)Tracking:在主线程上,输入视频流,输出相机位姿并跟踪局部地图。提取ORB特征子,根据上一帧进行位姿估计或全局重定位,然后跟踪局部地图优化位姿,确定新的关键帧。(2)LocalMapp...

2018-11-08 22:20:05 3483

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除