自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

「小秋SLAM笔记」

专注SLAM代码实践

  • 博客(52)
  • 资源 (90)
  • 收藏
  • 关注

原创 Tried to advertise a service that is already advertised in this node

// I added a boolean to check if it is already initializedif (image_analyze == CMDTYPE_START){ // use boolean to avoid re-initializing subscriber. if (already_started_ == false){ already_started_ = true; camera_track_sub_ = it_.subscribeCamer

2021-03-31 09:31:49 25

原创 视觉SLAM十四讲|G2O(General Graphic Optimization)|使用详细汇总与雅克比矩阵推导

文章目录g2o源码结构图g2o的线性求解器g2o的块求解器g2o的solver求解器g2o的SparseOptimizer稀疏优化器第六讲g2o_curve_fitting初始化BlockSolver第七讲pose_estimation_3d2d初始化BlockSolver第七讲pose_estimation_3d3d初始化BlockSolverg2o源码中顶点(优化变量)的定义自定义顶点第六讲g2o_curve_fitting自定义顶点第七讲代码 pose_estimation_3d2d.cpp自定义顶点

2021-03-26 16:13:55 56

原创 视觉SLAM十四讲|第九讲代码实践|0.2两帧之间的视觉里程计

总结感觉这是个精简版的ORB_SLAM2,麻雀虽小,五脏俱全,主要还是前后两帧之间用3D-2D求解Rt,跑代码的时候请注意编译文件中我指定第三方库的路径,理解方面要关注主线忽略细节visual_odometry.cpp代码详细注释#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/calib3d/calib3d.hpp>#i.

2021-03-24 22:09:04 138

原创 opencv3|cv::ORB::create()

