《视觉SLAM十四讲 第二版》笔记及课后习题(第五讲)

本文详细介绍了相机模型,包括针孔相机模型和双目相机的工作原理,探讨了畸变校正、相机内参的物理意义以及特殊相机如鱼眼和全景相机的标定方法。此外,还涵盖了全局快门和卷帘快门的区别,以及RGB-D相机的标定过程。实践中,通过OpenCV进行图像处理,包括安装、图像遍历和去畸变等操作,同时对课后习题进行了思考和解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读书笔记:相机与图像

相机模型

相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程能够用一个几何模型进行描述。这个模型有很多种,其中最简单的称为针孔模型。针孔模型是很常用,而且有效的模型,它描述了一束光线通过针孔之后,在针孔背面投影成像的关系。在本书中我们用一个简单的针孔相机模型来对这种映射关系进行建模。同时,由于相机镜头上的透镜的存在,会使得光线投影到成像平面的过程中会产生畸变。因此,我们使用针孔和畸变两个模型来描述整个投影过程。

针孔相机模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该式中,我们把中间的量组成的矩阵称为相机的内参数矩阵(Camera Intrinsics)K.
同一直线上的投影点仍是同一个
在这里插入图片描述投影顺序:世界——相机——归一化平面——像素:(激光数据的观测模型更加简单)

在这里插入图片描述
畸变:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,我们小结一下单目相机的成像过程:
在这里插入图片描述

双目相机

针孔相机模型描述了单个相机的成像模型。然而,仅根据一个像素,我们是无法确定这个空间点的具体位置的。这是因为,从相机光心到归一化平面连线上的所有点,都可以投影至该像素上。只有当P 的深度确定时(比如通过双目或RGB-D 相机),我们才能确切地知道它的空间位置。
测量像素距离(或深度)的方式有很多种,像人眼就可以根据左右眼看到的景物差异(或称视差)来判断物体与我们的距离。双目相机的原理亦是如此。通过同步采集左右相机的图像,计算图像间视差,来估计每一个像素的深度。下面我们简单讲讲双目相机的成像原理(图5-6 )。
在这里插入图片描述
在这里插入图片描述
RGB-D相机:物理手段测量深度

  • ToF或结构光两种主要原理
  • 通常能得到与RGB图对应的深度图
    在这里插入图片描述

实践部分

注意:先别安装4,后面会讲原因。
本章需要安装OpenCV,书上推荐的是OpenCV3系列。但是第 8

### 关于《视觉SLAM十四第二中的Eigen相关内容 在《视觉SLAM十四第二中,虽然主要讨论的是SLAM系统的理论基础和技术实现[^3],但Eigen库作为线性代数运算的重要工具,在多个章节都有提及和应用。 #### Eigen简介及其重要性 Eigen是一个高效的C++模板库,用于矩阵和向量操作。对于SLAM系统而言,Eigen提供了必要的数学支持来处理各种几何变换、优化问题等。由于其高效性和易用性,Eigen成为许多计算机视觉和机器人项目不可或缺的一部分[^5]。 #### 安装与配置 当涉及到具体安装时,建议按照官方文档或可靠教程来进行设置。需要注意的是,在遇到编译错误时不应急于重新安装整个环境;很多时候可能是某些细节上的疏忽所致。例如,有经验表明,初次尝试失败后不必轻易放弃当前本的Pangolin或其他依赖项,而应仔细排查其他可能的原因。 #### 应用实例 在实际编程实践中,Eigen被广泛应用于表示三维空间内的点云数据结构以及执行诸如旋转和平移之类的刚体运动学计算。下面给出一段简单的代码片段展示如何利用Eigen定义并操作齐次坐标系下的平移矩阵: ```cpp #include <iostream> #include <Eigen/Dense> using namespace std; using namespace Eigen; int main() { Vector3d t(0.7, 0.2, 1.5); // 平移向量 Matrix4d T = Matrix4d::Identity(); // 初始化单位矩阵 // 设置最后三列对应平移分量 T.block<3, 1>(0, 3) = t; cout << "Translation matrix:\n" << T << endl; return 0; } ``` 这段程序创建了一个基于输入参数`Vector3d t`构建出来的四维仿射变换矩阵`T`,其中包含了指定方向上移动的信息。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值