自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opencv-LSD线特征库文件

我们以PL-Vins源码中的feature_tracker文件夹下的CmakeList.txt为例。我们需要在CmakeList.txt中引入线特征库相关的头文件以及动态库。在linefeature_tracker.h中加入下面的头文件。我们需要删掉build文件夹,并重新创建build文件夹。之后就会在lib文件夹下生成.so动态库文件。该线特征库下,LSD线特征提取代码如下所示。#工程中CmakeList.txt的改写。至此CmakeLists.txt改写完成。

2023-04-17 12:07:32 583 1

原创 VINS-Motion: VINS与运动约束的紧密耦合融论文翻译

合摘要摘要:本文提出了一种新的带运动约束的视觉惯性导航系统(VINS- motion),该系统将视觉惯性导航系统(VINS)扩展到包含车辆运动约束的视觉惯性导航系统,以提高自主车辆的定位精度。除了先验信息、IMU测量残差和VINS中的视觉测量残差外,首先利用车辆的方向/速度约束构成运动残差。通过最小化三种残差的先验和马氏范数,得到最大后验估计,从而提高了系统的一致性和精度。还增加了停止检测,有助于消除停止时估计位姿的异常抖动,从而保证了轨迹的合理性。该方法在公共数据集上进行了验证,并与最新的算法进行了比

2021-11-03 20:49:41 585

原创 c++设计模式

简介在此特别感谢李建中老师!!!以下面代码为例一、分解Shape.hclass Point{public: int x; int y;};class Line{public: Point start; Point end; Line(const Point& start, const Point& end){ this->start = start; this->end = end; }};

2021-10-12 12:01:17 292

原创 c++设计模式