cv::Ptr<cv::FeatureDetector> detector = cv::ORB::create();detector->detect ( image_1,key_points_cv_orb_fast_1 );cv::Ptr<cv::DescriptorExtractor> descriptor = cv::ORB::create();descriptor->compute ( image_1, key_points_cv_orb_fast_1, d

2021-03-24 14:18:56 34

原创 opencv|遍历像素|待完成

问图中红点的坐标是? (2,1) 还是 (1,2)?答案是(2,1)!为什么? 看清了 我问的是坐标!!那么(2,1) 和 (1,2)究竟有什么不同?(2,1)表示的是红点的坐标,就是红点的 x 坐标是 2, y 坐标是 1。(1,2)表示的是红点的行和列,就是红点的行是1,列是2,也就是红点在第 1 行,第 2 列。这下子我相信大家都明白这两者的区别了吧srcImage.at(j, i)srcImage.at(Point(j, i))opencv灰度图at(i, j)显示不出来–乱码.

2021-03-21 21:32:48 14

原创 C++|STL|vector初始化以及和array的区别

今天看到mvuRight = vector<float>(N,-1);这段代码不理解于是开始百度把它干掉。先来说一下vector声明及初始化vector< int > a; //声明一个int型向量avector< int > a(10); //声明一个初始大小为10的向量vector< int > a(10, 1); //声明一个初始大小为10且初始值都为1的向量 vector< int > b(a);

2021-03-21 10:24:24 21

原创 C++|函数的参数加了const和&有什么作用?

一直被这个const和&所困扰,今天终于忍受不了了,于是开始各种百度。首先说一下 const修饰函数参数按值传递:传给形参的是实参的副本,即使形参在函数体内改变了,实参也不会受到影响。void fun(const int i){ i = 10; // 按值传递,报错: assignment of read-only parameter }void ComputeImageBounds(const cv::Mat &imLeft);再来说一下&不加引用的话,i

2021-03-21 09:59:57 43

原创 float grayscale = float ( gray.ptr<uchar> ( cvRound ( kp.pt.y ) ) [ cvRound ( kp.pt.x ) ] )

一直不理解像素怎么读取以及图形化是什么样子的,今天填坑了!#include <iostream>#include <fstream>#include <list>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.hpp>using namespace cv;using name

2021-03-19 17:22:12 24

原创 No package ‘gstreamer-base-1.0‘ found

sudo apt-get install libgstreamer1.0-dev

2021-03-19 14:37:21 25

原创 pkg-config not finding gtk+-3.0

sudo apt-get install build-essential libgtk-3-dev

2021-03-19 10:15:43 16

原创 深度学习|过拟合

dropout取平均的作用: 先回到正常的模型(没有dropout),我们用相同的训练数据去训练5个不同的神经网络,一般会得到5个不同的结果,此时我们可以采用 “5个结果取均值”或者“多数取胜的投票策略”去决定最终结果。(例如 3个网络判断结果为数字9,那么很有可能真正的结果就是数字9,其它两个网络给出了错误结果)。这种“综合起来取平均”的策略通常可以有效防止过拟合问题。因为不同的网络可能产生不同的过拟合,取平均则有可能让一些“相反的”拟合互相抵消。dropout掉不同的隐藏神经元就类似在训练不同的网

2021-03-18 20:54:51 17

原创 深度学习|目标检测|RCNN|YOLO|SSD

RCNNRCNN算法分为4个步骤候选区域: Selective Search生成1K~2K个候选区域特征提取: CNN网络提取候选区域特征类别判断: SVM分类候选区域位置精修: 回归器修正候选区域框位置

2021-03-18 20:45:44 23 1

原创 opnecv3|角点检测|代码实践

cv::goodFeaturesToTrack() void cv::goodFeaturesToTrack( cv::InputArray image, // 输入图像(CV_8UC1 CV_32FC1) cv::OutputArray corners, // 输出角点vector int maxCorners, // 最大角点数目 double qualityLevel, // 质量水平系数(小于1.0的正数,一般在0.01-0.1之间) double minDistance, /

2021-03-18 16:32:31 17

原创 双目立体矫正|极线校正|

https://blog.csdn.net/wangxiaokun671903/category_2358341.htmlhttps://blog.csdn.net/rs_lys/article/details/83268491https://blog.csdn.net/u013000248/article/details/85325136等待补充代码

2021-03-18 10:47:17 26

原创 opencv3|多通道图像混合

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;using namespace std;bool MultiChannelBlending();int main(){ MultiChannelBlending(); return 0;}// 描述:多通道混合的实现函数bool MultiChannelBlending(){

2021-03-16 22:21:03 13

原创 opencv3|图片叠加

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;using namespace std;bool ROI_AddImage();bool LinearBlending();bool ROI_LinearBlending();int main(){ ROI_AddImage( ); LinearBlending( ); ROI

2021-03-16 21:53:12 23 1

原创 opencv3|指针访问像素

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;void colorReduce(Mat& inputImage, Mat& outputImage, int div);int main( ){ Mat srcImage = imread("../11.jpg"); ..

2021-03-16 14:50:37 22

原创 opencv3|绘制图形

//---------------------------------【头文件、命名空间包含部分】----------------------------// 描述:包含程序所使用的头文件和命名空间//------------------------------------------------------------------------------------------------#include <opencv2/core/core.hpp>#inclu..

2021-03-16 12:00:19 6

原创 opencv|Mat

//---------------------------------【头文件、命名空间包含部分】---------------------------// 描述:包含程序所使用的头文件和命名空间//-----------------------------------------------------------------------------------------------#include "opencv2/core/core.hpp"#include <io.

2021-03-16 11:52:39 8

原创 opencv3|鼠标实时绘制矩形

//---------------------------------【头文件、命名空间包含部分】-----------------------------// 描述:包含程序所使用的头文件和命名空间//-------------------------------------------------------------------------------------------------#include <opencv2/opencv.hpp>using namespace c

2021-03-16 11:44:56 7

原创 opencv3|两张图像叠加控件调整透明度

//---------------------------------【头文件、命名空间包含部分】-------------------------------// 描述:包含程序所使用的头文件和命名空间//-------------------------------------------------------------------------------------------------#include <opencv2/opencv.hpp>#include <o.

2021-03-16 11:07:41 5

原创 opencv3|图像混合

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;int main( ){ //-----------------------------------【二、初级图像混合】-------------------------------------- // 描述:二、初级图像混合 //---------------------.

2021-03-16 10:56:08 7

原创 opencv3|生成透明图像

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间void createAlphaMat(Mat &mat){ for(int i = 0; i < mat.rows; ++i) { for..

2021-03-16 10:36:08 2

原创 opencv3|读取摄像头

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间int main( ){ //【1】读入视频 VideoCapture capture("../1.avi"); //【2】循环显示每一帧 whil

2021-03-16 10:15:17 19

原创 opencv3|播放视频

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间int main( ){ //【1】读入视频 VideoCapture capture("../1.avi"); //【2】循环显示每一帧 whil

2021-03-16 10:11:35 7

原创 opencv|Canny边缘检测

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间int main( ){ // 【1】读入一张图片,载入图像 Mat srcImage = imread("../1.jpg"); // 【2】显示载入..

2021-03-16 10:06:07 16

原创 opnecv|模糊

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间int main( ){ // 【1】读入一张图片,载入图像 Mat srcImage = imread("../1.jpg"); // 【2】显示载入..

2021-03-16 10:00:12 11

原创 opencv|腐蚀操作

#include <opencv2/opencv.hpp> //头文件#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv; //包含cv命名空间int main( ){ // 【1】读入一张图片,载入图像 Mat srcImage = imread("../1.jpg"); // 【2】显示载入的图.

2021-03-16 09:34:49 11

原创 ORB_SLAM2|ORBextractor::DistributeOctTree|特征点均匀化

2021-03-08 17:52:51 65

原创 ORB_SLAM2|void ORBextractor::ComputeKeyPointsOctTree(vector<vector<KeyPoint> >& allKeypoints)

源码详解解读allKeypoints.resize(nlevels)

2021-03-08 13:26:12 29

原创 C++|std::size_t

std::size_t 可以存放下理论上可能存在的对象的最大大小,该对象可以是任何类型,包括数组。大小无法以 std::size_t 表示的类型是非良构的。 (C++14 起)在许多平台上(使用分段寻址的系统除外),std::size_t 可以存放下任何非成员的指针,此时可以视作其与 std::uintptr_t 同义。std::size_t 通常被用于数组索引和循环计数。使用其它类型来进行数组索引操作的程序可能会在某些情况下出错,例如在 64 位系统中使用 unsigned int 进行索引时,如果索引

2021-03-06 17:10:47 81

原创 C++|static静态成员变量用法详解

问题描述对象的内存中包含了成员变量,不同的对象占用不同的内存,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 m_name,那么修改 a.m_name 的值不会影响 b.m_name 的值。可是有时候我们希望在多个对象之间共享数据,对象 a 改变了某份数据后对象 b 可以检测到,共享数据的典型使用场景是计数。解决方案在C++中,使用静态成员变量来实现多个对象共享数据的目标。静态成员变量是一种特殊的成员变量,它被关键字static修

2021-03-06 12:01:56 38

原创 C++|类的前置声明用法

C++ 前置声明问题两个类A、B相互调用,在两个类A和B的头文件中 #include 了所需的头文件,编译报错。为什么呢,A需要B,B需要A,形成了循环,违反了程序的确定性原则。原因在于:class BBB;这种方式仅仅是一种符号声明,告诉编译器存在BBB这个类,不会去确定BBB这个类的所占资源(内存)大小和这个类的实现。解决在AAA.h中定义的是BBB的指针变量或引用变量,而不是普通的BBB变量,这是因为定义指针变量或引用变量,编译器只需给该变量分配4字节(32位程序)内存,而不用管BBB对象

2021-03-06 09:55:18 32

原创 视觉SLAM十四讲从理论到实践|5-opencv|undistort_image.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <opencv2/opencv.hpp>#include <string>using namespace std;int main() { /********************** * 读取相机内参数和畸变系数 *********************/ const string strSettingPath = "../undistort.a-yaml"; // 读取相机

2021-03-03 20:26:36 69 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|orb_extract_feature.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.hpp>int main (){ /************

2021-03-03 20:21:19 35 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|g-extract_feature.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <string>#include <nmmintrin.h>#include <chrono>#include <iostream>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.h

2021-03-03 20:18:26 37 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|f-rename.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <iostream>#include <fstream>#include <string>#include <iomanip>#include <dirent.h>#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/highgu

2021-03-03 20:09:58 22 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|e-opencv.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/opencv.hpp>int main(int argc, char **argv) { cv::Mat

2021-03-03 20:06:46 23 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|d-opencv.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/opencv.hpp>int main(int argc, char **argv) { cv::Ma

2021-03-03 20:05:05 20 1

原创 视觉SLAM十四讲从理论到实践|5-opencv|c-opencv.cpp

文章目录运行结果源码解读编译文件运行结果源码解读#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/opencv.hpp>int main(int argc, char **argv) { cv::Mat

2021-03-03 20:02:22 19 1

SLAM-with-RTAB-Map.pdf

Simultaneous Localization and Mapping (SLAM) with RTAB-Map

2020-05-09

视觉导航送餐机器人使用说明.pdf

视觉导航送餐机器人使用说明.pdf

1970-01-11

双目立体视觉技术.pdf

基于双目立体视觉技术的燃烧诊断方法研究 对于燃烧流场三维信息的获取始终是燃烧诊断学科追求的目标,论文所做的 工作也是出于这个目的。论文将双目立体视觉技术引入燃烧诊断领域,实现了对 非预混冲击火焰表面的三维重建,通过重建可以清晰地看到火焰表面的三维几何 结构。论文还对连续拍摄的图像对进行处理,得到火焰在某一微小时间间隔中的 发展情况的三维重建,这对研究燃烧流场的燃烧状态有很大的帮助。论文搭建了 用于燃烧流场诊断的高速双目立体视觉系统,并开发了相应的软件。 论文对双目立体视觉原理进行了详尽的分析。论文首先对相机的模型进行了 分析,在相机成像的线性模型的基础上,论文考虑了相机镜头的畸变,引入了精 度更高的非线性模型。在建立了单相机模型之后,论文对两个相机之间的关系进 行了分析,给出了系统的模型。 在建立了相机和系统的模型之后,论文对相机和系统进行了标定。论文采用 张正友标定法对两个相机分别进行标定,然后采用重投影法对系统进行标定,并 通过对特征点的三维重构检验了标定精度。实验结果表明,标定精度令人满意。 在图像匹配环节,论文详细介绍了极线校正的原理和方法,之后对图像对进 行了匹配。匹配实验表明,匹配是非常成功的。 论文进行了三维重建实验。论文首先对一个盒子进行了重建,通过重建展现 了利用双目立体视觉技术对物体进行三维重建的流程,并且对重建的精度进行了 检验。然后论文对非预混冲击火焰进行了重建,通过重建可以清晰地看到火焰的 三维空间结构。通过对连续拍摄的图像进行比较,得到火焰在微小时间间隔里面 的发展情况,这对研究燃烧火焰的特性来说是非常重要的。

2020-05-09

Revisiting Boustrophedon Coverage Path Planning as a Generalized Traveling.pdf

Abstract In this paper, we present a path planner for low-altitude terrain coverage in known environments with unmanned rotary-wing micro aerial vehi- cles (MAVs). Airborne systems can assist humanitarian demining by surveying suspected hazardous areas (SHAs) with cameras, ground-penetrating synthetic aperture radar (GPSAR), and metal detectors. Most available coverage plan- ner implementations for MAVs do not consider obstacles and thus cannot be deployed in obstructed environments. We describe an open source framework to perform coverage planning in polygon flight corridors with obstacles. Our planner extends boustrophedon coverage planning by optimizing over different sweep combinations to find the optimal sweep path, and considers obstacles during transition flights between cells. We evaluate the path planner on 320 synthetic maps and show that it is able to solve realistic planning instances fast enough to run in the field. The planner achieves 14 % lower path costs than a conventional coverage planner. We validate the planner on a real platform where we show low-altitude coverage over a sloped terrain with trees.

2020-05-09

CMake Practice.pdf

CMake Practice.pdf

2021-03-15

方向余弦旋转矩阵原理教程.zip

方向余弦和旋转矩阵原理讲解的非常详细的教程,

2020-08-12

Comparison of indoor robot localization techniques in the absence of GPS.pdf

小秋SLAM笔记

2021-02-19

Layered-Costmaps-for-Context-Sensitive-Navigation.pdf

Layered-Costmaps-for-Context-Sensitive-Navigation.pdf

2021-03-15

Fast R-CNN.pdf

Fast R-CNN.pdf

2021-03-15

【合集】180415-Python 标准库及拓展_7幅导图.pdf

【合集】180415-Python 标准库及拓展_7幅导图.pdf

2021-03-15

opencv配置(vs2013)和人脸检测.pdf

opencv配置(vs2013)和人脸检测.pdf

2021-03-15

The matrix cookbook.pdf

The matrix cookbook.pdf

2021-03-15

april_and_checker_50x50cm_A0.pdf

april_and_checker_50x50cm_A0.pdf

2021-03-15

Introduction to visual SLAM.pdf

Introduction to visual SLAM.pdf

2021-03-14

Pose Graphs for Laser-Based SLAM

Pose Graphs for Laser-Based SLAM

2021-03-14

depth filter.pdf

小秋SLAM笔记

2021-02-19

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and M.pdf

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

2020-07-24

视觉导航送餐机器人.pdf

伽利略视觉导航系统是一个融合了多种传感器,以视觉导航为主导的机器人定位和运动控制系统。适用 于室内环境和开阔的室外环境。伽利略系统根据不同的应用场景,有着不同使用方法。本手册介绍在 配送机器人应用场景下的伽利略导航系统的使用方法。 对于送餐机器人使用环境,我们开发了很多实用的功能。 送餐机器人 Android App 送餐机器人自定义语音工具

2020-05-09

A Flexible and Scalable SLAM System with Full 3D Motion Estimation.pdf

该论文是ROS中hector_mapping建图包的论文,发表于2010年但hector_mapping在ROS中只更新到了Kinetic版本。

2020-05-09

Robust Map Optimization using dynamic covariance scaling.pdf

对于SLAM鲁棒性的问题,总结起来大概从以下几个步骤展开。 1.传感器数据的精确度检测。 2.数据关联方法的进一步提高。包括回环检测下的数据关联,动态场景下的数据关联等。 3.系统在应对错误时的机制,包括对错误产生的预判,错误产生后的恢复机制等。 5.对多传感器,异构传感器,异构信息等多方面的数据关联方法的探索。 6.参数的自动调整能力。

2020-05-09

icra16_slam_tutorial_tardos.pdf

小秋SLAM笔记

2021-02-23

icra16_slam_tutorial_stachniss.pdf

小秋SLAM笔记

2021-02-23

hertzberg_thesis_talk_08.pdf

小秋SLAM笔记

2021-02-23

icra16_slam_tutorial_burgard.pdf

小秋SLAM笔记

2021-02-23

icra16_slam_tutorial_grisetti.pdf

小秋SLAM笔记

2021-02-23

icra16_slam_tutorial_kaess.pdf

小秋SLAM笔记

2021-02-23

Hartley_R_Sturm_P.Triangulation 三角测量方法 .pdf

小秋SLAM笔记

2021-02-23

Hector_SLAM_USAR_Kohlbrecher_RRSS_Graz_2012.pdf

小秋SLAM笔记

2021-02-23

FLIRT - Interest regions for 2D range data.pdf

FLIRT - Interest regions for 2D range data.pdf

2021-02-23

Furgale_RepresentingRobotPose.pdf

Furgale_RepresentingRobotPose.pdf

2021-02-23

Gaussian Process VO Guizlini_ICRA12_.pdf

小秋SLAM笔记

2021-02-23

graph-based SLAM.pdf

小秋SLAM笔记

2021-02-23

group mapping-A Topological Approach to Map Merging for Multiple Robots.pdf

小秋SLAM笔记

2021-02-23

gx-The Basics about SLAM.pptx

小秋SLAM笔记

2021-02-23

Feature Detection for Vehicle Localization in Urban Environments Using a

小秋SLAM笔记

2021-02-19

Feminine Side Purchase Order 1983 to Twinswin.com.pdf

小秋SLAM笔记

2021-02-19

fisher1996.pdf

小秋SLAM笔记

2021-02-19

Fast RGBD-ICP with bionic vision depth perception model.pdf

小秋SLAM笔记

2021-02-19

Fast Keypoint Features from Laser Scanner for .pdf

小秋SLAM笔记

2021-02-19

Extending obstacle avoidance methods through multiple parameter-space

小秋SLAM笔记

2021-02-19

空空如也

空空如也

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

TA关注的人 TA的粉丝

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