自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 视觉SLAM实践入门——(20)视觉里程计之直接法

2021-06-07 02:40:12 994

原创 视觉SLAM实践入门——(19)视觉里程计之多层光流法(光流金字塔)

对于单层光流法,多层光流法基于图像金字塔,通过对上层图像使用光流法得到估计值,再将估计值反馈到下层作为计算的初始值,从而解决单层光流法无法估计较大运动等问题

2021-05-30 23:04:01 981 2

原创 视觉SLAM实践入门——(18)视觉里程计之单层光流法

编译本节代码需要使用 opencv4,安装和使用的注意事项参考https://blog.csdn.net/floatinglong/article/details/117173740对于下面这种找不到CV_GRAY2BGR 的错误,原因在于新版的 opencv 修改了它的名字error: ‘COLOR_GRAY2BGR’ was not declared in this scope将代码中的C...

2021-05-30 22:45:36 527 1

原创 视觉SLAM理论入门——(10)视觉里程计之光流和直接法

1、特征点法的缺点特征点法具有以下缺点:1、关键点的提取与描述子的计算非常耗时2、特征点的数量远小于图像像素数量,只使用特征点丢弃了大部分可能有用的图像信息3、相机有时会运动到特征缺失的地方,往往这些地方没有明显的纹理信息,从而使得特征点数目减少,无法估计运动克服特征点法缺点的思路:1、只计算关键点,不计算描述子。使用光流法跟踪特征点的运动,回避计算和匹配描述子带来的时间2、只计算关键点,不计算描述子。使用直接法计算特征点在下一时刻图像的位置3、不使用特征点,而是根据像.

2021-05-24 16:24:42 1022 2

原创 ubuntu中安装另一个版本的opencv

cmake 时指定安装路径cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..安装后,opencv 位于 /usr/local/includeopencv-2.4.13 中使用时,在 CMakeLists.txt 中指定opencv库目录set(CMAKE_PREFIX_PATH "/usr/local/includeopencv-2.4.13/")...

2021-05-23 00:11:36 163 1

原创 视觉SLAM实践入门——(17)使用非线性优化方法求解ICP

2021-05-22 16:17:59 977

原创 视觉SLAM实践入门——(16)使用SVD求解ICP

2021-05-21 23:29:22 476

原创 视觉SLAM理论入门——(9)视觉里程计之特征点法—ICP

ICP用于解决3D-3D的位姿估计问题。

2021-05-21 17:18:50 404

原创 视觉SLAM实践入门——(15)使用g2o求解PnP

2021-05-21 00:58:48 778

原创 视觉SLAM实践入门——(14)高斯牛顿法求解PnP

2021-05-20 17:25:52 542

原创 视觉SLAM实践入门——(13)使用OpenCV的EPnP求解PnP

2021-05-19 23:41:39 1764

原创 视觉SLAM实践入门——(12)三角测量

2021-05-18 00:47:02 1665

原创 视觉SLAM实践入门——(11)用对极约束求解相机运动

2021-05-17 19:08:16 1104

原创 视觉SLAM理论入门——(8)视觉里程计之特征点法—PnP

PnP是求解3D到2D点对运动的方法

2021-05-16 22:18:01 1448

原创 视觉SLAM理论入门——(7)视觉里程计之特征点法—对极几何

当采用单目相机,只知道2D像素坐标,需要根据两组2D点估计运动,这时用到了对极几何1、对极约束2、本质矩阵3、单应矩阵

2021-05-15 22:17:50 1110

原创 视觉SLAM实践入门——(10)特征提取和匹配(修复源码中的段错误bug)

2021-05-15 18:38:32 1228 1

原创 视觉SLAM实践入门——(9)曲线拟合之g2o库

123

2021-05-15 16:46:16 1032 2

原创 视觉SLAM实践入门——(8)使用Ceres库进行曲线拟合

11

2021-05-13 18:12:36 326

原创 为WSL的ubuntu子系统安装图形化界面

WSL只提供黑窗口登录功能,为了使用gui,需要安装gui并且使用远程连接的方式登录更新源sudo apt-get update安装xorgsudo apt-get install xorg安装xfce4sudo apt-get install xfce4安装xrdpsudo apt-get install xrdp设置端口sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini设置xsessio

2021-05-06 20:43:12 1144

原创 视觉SLAM理论入门——(6)视觉里程计之特征点法—特征点

一个SLAM系统可以分为前端和后端,其中前端称为视觉里程计,其作用是根据相邻图像的信息估计出粗略的相机运动,给后端提供较好的初始值视觉里程计的算法主要有两大类:特征点法(主流方法)、直接法1、特征点视觉里程计的核心问题是根据图像估计相机运动。特征点法是从各个图像中选取相同的有代表性的点(相机视角发生少量变化时,这些点保持不变),在这些点的基础上讨论相机位姿估计问题以及这些点的定位问题。在经典SLAM模型中,这些点是路标;在视觉SLAM中,这些点是图像特征数字图像在计算机中以灰度值...

