自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cmake-practice实践

1、生成库文件 把多个cpp文件构建成PROJECT_NAME为名字的库文件,生成libPROJECT_NAME.so ${ }表示引用名 add_library(${PROJECT_NAME} SHARED src/System.cc src/Tracking.cc src/LocalMapping.cc src/LoopClosing.cc src/ORBextractor.cc src/ORBmatcher.cc src/FrameDrawer.cc src/Converter.cc sr.

2020-11-05 16:55:31 683

原创 ORB-SLAM optimizer

很有针对性的相关参考链接:https://blog.csdn.net/hzwwpgmwy/article/details/79884070 学会去看模板参数 顶点一般就是位姿、路标点位置 边的话就是1、一般找投影 2、找两帧间的相对变换sim3作为边 class EdgeSE3ProjectXYZ: public BaseBinaryEdge<2, Vector2d, VertexSBAPointXYZ, VertexSE3Expmap>//投影边的模板参数,第一个连的顶点是三维点..

2020-11-02 22:15:59 243

原创 ORB-SLAM C++

1、vector的reserve 、resize vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size! 原因如下: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/insert()函数。 resize是改变容器的大小,且在创建对象,因此,调用这个函数之后,就可以引用容器内的对.

2020-11-02 22:05:10 280

原创 ORB-SLAM使用到的小细节

1、从两个关键帧的位姿计算它们之间的基本矩阵,根据对极约束剔除一些质量不高的点, x2‘Fx1=0,理论上x2特征点在Fx1构成的极线上,因为存在误差值,变成计算点到直线的距离 bool ORBmatcher::CheckDistEpipolarLine(const cv::KeyPoint &kp1,const cv::KeyPoint &kp2,const cv::Mat &F12,const KeyFrame* pKF2) { // Epipolar line i

2020-11-02 21:35:02 640

原创 ORB三个线程的理解

1、Tracking线程总结(跟踪某一帧找到位姿、然后更新找到局部地图中尽可能多的mappoint,提高BA优化精度) 1.1根据恒速运动模型初始化当前帧位姿)1、相机位姿跟踪(跟踪帧),trackwithmotionmodel(跟踪上一帧):假设当前帧和上一帧的位姿差 、上一帧和上上帧的位姿差相等,从而根据上一帧位姿和位姿差确定当前帧的初始位姿T2=T21*T1,上一帧的mappoints和当前帧的特征点进行匹配,然后仅对当前帧的位姿优化,提高位姿的精度;(上一帧中包含了MapPoints,对这些Map

2020-11-02 21:27:58 1966

空空如也

空空如也

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

TA关注的人

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