激光雷达点云投影到图像平面

将激光雷达点云投影到图像平面涉及几何变换和相机模型的应用。以下是该过程的基本原理:

1. 坐标系转换

激光雷达生成的点云通常位于激光雷达的坐标系中,而图像则在相机坐标系中。为了将点云投影到图像上,首先需要将点云从激光雷达坐标系转换到相机坐标系。

假设激光雷达坐标系中的一个点表示为

X lidar , Y lidar , Z lidar \] \[X_{\\text{lidar}}, Y_{\\text{lidar}}, Z_{\\text{lidar}}\] \[Xlidar,Ylidar,Zlidar

,我们使用一个外参矩阵 (T)(通常是一个4x4的齐次变换矩阵),将其转换到相机坐标系:

X cam Y cam Z cam 1 \] = T ⋅ \[ X lidar Y lidar Z lidar 1 \] \\begin{bmatrix} X_{\\text{cam}} \\\\ Y_{\\text{cam}} \\\\ Z_{\\text{cam}} \\\\ 1 \\end{bmatrix} =T \\cdot \\begin{bmatrix} X_{\\text{lidar}} \\\\ Y_{\\text{lidar}} \\\\ Z_{\\text{lidar}} \\\\ 1 \\end{bmatrix} XcamYcamZcam1 =T⋅ XlidarYlidarZlidar1 其中,(T) 包含了旋转和平移的信息。 #### 2. 相机投影模型 在得到相机坐标系下的点云坐标 \[ X cam , Y cam , Z cam \] \[X_{\\text{cam}}, Y_{\\text{cam}}, Z_{\\text{cam}}\] \[Xcam,Ycam,Zcam\]后,下一步是将这些三维坐标投影到二维图像平面。相机投影通常使用[针孔相机模型](https://blog.csdn.net/walking_roll/article/details/119571511),其基本公式如下: \[ u v \] = 1 Z cam \[ f x 0 c x 0 f y c y \] ⋅ \[ X cam Y cam Z cam \] \\begin{bmatrix} u \\\\ v \\end{bmatrix} =\\frac{1}{Z_{\\text{cam}}} \\begin{bmatrix} f_x \& 0 \& c_x \\\\ 0 \& f_y \& c_y \\end{bmatrix} \\cdot \\begin{bmatrix} X_{\\text{cam}} \\\\ Y_{\\text{cam}} \\\\ Z_{\\text{cam}} \\end{bmatrix} \[uv\]=Zcam1\[fx00fycxcy\]⋅ XcamYcamZcam 其中: * (u) 和 (v) 是图像平面上的像素坐标。 * (f_x) 和 (f_y) 是相机的焦距(在像素单位下)。 * (c_x) 和 (c_y) 是图像中心的坐标(主点)。 ![相机针孔模型](https://i-blog.csdnimg.cn/direct/b472e14588d74a1880d84cc3d2ae6963.png) #### 3. 应用畸变校正(如果有) 相机镜头的畸变会导致投影后的点出现偏差,因此通常会应用畸变校正。常见的畸变包括径向畸变和切向畸变,可以通过预先计算的畸变系数来校正。 #### 4. 点云到图像的映射 通过上述步骤,每个激光雷达点都可以在图像平面上找到一个对应的像素坐标 ((u, v))。这些像素坐标表示激光雷达点在图像中的投影位置。 在相机模型中, ( c_x ) 和 ( c_y ) 通常表示图像平面上的主点(principal point)的坐标。主点是相机光学中心在图像平面上的投影点,它通常接近图像的几何中心,但在实际相机中可能会有一些偏移。 #### 详细解释: * **主点 ( c_x, c_y )**:这是图像平面上光轴与平面的交点的坐标,也称为光学中心。它通常由相机的内参矩阵(Intrinsic Matrix)中的两个参数表示。 * **相机内参矩阵** :在相机标定过程中,我们可以得到一个 3x3 的内参矩阵,它的形式如下: K = ( f x 0 c x 0 f y c y 0 0 1 ) K = \\begin{pmatrix} f_x \& 0 \& c_x \\\\ 0 \& f_y \& c_y \\\\ 0 \& 0 \& 1 \\end{pmatrix} K= fx000fy0cxcy1 其中: * f_x, f_y 是相机在 x 和 y 方向的焦距,通常与相机的焦距和像素大小相关。 * c_x, c_y 是主点的坐标。

相关推荐
电鱼智能的电小鱼4 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
二狗哈1 天前
制作一款打飞机游戏19:碰撞检测
数码相机·游戏
电鱼智能的电小鱼1 天前
SAIL-RK3588协作机器人运动控制器技术方案
linux·嵌入式硬件·数码相机·机器人·无人机·边缘计算
中达瑞和-高光谱·多光谱1 天前
高光谱相机在工业检测中的应用:LED屏检、PCB板缺陷检测
数码相机
labview_自动化1 天前
焊接机排错
数码相机
中达瑞和-高光谱·多光谱1 天前
高光谱相机在生物医学中的应用:病理分析、智慧中医与成分分析
数码相机
THe CHallEnge of THe BrAve1 天前
面阵相机中M12镜头和远心镜头的区别及性能优势
图像处理·数码相机·计算机视觉·视觉检测
敢敢のwings1 天前
相机雷达外参标定算法调研
数码相机·算法
海鸥-w2 天前
Unity中使用Cinemachine插件创建自由视角相机(freelookCamera)来实现第三人称漫游
数码相机·unity·游戏引擎
徐凤年_2 天前
配置Intel Realsense D405驱动与ROS包
数码相机·ubuntu