简介以下面代码为例一、分解Shape.hclass Point{public: int x; int y;};class Line{public: Point start; Point end; Line(const Point& start, const Point& end){ this->start = start; this->end = end; }};class Rect{p

2021-10-11 11:47:59 203

原创 c++设计模式

简介以下面代码为例一、分解Shape.hclass Point{public: int x; int y;};class Line{public: Point start; Point end; Line(const Point& start, const Point& end){ this->start = start; this->end = end; }};class Rect{p

2021-10-07 11:12:36 295 3

原创 c++设计模式

简介以下面代码为例一、分解Shape.hclass Point{public: int x; int y;};class Line{public: Point start; Point end; Line(const Point& start, const Point& end){ this->start = start; this->end = end; }};class Rect{p

2021-10-05 10:40:18 159

原创 数据结构和算法

# 数据结构与算法绪论世界上没有最好的算法,只有最合适的算法逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数..

2021-09-29 15:33:16 182

原创 c++设计模式

简介以下面代码为例一、分解Shape.hclass Point{public: int x; int y;};class Line{public: Point start; Point end; Line(const Point& start, const Point& end){ this->start = start; this->end = end; }};class Rect{p

2021-09-29 11:35:44 176

原创 数据结构和算法

# 数据结构与算法绪论世界上没有最好的算法,只有最合适的算法逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插

2021-09-26 16:26:06 283

原创 数据结构和算法

# 数据结构与算法绪论世界上没有最好的算法,只有最合适的算法逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插

2021-09-24 11:33:39 165

原创 数据结构和算法

# 数据结构与算法绪论世界上没有最好的算法,只有最合适的算法逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插

2021-09-23 20:04:53 192

原创 数据结构和算法

# 数据结构与算法绪论逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插入到La的后面{ int La_le

2021-09-16 11:12:35 307

原创 数据结构和算法

# 数据结构与算法绪论逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插入到La的后面{ int La_le

2021-09-15 19:45:37 172

原创 数据结构和算法

# 数据结构与算法绪论逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插入到La的后面{ int La_le

2021-09-13 18:59:35 147

原创 数据结构和算法

# 数据结构与算法绪论逻辑结构物理结构谈谈算法算法时间复杂度就是告诉你要注重看最高阶次,然后常数和阶次的常数乘积忽略掉,注意数据要足够多。执行次数就是时间算法空间复杂度线性表抽象数据类型void unionL(List* La, List* Lb)//此伪代码是来依次将Lb中与La不同的数据插入到La的后面{ int La_le

2021-09-12 18:37:06 148

原创 力扣算法题更新(个人笔记)

2021-8-261. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。对于这个问题有两种解法一、暴力解决class Solution {public: vector<int> twoSum(vector<int>& nums, int t

2021-08-26 12:26:08 571

原创 数据结构和算法

数据结构与算法绪论逻辑结构物理结构谈谈算法

2021-08-19 16:34:54 172

原创 PL-VINS运行及问题解决

PL-VINS运行创建工作空间 mkdir -p ~/catkin_plvins/src catkin_init_workspace cd ~/catkin_plvins/ catkin_make source devel/setup.bash echo $ROS_PACKAGE_PATH //将代码下载到src目录下 或者执行下面代码 cd ~/catkin_plvins/src git clone https://github.com/cnqiangfu/PL-VINS

2021-08-15 12:34:26 1795 1

原创 MLpnp论文阅读及算法思想

MLpnpMLPNP - A REAL-TIME MAXIMUM LIKELIHOOD SOLUTION TO THEPERSPECTIVE-N-POINT PROBLEMS. Urban, J.Leitloff, S.Hinz卡尔斯鲁厄理工学院摄影测量与遥感研究所,卡尔斯鲁厄Englerstr. 7,76131卡尔斯鲁厄,德国-(斯蒂芬。城市,延斯。leitloff stefan.hinz) @kit.edu http://www.ipf.kit.edu论文关键词:位姿估计,透视n点,计算机视

2021-08-05 13:15:39 3366 3

原创 ORBSLAM3论文阅读及自己的想法

ORB-SLAM3ORB-SLAM3: An Accurate Open-Source Libraryfor Visual, Visual-Inertial and Multi-Map SLAMCarlos Campos∗, Richard Elvira∗, Juan J. Gómez Rodr´ ıguez, José M.M. Montiel and Juan D. Tardós摘要本文介绍了ORB-SLAM3系统,这是第一个能够执行视觉、视觉惯性和多地图SLAM的单目、立体和RGB-D相机的

2021-08-04 12:11:59 1089

原创 PL-VIO(点线slam)学习笔记(持续更新)

1

2021-07-22 18:03:10 5941

原创 ubuntu 16.04运行 vins-fusion

前提安装Eigen3.3.7参考博客安装ceres1.14.0参考博客ceres别装2.0版本,装1.4开始装的2.0遇到错误error: ‘integer_sequence’ is not a member of ‘std’ struct SumImpl<std::integer_sequence<T, N, Ns…>>教程安装Ros参考博客编译新建工作空间 mkdir -p ~/catkin_vinsfusion_ws/src可以去gitee下载vinsf

2021-06-03 20:46:42 345

原创 openvslam学习笔记

简要回顾orbslam单目相机:没有xright和depth双目:有xright(视差) ,用xright可以的得到depth。对于双目相机,用右边相机点的坐标减去左边相机对应点的坐标就可以得到xright。(水平方向)RGBD:有depth,用depth可以得到xrightRGBD可以直接得到depth ,但RGB相机和深度相机的位置也不是一一对应的,相当于也是双目,因此也有xright...

2021-05-11 21:49:31 308

原创 c++笔记(持续更新)

1、不能在类声明中初始化静态成员变量比如在a.h中 , 类有一个属性static int num;在a.h中可以声明,但是不能初始化在a.cpp中可以赋值 ,比如int 类名::num=0;2、对于 类的构造函数中用到了new 堆区 ,记得要在对应的析构函数中delete掉。删除类定义的对象,可以删掉对象本身占用的内存,但无法自动释放对象成员的指针指向的内存,因此必须使用析构delete掉。str=new char[len+1];delete str[];3、函数的参

2021-05-07 20:20:59 185 1

原创 MSCKF演示实验

参考博客演示实验

2021-04-28 15:49:41 209

原创 c++ primer plus第九章課後習題

main.cpp#include <iostream>#include <new>#include "namesp.h"#include "golf.h"#include "string.h"using namespace std;//hw1***void hw_1(){ golf an1; setgolf(an1,"Ann Birdfree",24); showgolf(an1); golf andy[5]; int co

2021-04-27 22:18:08 79

原创 c++ primer plus 第八章课后习题

c++ primer plus 第八章课后习题#include <iostream>#include <string>#include <cstring>#include <cctype>using namespace std;////hw1***//太简单了////hw1***////hw2***const int NanmeMax=10;struct CandyBar{ string c_name;// doubl

2021-04-27 09:13:50 112

原创 ch6

c++ primer plus ch6 课后编程作业#include <iostream>#include <string>#include <vector>#include <fstream>#include <cstdlib>#include <cstring>#include <cctype>using namespace std;void hw_1(){ char ch; cout &lt

2021-04-21 20:58:56 116

原创 基于多态的企业职工系统资料

基于多态的企业职工系统资料思路代码worker.h#pragma once#include<iostream>#include<string>using namespace std;//职工类---父类class Worker{public: //显示个人信息 virtual void showInfo() = 0; //获取岗位名称 virtual string getDeptName() = 0; int m_Id; //职工编号 strin

2021-04-19 19:16:35 112

原创 机房预约系统

机房预约系统思路脉络这里面主要是定义一个身份类(基类),还有三个派生类(学生类,教师类,管理员类),全局文件类、机房类别忘了由上图可知各个类的要求。我们先把框架搭起来,也就是定义好各个类的函数及属性,然后先把主菜单写出来,以及退出功能写出来后面各个子菜单,利用重写即可完成(父类指针指向子类对象)先完善管理员类,因为它的权限最高,而且可以添加账号此时要定义一个预约管理类 oderFile.h 用来方便学生以及教师查看预约信息以及教师审核预约信息之后就是学生类,学生类的功能比较多,代码长一点

2021-04-19 18:35:07 229

原创 基于ubuntu18.04源码运行orbslam2实验过程及演示

基于ubuntu18.04源码运行orbslam2实验过程及演示orbslam源码链接首先在orbslam2文件夹中打开中断,并按顺序运行以下三段代码实验采用的数据集是tum这里给出数据集的网盘密码:joe0chmod +x build.sh./build.sh./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/nnz/Dataset/tmu/rgbd_dataset

2021-03-21 21:28:41 419

原创 vins-mono运行步骤及实验演示

基于ROS运行vins-mono参考博客源码地址步骤如下:先根据官网的指导把改装的库装一下!!!mkdir -p catkin_vins/srccd vins-mono-catkin_ws/src/git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.gitcd ..catkin_makesource devel/setup.bash下面的命令都在工作空间里执行catkin_makesource devel/s

2021-03-19 17:11:36 420

原创 ORBSLAM2总结之Loop_Closing

下列函数代码都在Loop_Closing.cpp中参考博客一、回环检测流程代码对应函数为:void LoopClosing::Run()在这里插入代码片二、闭环帧的检测代码中对应函数为:DetectLoop()首先通过函数CheckNewKeyFrames()检测mlpLoopKeyFrameQueue里的关键帧是否为空,如果不空则进行闭环检测的处理:也就是DetectLoop()。(Loopclosing中的关键帧是LocalMapping发送过来的,LocalMapping是Tracki

2021-02-06 15:51:52 714

原创 VSCODE-CMAKE工程运行和调试

launch.json{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g++ - 生成和调试活动文件", "type": "cppd

2021-02-04 11:02:26 563

原创 草稿-vio2

test1下图是:陀螺仪Allan方差图下图是:加速度计Allan方差图test2下图是:陀螺仪Allan方差图下图是:加速度计Allan方差图

2020-12-19 13:04:30 129 1

转载 Kinect2+Ros跑通ORBLSAM2

一、ubuntu16.04安装kinect2以及iai-kinect2可以参考这篇文章kinetic2安装以及iai-kinect2iai-kinect2二、KInetic+Ros 跑ORBSLAM2步骤:打开终端1git clone http://github.com/raulmur/ORB_SLAM2.gitcd ORB_SLAM2chmod +x build.sh ./build.sh #可自动编译好g2o与DBoW2并且把Vocabulary自动解压打开一个新的终端2

2020-12-17 15:35:32 263

原创 ORBSLAM2总结之-Tracking.cpp

/** * @file Tracking.cc * @author guoqing (1337841346@qq.com) * @brief 追踪线程 * @version 0.1 * @date 2019-02-21 * * @copyright Copyright (c) 2019 * *//*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at

2020-12-16 17:41:14 228

原创 ORBSLAM2总结之-LocalMapping.cpp

/** * @file LocalMapping.cc * @author guoqing (1337841346@qq.com) * @brief 局部建图线程 * @version 0.1 * @date 2019-04-29 * * @copyright Copyright (c) 2019 * *//*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raul

2020-12-16 17:38:04 273

原创 ORBSLAM2总结之-LocalMapping线程

前言本文结合其余的ORBSLAM2的资料,对ORBLSAM2源码进行注释,感谢知识星球、泡泡机器人感谢吴博!源码是知识星球小六等人的带注释版本。LocalMapping线程主要用来处理从Tracking线程传过来的关键帧。个人理解是:Tracking线程只要是完成对当前帧的追踪,以及这个帧的地图点相关信息之类的。在LocalMapping中只要就是处理这个新的关键帧。注意:处理新的关键帧是在缓冲队列中处理,处理完了后,要从缓存队列中删掉。LocalMapping主要流程如下图所示:上面的

2020-12-16 17:30:37 342

原创 ORBSLAM2总结之-tracking线程

前言本文结合其余的ORBSLAM2的资料,对ORBLSAM2源码进行注释,感谢知识星球、泡泡机器人感谢吴博!源码是知识星球小六等人的带注释版本。1、Tracking线程主要是用来计算各个帧的位姿在Tracking.cpp中将图片放进Tracking线程只要是下面的GrabImageStereo()和GrabImageRGBD()、GrabImageMonocular()函数。这三个函数的流程如下图所示:/** * 这里是双目的获取图片的函数、同时利用获得的灰度图构建当前帧,进行tracki

2020-12-12 14:23:19 677

空空如也

空空如也

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

TA关注的人

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