跳转至

图像转点云

Image to Point Cloud

输入输出数据

  • 输入数据:
  • 深度图 depth :depth[u, v] 表示像素点 (u,v) 对应的场景中的三维点的 z 值。
  • 相机内参矩阵 intrinsics
  • 相机外参矩阵/相机位姿 extrinsics(可选)

  • 输出数据:

  • 点云 point cloud:(x, y, z) 表示点在相机或世界坐标系下的三维坐标。

相机内参矩阵

相机内参(intrinsics)是指相机的光学参数,包括焦距、像素大小、主点等。它们决定了图像在相机成像过程中的投影关系和畸变情况。相机内参通常通过标定获取,可以用于校正图像畸变和计算三维空间中的物体位置。

我们可以 利用相机内参矩阵和深度图将点由 屏幕坐标系 转换到 相机坐标系 。具体推导如下。

由上一节,我们知道 相机坐标系 中的点 P 投影到 胶片坐标系,再转换到 屏幕坐标系 共经历了两次矩阵变换:

(xy1)=1z(f000f0001)(xyz),(uv1)=(α0tx0βty001)(xy1)

合并两次矩阵变换,可以得到相机坐标系与屏幕坐标系的转换关系:

(uv1)=(α0tx0βty001)1z(f000f0001)(xyz)(uv1)=1z(αf0tx0βfty001)(xyz)z(uv1)=K(xyz)

上式中的 K 即为相机内参矩阵。因此, 在已知深度图时,可以通过下式得到相机坐标系下的点云

(xyz)=K1(uv1)z\textcolorblue(xyz)=K1(uv1)depthu,v

相机外参矩阵

相机外参(extrinsics)是指相机在世界坐标系下的位置和姿态,通常包括相机的平移向量和旋转矩阵。它们描述了相机拍摄图像时相对于物体的位置和方向关系。相机外参可以通过计算机视觉中的标定方法获取,或者通过传感器的数据融合进行估计。

我们可以 利用相机外参矩阵将点由 相机坐标系 转换到 世界坐标系 。相机的位姿由旋转矩阵 R 和 平移向量 t 来描述,有

camera pose=(R|t)\textcolorblue(xwywzw)=R(xyz)+t