- 博客(29)
- 收藏
- 关注
原创 C++ unordered_multimap用法总结
是 C++ 标准模板库中的一种无序关联容器,它允许存储相同键的多个副本,并提供高效的插入、查找和删除操作。以下是。
2024-01-08 21:30:20
720
原创 C++ unordered_multiset用法总结
是 C++ 标准模板库中的一种无序容器,它允许存储相同键的多个副本,并提供高效的插入、查找和删除操作。以下是。
2024-01-08 21:27:28
597
原创 C++ priority_queue用法总结
如果元素类型不支持操作符,或者你希望使用自定义的比较规则,可以通过提供比较函数来初始化。这样创建的是最小堆,元素按照升序排序。
2024-01-07 16:35:09
1118
原创 C++ stack用法总结
std::stack是 C++ 标准模板库(STL)中的容器适配器,它提供了栈(stack)的功能,基于其他序列容器实现。以下是std::stack。
2024-01-07 16:31:46
1172
原创 C++ unordered_map用法总结
是 C++ 标准库中的一个哈希表实现的关联容器,用于存储键-值对,提供了快速的查找、插入和删除操作。以下是。
2024-01-06 17:19:59
727
原创 IMU预计分公式
在SLAM(Simultaneous Localization and Mapping)中,IMU(Inertial Measurement Unit,惯性测量单元)常用于提供关于移动体(例如机器人或车辆)的加速度和角速度信息,这对于估计运动过程中的位姿变化非常重要。在SLAM中,IMU的数据可以与其他传感器数据(如视觉或激光雷达)一起使用,以更准确地估计系统的运动。IMU预计分(IMU预积分)是一种方法,它对IMU的测量进行积分,以估计系统的位姿和速度。
2024-01-05 16:36:02
481
原创 SVD如何分解矩阵?
奇异值分解(Singular Value Decomposition,简称SVD)是一种将矩阵分解为三个矩阵乘积的方法,其用途广泛,包括矩阵压缩、降维、最小二乘问题等。下面我将详细解释SVD分解矩阵 A的过程,并提供一个简单的例子。奇异值矩阵是一个对角矩阵,其对角线上的元素是特征值的平方根。将 U的列设置为 A的特征向量,归一化每一列。的特征向量单位化后的形式。的特征向量单位化后的形式。现在,让我们看一个简单的例子。的特征向量的单位化形式,我们可以得到。的特征向量的单位化形式,我们可以得到。
2024-01-05 09:52:09
1189
原创 vim常用命令总结
以上只是 Vim 的一小部分命令,Vim 具有非常丰富的功能和命令,笔者将在后续使用中不断完善。Vim 是一款强大的文本编辑器,具有很多功能和命令。
2024-01-04 22:42:17
604
原创 conda常用命令总结
Conda 是一个用于管理 Python 环境和软件包的开源包管理系统和环境管理系统。创建一个指定 Python 版本的新环境。将当前环境导出为 YAML 文件。在当前激活的环境中安装指定包。列出当前环境中已安装的所有包。根据 YAML 文件创建环境。查看 Conda 的帮助信息。从当前环境中移除指定包。更新指定包到最新版本。列出所有存在的环境。搜索可用于安装的包。
2024-01-04 22:16:41
647
原创 如何从单应矩阵H中分解旋转矩阵R和平移向量t?
在计算机视觉中,单应矩阵通常用于图像配准和相机标定等任务。下面是使用SVD分解单应矩阵来求解旋转矩阵(R)和平移向量(t)的简要推导过程。单应矩阵H可以分解为旋转矩阵R和平移向量t。是一个3x3的矩阵。我们取N的最后一列是因为SVD中,对角矩阵。的对角元素按从大到小的顺序排列,而我们想要取尺度因子。这就完成了通过SVD分解单应矩阵求解旋转矩阵。是一个3x3的上三角矩阵。通过SVD,我们可以将矩阵。
2024-01-04 15:12:22
1706
原创 如何从本质矩阵E中分解旋转矩阵R和平移向量t?
这四组解分别对应于相机在两个可能的姿态下。在实际应用中,我们需要选择正确的解,这通常需要使用额外的信息,例如深度一致性(将点投影到图像上并确保它们的深度信息一致)来解决。因此,详细解释如何选择正确的解需要考虑具体的问题和应用场景。在计算机视觉和相机几何中,Essential Matrix(本质矩阵)与相机运动之间存在特殊的关系。通过对Essential Matrix进行奇异值分解(SVD),可以提取出相机的旋转矩阵。接着,通过以下公式可以提取出旋转矩阵。
2024-01-04 14:39:00
1652
原创 terminator快捷键总结
Ctrl + Alt + Shift + Right/Left/Up/Down:将当前窗格移动到相邻的位置。Ctrl + Shift + Left/Right:切换到左/右侧的标签页。Ctrl + Alt + Right/Left:将焦点移动到右/左侧的窗格。Ctrl + Shift + Up/Down:切换到上/下侧的标签页。Ctrl + Alt + Up/Down:将焦点移动到上/下侧的窗格。Ctrl + Shift + W:关闭当前标签页。Ctrl + Shift + Q:关闭其他标签页。
2024-01-01 17:49:20
683
原创 Ubuntu终端常用快捷键总结
基本导航快捷键:Ctrl + A:将光标移到行首Ctrl + E:将光标移到行尾Ctrl + U:删除光标前的所有字符Ctrl + K:删除光标后的所有字符Ctrl + L:清屏(相当于执行 clear 命令)编辑命令行:Ctrl + W:删除光标前的一个单词Ctrl + Y:粘贴之前使用 Ctrl + U 或 Ctrl + K 删除的文本Ctrl + _:撤销上一步的操作历史命令:Ctrl + R:逆向搜索历史命令Ctrl + G:退出历史命令搜索模式Ctrl + P(或上箭头
2024-01-01 17:24:07
888
原创 Git与Github管理代码简要教程
下面是在Ubuntu上使用Git和Github管理代码的简要教程,更详细的用法自行查阅Git和GitHub的官方文档。
2023-12-30 11:19:37
418
原创 C++关键字之const用法总结
(1)声明常量变量:使用 const 声明的变量需要在声明时就赋值,且在其生命周期内不能被修改。指向常量的指针(指针不能修改所指向的值):常量指针(指针本身不能被修改,但可以修改所指向的值):指向常量的常量指针(指针本身和所指向的值都不能被修改):(3)函数参数和 const:使用 const 修饰函数参数可以确保参数在函数体内不被修改,从而提高代码的可读性和安全性。// ...(4)const 成员函数:在成员函数声明后面添加 const 关键字,表示该成员函数不会修改类的任何数据成员。
2023-10-27 11:41:25
54
原创 《自动驾驶与机器人中的SLAM技术》之三维空间点云直线拟合
高博的新作《自动驾驶与机器人中的SLAM技术》中提出了一个点云直线拟合的问题,其中的直线方程以及最小二乘目标函数的引出有点突兀(P185-186),这里记录一下理解过程。
2023-10-25 22:36:09
228
1
原创 C++ override关键字
使用override关键字可以有效防止一些常见的错误,如函数名拼写错误、参数类型错误等,增加了程序的可读性和可维护性。
2023-08-25 20:22:46
410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人