2021-04-30 00:22:31 1961

原创 视觉SLAM理论入门——(5)非线性优化

即使我们有着高精度的相机,我们得到的数据通常是受各种未知噪声影响的,运动方程和观测方程也只能近似的成立,因此需要研究如何在有噪声的数据中进行准确的状态估计。1、状态估计问题1.1最大后验与最大似然经典 SLAM 模型由一个运动方程和一个观测方程构成其中表示相机位姿,表示传感器输入,表示观测数据,表示路标,和表示噪声,一般认为噪声服从零均值高斯分布~,~运动方程在视觉 SLAM 中没有特殊性,一般讨论观测方程。对于观测方程,希望通过带噪声的数据和,推断位姿和地图(以及它们的概率分布),

2021-04-27 22:20:26 888

原创 视觉SLAM理论入门——(4)相机模型

相机将三维世界中的坐标点映射到二维图像平面的过程能够用一个针孔模型进行描述。另外,由于相机中透镜的存在,会使得光线投影到成像平面的过程中会产生畸变。因此,使用针孔和畸变两个模型来描述整个投影过程。...

2021-04-27 15:14:09 617

原创 视觉SLAM实践入门——(7)利用高斯牛顿法进行曲线拟合

考虑满足以下方程的曲线其中a,b,c是曲线参数,w是高斯噪声w~(0,σ^2)(服从零均值的高斯分布)。假设有N个关于x,y的观测数据点,通过根据这些数据求解下面最小二乘问题,求出曲线参数在求解这个问题时,程序里先根据模型生成x,y的真值,然后在真值中添加高斯分布的噪声。使用高斯牛顿法从带噪声的数据拟合参数模型。定义误差为:计算每个误差项对状态变量的导数:则#include <iostream>#include <opencv2/open

2021-04-26 18:33:16 956 1

原创 视觉SLAM实践入门——(6)OpenCV之图像去畸变

图片位于 slambook2/ch5/imageBasics/distorted.png去畸变函数cv::Undistort()#include <iostream>#include <string>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;#define IMAGE_FILE "../distorted.png"int main(int argc,

2021-04-26 15:25:48 324

原创 视觉SLAM实践入门——(5)OpenCV之基本用法

安装OpenCV下载链接https://opencv.org/releases/选择 OpenCV – 3.1.0 — Sources,下载并解压,得到opencv-3.1.0目录先安装一些依赖项:sudo apt install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev配置编译安装OpenCVcd.

2021-04-23 19:37:23 814

原创 视觉SLAM实践入门——(4)Sophus库的基本用法

安装Sophus库前面已经通过下面 命令获取了资源包,在slambook2/3rdparty中有Sophus库git clone https://github.com/gaoxiang12/slambook2.git方法1:将库的头文件拷贝到/usr/include后可以直接使用sudo cp slambook2/3rdparty/Sophus/sophus /usr/include -r方法2:将库(包括整个cmake工程)拷贝到工程的根目录(如useSophus)后,配置cmak

2021-04-23 16:05:55 631

原创 视觉SLAM实践入门——(3)运动的可视化演示

旋转矩阵等数学表示方式不直观,考虑将相机的运动轨迹画到一个窗口中。假设轨迹文件已经存储在trajectory.txt,每一行用下面格式存储:time,tx,ty,tz,qx,qy,qz,qw,其中time是位姿记录时间,t是平移,q是旋转四元数(以机器人坐标系到世界坐标系的记录Twr)在画轨迹时,把轨迹画成一系列点组成的序列。这些点的坐标,其实是机器人坐标系的原点在世界坐标系中的坐标。考虑机器人坐标系的原点Or,这个原点在世界坐标系中的坐标OwOw = Twr * Or = twr,其中

2021-04-23 14:49:47 1527

原创 gnutls_handshake() failed: The TLS connection was non-properly terminated.

使用 git clone 或者 git submodule update 命令时出现错误gnutls_handshake() failed: The TLS connection was non-properly terminated.如果使用git clone,直接将后面的地址改用http如果使用git submodule update,将.gitmodules文件中的地址改用http,如果修改后出现下面的错误,进入对应子模块Pangolin仓库中修改.gitmodules的地址子

2021-04-23 12:23:46 1560

原创 解决Pangolin库安装后出现的C++标准以及链接库问题

安装后,在代码中包含pangolin.h后编译,会出现错误/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

2021-04-22 21:46:44 2134 3

原创 解决github代码下载慢的问题

在gitee中注册一个账户https://gitee.com/点右上角的 + ,选择 从Github导入仓库链接填资源下载链接,例如https://github.com/gaoxiang12/slambook2.git选择开源保存使用gitee生成的链接下载git clone https://gitee.com/xx/slambook2.git...

2021-04-22 21:45:04 301

原创 视觉SLAM实践入门——(2)Eigen库的安装和基本用法

