自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++类型别名与自动推导

例如在图片中,定义了一个int* 类型的别名IntPtr如果实际调用中使用了 const 关键字 来使用类型别名,等价于定义了一个 int* const ptr 的数据。此时的指针是一个只读的类型。修改指针指向的地址,则会报错。

2025-09-02 14:01:12 680

原创 C++域与对象的生命周期

本文介绍了程序中的域概念和对象生命周期。域分为全局域和块域,域之间可以嵌套,内层域会隐藏外层域的同名变量。全局对象的生命周期贯穿整个程序运行,局部对象的生命周期从初始化开始到所在域结束为止。通过多个代码示例展示了不同作用域中变量的可见性和生命周期变化,解释了块域结束时局部变量被销毁的原理。文章强调理解域和生命周期对避免变量冲突和内存管理的重要性。

2025-09-01 11:37:24 329

原创 复合类型-指针与引用

1 指针指针代表了一种间接的关系。例如,构造一个int变量,系统会创建一个空间,存储一个int类型的变量val,并且在这个内存空间(0x1234)中将42存进去。如果定义了一个指针变量*p, 并且初始化为val的地址。则在内存空间中存储了val这个变量的首地址。指针定义与解引用之后,实际建立了一个内存到内存之间的关联。在0x5678这个内存空间中存储了0x1234这个地址。1.2 指针的特点可以指向不同的地方特点2 指针的尺寸是相同的。

2025-04-27 20:05:25 1546

原创 C++对象与基础类型与变量

类型是一个编译器的概念,在可执行文件中并不存在。引入类型的概念就是为了方便程序在编译过程中进行区分,更好的去描述程序,防止误用。类型在代码中具体描述了以下四种信息:第一,存储该数据需要的空间,例如int类型是堆区移动4个空间。这个图片中,定义了三个int类型的参数,但是实际的汇编代码中并没有类型相关的描述,实际操作的是堆区的空间,通过移动指针+4的方式实现了将数据赋值过程。第二,取值空间。例如,一个char类型的数据,占用1个byte的空间 -> 8个bit 最大存储空间是 2^8 = 256。

2025-04-21 20:08:45 284

原创 NDT算法之旅

体素可以理解成3D的像素,每一个体素有固定的大小和离散的坐标。体素也可以理解成一个三维固定分辨率的栅格地图。2 体素在代码中如何生成。

2025-04-06 16:26:11 195

原创 C++代码中三种不用的循环方法比较

语法和可读性:范围for循环最简洁;传统for循环需要管理索引;std::for_each适用于函数式编程风格。适用容器:传统for循环对随机访问容器更高效;范围for和std::for_each对任何容器都适用,特别是非随机访问的。执行策略:std::for_each可以使用并行执行策略,提升性能,但例子中是顺序的。性能因素:在大多数情况下,三者性能接近,尤其是在编译器优化后。但在特定容器或执行策略下会有差异。

2025-03-27 10:42:14 614

原创 PCL库函数实现相对位姿估计,轻松解决3D视觉难题!

首先,需要使用PCL库中的PointCloud类加载点云数据。通过调用PointCloud类中的load函数,可以把点云数据加载到内存中。例如:pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);pcl::io::loadPCDFile(“pointcloud.pcd”, *cloud);在点云数据中提取特征点是相对位姿估计的第一步。PCL库中的各种滤波器和特征提取算法可以帮助我们实现这一步骤。例如使用SIFT

2023-08-08 10:07:32 743

原创 轮式里程计的标定

轮式里程计标定

2023-02-06 16:49:42 795

原创 如何理解旋转矩阵怎么来的

如何理解旋转矩阵的构成

2023-02-02 18:11:05 126

原创 Lego_Loam--源码分析

0 整体框架分析翻看 LEGO-Loam 的代码目录,首先进入到launch 文件中,看到: <!--- LeGO-LOAM --> <node pkg="lego_loam" type="imageProjection" name="imageProjection" output="screen"/> <node pkg="lego_loam" type="featureAssociation" name="featureAssoci

2022-03-29 22:21:38 6485 3

原创 高翔--视觉SLAM 14讲 --3.6.2实际坐标变换的例子

实际坐标变换的例子生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1 分析根据作者题目给的已知数据分析有四元素 q1 q2平移向量 t1 t2相机坐标系下观测的点 PR1求:相机坐标系下的观测点PR2由刚体运动 坐标系变换之间相差一个 欧式变换矩阵可以知道:PR1 = T1 * Pw T1 是世界坐标系

2022-03-27 14:21:20 590

原创 S5PV210Uboot 启动过程--start.s

S5PV210Uboot 启动过程–start.s1 关看门狗1.1为什么关看门狗?由于在系统的启动过程中没有及时喂狗导致CPU复位,所以在启动代码的一开始就将看门狗关掉。1.2怎么关?找到看门狗控制寄存器WTCON,然后赋值即可。ldr r0, = OXE2700000 // 将WTCON的地址给到r0这个寄存器ldr r1, =0x0 // 将0这个值给到R1这个寄存器str r1, [r0] // 将r1 里面的内容加载到R0存储的地址所在

2021-04-01 11:01:33 207

空空如也

空空如也

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

TA关注的人

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