- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 从概率学看卡尔曼滤波
前面我写了一篇关于贝叶斯滤波的博客,详细推导了贝叶斯滤波,。也介绍了为了解决贝叶斯滤波中的无穷积分问题,产生了许多滤波方法,讨论了不同滤波方法之间的关系其中卡尔曼滤波应用比较广泛,这里详细推导一下卡尔曼滤波。 这篇博客大部分参考了b站视频:忠厚老实的王大头 感谢up主做的视频1. 假设假设f(xk−1)、h(xk)为线性,Qk、Rk为正态分布,Xk−1∼N(μk−1+,σk−1+)假设f(x_{k-1})、h(x_k)为线性,Q_k、R_k为正态分布,X_{k-1} \sim N
2020-06-18 18:58:38 4287 5
原创 贝叶斯滤波、卡尔曼滤波和粒子滤波的关系
前面博客介绍了贝叶斯滤波的详细推导,里面说了贝叶斯滤波的缺点是无穷积分没办法准确积分的问题。缺点也很明显,从fk−1+(x)→fk−(x)f_{k-1}^+(x)\to f_k^-(x)fk−1+(x)→fk−(x),计算η\etaη,计算期望x^k\hat{x}_kx^k,都需要做无穷积分,大多数情况下没有解析解。 后面研究者为了解决这个积分问题,做了不同的假设,引入了不同的方法,于是就产生了各种滤波。卡尔曼滤波(KF) 、扩展卡尔曼滤波(EKF)、UKF、高斯积分滤波、粒子滤波(蒙特
2020-06-18 10:44:30 3627 1
原创 你真的搞懂贝叶斯滤波了吗?
一谈到贝叶斯滤波,就开始联系到各种随机过程、概率密度函数等等,那些曾经上课都听不进去的东西,这里能讲清楚吗?我自己也会有这个疑惑,不过要看懂贝叶斯滤波原理还是需要一定基础的。这篇博客,我会尽量讲得通俗一点,方便理解一点。一、先验知识1. 随机过程与概率论 两门都是大学学过的课程,那它们之间到底有什么关系呢?呃…其实大学期间自己也没理解,笑cry。随机过程:研究的随机变量之间不独立,由于...
2020-05-06 19:03:34 12218 11
原创 台式机双硬盘win10安装ubuntu16.04双系统-ubuntu黑屏无法进入问题的解决
以前在笔记本装过,网上也有很多博客,但是到了台式机上,按照同样的方法安装,却一直黑屏,并报错PCIe ERROR,无法进入系统。之前查博客,有说是9代intel处理器不支持ubuntu了,吓得我菊花一紧。后来发现是驱动的问题。这里详细介绍一下。1. 准备工作这里有很多博客可以参考,就不赘述了,请参考Windows10安装ubuntu18.04双系统教程这里大家可能要问了,标题写得是ubunt...
2020-04-11 17:04:13 2216
原创 解决 fatal error: opencv2/cudafeatures2d.hpp: No such file or directory的问题
博主前两天在跑一个开源代码,需要用GPU加入ORB的提取和匹配,里面用到了opencv的头文件,发现报了这个错误:fatal error: opencv2/cudafeatures2d.hpp: No such file or directory后来发现是因为opencv需要安装cuda版本,可以参考我的上一篇博客:ubuntu16.04安装cuda版本的opencv3.3.0...
2020-04-06 09:50:51 5785
原创 ubuntu16.04安装cuda版本的opencv3.3.0,安装NVIDIA、CUDA和opencv
ubuntu16.04安装cuda版本的opencv3.3.0sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv3.3.0 -DWITH_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 -D CUDA_NVCC_FLAGS="-std=...
2020-04-06 09:45:16 4898 1
原创 最详细的ubuntu16.04安装sublime3(附下载链接)
最详细的ubuntu16.04安装sublime(附下载链接) 1.sublime text3的下载和安装方式1.1 使用命令安装 (推荐)sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get updatesudo apt-get install sublime-text-install...
2020-04-02 11:12:14 1300 1
原创 C++ 野指针从何而来?内存泄露有哪些坑需要避免?
指针问题一直是C++工程中的让人头疼的问题,动不动给你报个"段错误",都不知道从何查起.这篇博客就C++中野指针的产生原因以及如何有效避免内存泄露的一些坑作一些总结,希望以后学习工作中,从源头避免内存泄露的问题. 1....
2020-01-15 10:38:43 369
原创 利用std::sort()函数实现自定义排序规则的排序算法
一. std::sort()函数1. 默认方法template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last);适用于自定义的vector数组,从小到大排序,比如:vector<int> vec{20,34...
2020-01-06 10:47:45 3845
原创 ubuntu16.04(14.04)(重)安装OpenCV3.3.0与opencv_contrib3.3.0及常见问题解决方案(附文件下载链接)
这篇博客主要内容: - 一. 文件下载和准备1. 下载及解压 (1) opencv3.3.0下载地址:github (2) opencv_contrib-3.3.0三种下载地址:github 百度网盘, 提取码: k9g2 CSDN下载 下载解压完之后,将opencv_contrib-3.3.0移动到opencv3.3.0目录...
2020-01-04 14:57:05 590
原创 C++ string操作大全及代码演示
这篇博客内容包括: - string基本操作 - 查找第n次出现字符“s_tofind”的位置; - 按照某一pattern分割字符串; - 将string数据转换成double数据. 代码如下:1. string基本操作//查找第n次出现字符“s_tofind”的位置int findPos_n(string s, string s_tofind,...
2020-01-02 20:11:08 267
原创 C++ 读文件某一行(特定行)数据
这段代码主要功能: - 读取文件的第line行数据,返回string; 代码如下://这两个函数一起可以读取文件中某一特定行,行数line从1开始,Readline返回值为string类型int CountLines(string filename){ ifstream ReadFile; int n=0; string tmp; ...
2020-01-02 16:51:51 14743
原创 c++ pcl绘制SLAM轨迹(3D点)
这段代码主要功能: - 读取保存有pose的文件,文件格式为:timestamp tx ty tz qw qx qy qz; - 第3个参数dataset_i表示测试的第i个数据集的轨迹,代码中,直接将第i个数据集的groundtruth写死了. - PCL绘制轨迹,用红色表示第一个文件中的轨迹,绿色表示第二个文件中的轨迹. #include <ios...
2019-12-30 21:10:53 2477
原创 c++ OpenCV绘制SLAM轨迹(3D点)
下面代码主要功能: - 读取保存有pose的文件,文件格式为:timestamp tx ty tz qw qx qy qz; - 第3个参数dataset_i表示测试的第i个数据集的轨迹,代码中,直接将第i个数据集的groundtruth写死了. - 用红色表示第一个文件中的轨迹,绿色表示第二个文件中的轨迹. 运行指令:./drawTrajectory '...
2019-12-30 21:03:20 3494 3
原创 Eigen初始化及基本操作大全
Eigen常用操作 Eigen3安装: ubuntu如何安装Eigen 1. 常用头文件#include <Eigen/Dense> //包含了下面的Core/Geometry/LU/Cholesky/SVD/QR/Eigenvalues模块#include <Eigen/Core> // 包含Matrix和Array类,基础的线性代...
2019-12-30 11:06:56 32688 2
原创 C++产生各种随机数
c++产生随机数本博客主要内容包括:1. rand()函数;2.std库的default_random_eigine类;3.OpenCV库。 1. rand()函数产生float随机数#include <stdlib.h>srand((unsigned int)time(0));//随机种子,不要写在循环体中int a = rand() % 1...
2019-12-27 15:31:53 1297
原创 GMS特征匹配 原文和代码详细解读GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence
GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence 代码解读 论文原文地址:GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence代码地址:github 1 ...
2019-12-23 19:44:38 5761
原创 opencv和cv::Mat常用属性和函数
这篇文章包括:1. opencv常用头文件及作用2. cv::Mat常见初始化3. cv::Mat常见属性4. cv::Mat常见函数 clone()和copyTo()的区别5.cv::Mat的RGB赋值(改颜色)6.待续 1. opencv常用头文件:1.1 最常用头文件:#include <opencv2/core/core.hpp>#incl...
2019-12-23 10:11:20 4486
原创 C++读写文件常用操作
读写文件常用操作 本博客主要包含以下内容 1. 头文件 #include <fstream> 2. 打开文件//#写文件: 1. ofstream ofile("./outfile.txt",ios::app);2. ofstream ofile2; ofile2.open("./outfile2.txt",ios:...
2019-12-16 15:45:53 348 1
原创 关于camera和odometer的标定
关于camera和odometer的标定 关于相机和轮速计的标定,我之前开源过一个代码,主要参考了两篇论文,下面标定过程有些公式没有细讲,建议大家看看论文.由于各自标定的时候,需要根据自己需要做修改,光看代码又费时又不好理解原理,这里把原理和代码中,自己需要注意的地方说明一下.(自己第一次写博客,写得不好,大家不要笑话...然后有什么问题,大家评论区一起交流学习). 关于标定,我们需要...
2019-12-13 11:06:00 3117 22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人