安装安装命令sudo apt install libeigen3-dev查找库的位置sudo updatedblocate eigen3这个库只使用了头文件搭建,在程序为了使用这个库,需要包含相关头文件。库默认安装路径是/usr/include/eigen3,而kdevelop默认头文件路径是/usr/include,因此为了使用这个库有(但不限于)以下几种办法:方法1:包含头文件时,加上/eigen3前缀,如:#include <eigen3/Eigen/C.

2021-04-22 17:37:54 1551

原创 视觉SLAM实践入门——(1)cmake和kdevelop安装和基本用法

cmake当工程比较大,代码文件多,直接使用命令行进行编译链接操作繁琐,不便于管理。使用cmake进行编译,只需要管理CMakeLists.txt文件安装命令:sudo apt install cmakecmake的基本用法:在当前目录新建CMakeLists.txt,添加以下内容cmake_minimum_required(VERSION 2.8) //指定最低版本project(HelloSLAM) //声明工程add_executable(helloSLAM hello

2021-04-22 15:50:55 519

原创 视觉SLAM理论入门——(3)李群与李代数

群的概念群是一种集合加上一种运算的代数结构,若记集合为,运算为,则群记为。群满足以下性质(封结幺逆):1、封闭性2、结合律3、幺元4、逆李群与李代数定义李群是指具有连续光滑性质的群,整数群是离散的群,不是李群。前面说的特殊正交群和特殊欧氏群都属于李群(一个刚体可在空间中连续光滑旋转、平移)。这两个李群对加法不封闭,但是对乘法封闭(两个旋转矩阵相乘表示做了两次旋转):每个李群都有与之对应的李代数,李代数描述了李群的局部性质,定义如下:李.

2021-04-19 19:34:19 928

原创 视觉SLAM理论入门——(2)刚体运动

重要概念1、位置:相机在空间中的哪个地方2、姿态:相机的朝向3、向量:向量是空间中的一个东西,并不与实数发生联系,只有在指定坐标系的情况下,向量才有坐标4、向量积:(1)内积是个标量(2)外积是个向量,方向垂直于两个向量组成的平面其中 ^ 表示是反对称符号,它将一个向量映射成一个反对称矩阵例如:映射为旋转矩阵机器人的运动是刚体运动,它保证了同一个向量在不同坐标系下长度和角度都不会发生变化机器人的相机是一个移动坐标系的原点,它位于一个固定不变的世界...

2021-04-18 22:45:14 364

原创 视觉SLAM理论入门——(1)绪论

使用书籍:《视觉SLAM十四讲从理论到实践》定义同时定位与地图构建SLAM(simultaneous Localization and Mapping)是指在没有环境先验信息的情况下,在运动过程中估计自己的运动并且建立环境模型从上面定义可以看出,SLAM的目标有两个:1、定位——确定自身的位置(状态)2、建图——确定自身的环境(地图)传感器为了完成上面两个目标需要使用传感器。按照安装位置的不同,传感器可以分为两类:1、安装于环境中的传感器(黑线、无线电定位设备等),它们需要人

2021-04-18 19:12:30 271

原创 ubuntu16.04软件商店中不显示软件

解决办法:终端输入:sudo apt install python-apt参考链接:https://blog.csdn.net/qq_41587013/article/details/88777286

2021-04-18 18:48:20 1393

原创 安装双系统(Legacy Bios引导的win7+ubuntu16.04)

电脑自带的系统是Legacy bios引导的windows7,待安装安装系统是ubuntu16.04LST1、下载ubuntu映像官方资源:http://releases.ubuntu.com/16.04/2、制作启动U盘下载Ultral

2021-04-18 18:41:58 378

原创 解密m3u8/ts视频流

有些通过浏览器插件捕获的视频流是无法播放的,原因是服务器对其进行了加密,本文用于记录自己第一次m3u8解密的过程m3u8是一种流媒体格式,以文件列表的形式存在,里面记录了版本号、加密方式、文件列表等信息从某个地址(https://abc.net/xx/xx/,m3u8下载地址是https://abc.net/xx/xx/index.m3u8)捕获的index.m3u8文件内容如下#E...

2020-05-01 18:43:56 24023 3

原创 u-boot-2012.04.01移植(十二)裁剪u-boot并制作补丁

一、裁剪u-boot移植到现在,uboot的基本功能已经都添加上了,但有很多功能不需要,造成了u-boot程序太大,对此可以通过修改include/configs/smdk2440.h,取消定义不需要的宏,对u-boot进行适当裁剪usb相关宏:#if 0#define CONFIG_USB_OHCI#define CONFIG_USB_KEYBOARD#define C...

2020-04-03 22:40:58 170

原创 u-boot-2012.04.01移植(十一)提供yaffs文件系统烧写支持

测试u-boot是否jffs2文件系统的烧写烧写命令如下:tftp 30000000 fs_mini_mdev.jffs2nand erase.part rootfsnand write.jffs2 30000000 0x00260000 $filesize30000000:文件系统下载的目标地址0x00260000:文件系统应处于的flash地址$filesize:文件...

2020-04-03 22:40:53 196

空空如也

空空如也

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

TA关注的人

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