自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录:模板实例化时何时需要显示声明?

分析下面c++代码,为什么调用create函数时,只对T制定了具体类型而未声明... Args的类型?C++ 编译器具备 ​。

2025-03-06 23:40:43 221

转载 模板模板参数-恋恋风尘

模板模板参数允许模板接受另一个模板作为参数。

2025-03-06 21:19:29 42

转载 std::async,std::packaged_task和std::promise

在C++中,packaged_task是一个类模板,用于将一个可调用对象(如函数、函数对象或Lambda表达式)封装成一个异步操作,并返回一个std::future对象,表示异步操作的结果。std::async是C++11引入的一个函数模板,用于异步执行一个函数,并返回一个std::future对象,表示异步操作的结果。在一个线程中我们设置了一个promise对象,可以将此对象传入到另一个线程中对其进行操作,最后可以通过get_future()函数在原本线程中获取promise对象的值。

2025-03-04 00:42:21 48

原创 std::mutex、std::unique_lock、std::lock_guard以及std::condition_variable

2.std::unique_lock和std::lock_guard创建 std::lock_guard 对象传入一个互斥锁,在它的生命周期内(就是它所在的大括号内),互斥锁的访问权限将被控制。创建 std::lock_guard 对象也是传入一个互斥锁,也有和上面std::lock_guard同样的功能,除此之外 std::lock_guard 对象还可以通过.unlock()提前释放互斥锁,而 std::lock_guard不可以。

2024-12-12 22:59:05 495

原创 ORBSLAM2 EPNP原理

第一篇写的更清楚。

2024-11-08 23:52:55 267

原创 单目相机尺度不确定和尺度漂移的理解

SLAM,单目尺度相关问题

2024-11-02 16:45:52 421 1

转载 SLAM十四讲 ch12 dense_rgbd段错误核心转储解决方法

SLAM十四讲点云实践中段错误核心转储解决方法_pcl生成点云,两个指向点云的指针相加时报错, 段错误 (核心已转储)-CSDN博客

2024-10-23 15:59:20 53

原创 SLAM14讲滑动窗口边缘化

对于x1而言,它与y1,y2,y3,y4是有联系的,我们通过将第一列的元素乘以某个系数把第一行除x1之外的非0元素化为0,同样的方法把第一列中除x1之外的非0元素化为0,这时x1的路标点的信息并未被删除而是被加到图二中的黑色大正方形中,信息并未丢失。我们可以发现在这个过程原本独立的y1,...,y4被相互关联了起来(在矩阵中y1所在的行的y2,y3,y4列从0值变成了非0)显然这一过程会导致右下角路标点之间的对角块结构被破坏。如果能,就丢弃被边缘化关键帧对这个路标点的观测,从而保持BA的稀疏性。

2024-10-21 13:22:20 425

原创 g2o_viewer (核心已转储)

研究了下FindQGLViewer.cmake即使按照上述链接改还是有很多与qt5相关的链接,后面一查发现自己没用按照qt5相关的库。但是我显示无法定位libqt5-dev不知道是我的问题还是教程给错了?

2024-10-20 22:50:58 354

原创 G2O代码调用步骤

g2o 、SLAM

2024-10-19 17:50:25 364

原创 PCL库编译过程中遇到的问题及解决办法

1.ln -s 作用:2.

2024-10-18 20:17:08 318

原创 c++使用matplotlibcpp

其本质上在C++程序里面调用python代码首先安装依赖之后就是。

2024-10-13 00:04:43 298

原创 SLAM14讲-第七讲ORB(opencv)实现需要注意的点

注意这里opencv默认描述子的特征维度为32位,每个元素是一个无符号8位整数,实际上就是256个二进制元素,即进行256次像素点的比较.是按位或运算符,它对两个操作数进行逐位的逻辑或操作。也就是说,如果对应位上至少有一个。与opencv不同的是作者采用了描述子的特征维度为8位,每个元素是一个无符号32位整数。类型的变量,用于存储特定的对比结果。另外给出作者自己手搓代码的注释版本。注意:d |= 1 << k。: 这是一个复合赋值运算符。的二进制表示,在这里。: 这是一个位运算符。

2024-10-03 20:43:32 333

转载 C++类成员函数以const结尾修饰

C++之const类成员变量,const成员函数 - CTHON - 博客园 (cnblogs.com)

2024-10-02 19:56:18 115

原创 安装g2o时遇到了cmake版本低和gcc版本低的问题记录一下顺便包括切换gcc版本的方法

2.gcc版本低包括如何切换gcc版本的方法。1.cmake版本低。

2024-10-01 21:20:11 958 2

原创 OpenCV-SGBM算法

首先要知道它是用来做什么的:双目立体匹配步骤详解-CSDN博客下面是算法详解:【算法】OpenCV-SGBM算法及源码的简明分析-CSDN博客

2024-09-28 17:36:44 342

转载 vscode调试时如何在控制台输入

visual-studio-code - vscode调试时如何在控制台输入 - SegmentFault 思否

2024-09-27 21:28:48 199

转载 C++动态库和静态库区别

GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用_fpic shared-CSDN博客

2024-09-27 18:55:25 79 1

原创 SLAM14讲遇到的#include <Eigen/Core>出错的问题

上述命令行代码的作用是将/usr/include/eigen3/Eigen映射为/usr/include/Eigen。通过此代码就可以通过#include <Eigen/Core>调用Eigen/Core进而可以使用pangolin库。pangolin库中有如有下代码:#include <Eigen/Core>这是由于 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下。因此我们必须可以通过#include <Eigen/Core>也可以调用Eigen/Core。

2024-09-23 15:56:38 719

转载 VAE推导与宏观概述

迄今为止看过最详细最明白的VAE推导与宏观概述:【学习笔记】生成模型——变分自编码器 (gwylab.com)

2024-09-15 21:28:09 62

原创 ubuntu18.04 运行gazebo 报错[spawn_model-4]

【代码】ubuntu18.04 运行gazebo 报错[spawn_model-4]

2024-09-03 21:58:05 457

原创 urdf文件再rviz中显示异常的问题

比如可以将joint中的origin z设置为0.05 将camera中的origin z设置为0.025这样和joint中的origin z设置为0.075等价。另外joint中的origin 是可以和两个link中的 origin相互转换的以达到相同的效果(不知道这样说对不对)这是由于launch文件中的中文注释所导致的,删去中文注释即可正常显示。

2024-08-26 20:38:47 696

原创 std::bind的使用环境

如果你想要将doSomething作为一个回调函数传递给另一个函数,你必须提供一个指向MyClass实例的指针或引用,以便该函数能够在适当的时候调用它。当声明一个非静态成员函数时,编译器会为这个成员函数隐式地添加一个。指针参数,这个指针指向调用该成员函数的对象实例,当你在某个对象实例上调用。,其中包含一个成员函数。,编译器实际上是在调用。

2024-08-03 10:33:00 226

原创 Vmware断网

尝试了恢复默认设置,设置网关DSN都没有用。最后通过下面博客中第一个方法解决。

2024-08-01 12:40:00 327

原创 ubuntu18.04安装ROS1无法定位软件包

Ubuntu18.04安装ROS

2024-07-31 11:44:25 813

空空如也

空空如也

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

TA关注的人

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