文章目录

  • 3.10 立体重构
  • 3.10.1 立体几何结构
  • 3.10.2 立体匹配


3.10 立体重构

如果我们将摄像机进行标定并且得到摄像机与测量平面之间的位姿关系,就可以使用该平面上的单幅图像进行精确测量。然后我们就可以通过光线与该平面相交来将图像中测量结果转换到世界坐标系中。然而需要注意的是这些测量结果仍然是世界坐标系中某平面上二维测量。

实际上,我们不可能通过单幅图像来重构场景的三维几何信息,因为我们只能得到图像中每单个点的视线,但并不知道这条视线上世界坐标系中相应的三维空间点距离摄像机多远。

进行真正的三维重构我们必须至少使用从不同角度拍摄同样场景的两幅图像。典型情况下,这两幅图像通过两个摄像机在不同位置上同时拍摄得到。这个过程就是立体重构。在这节中,我们将主要分析使用两个摄像机的情况,也就是双目立体视觉。在本节中,我们假设摄像机都已经经过标定,也就是说摄像机的内参以及两个摄像机之间的相对位姿关系都已知。能使用来标定的摄像机进行三维虽重构也可以实现,但这种方法还没有应用到工业应用中。

3.10.1 立体几何结构

在我们开始讨论立体重构之前,我们必须分析两个摄像机的立体几何结构。由于我们假设摄像机已经经过标定,也就是说我们知道摄像机的内参,其中包括两个摄像机的主点、焦距(确切点说是主距,也就是成像平面与投影中心的距离)、像素尺寸和畸变系数。

立体重建算法python实现 立体重构原理_立体匹配

立体重建算法python实现 立体重构原理_立体匹配_02


立体重建算法python实现 立体重构原理_立体几何_03


立体重建算法python实现 立体重构原理_世界坐标系_04

3.10.2 立体匹配

从上节中可以看出,进行立体重构主要的一步就是得到图像中每个点的视差,一般是指第一幅图的所有点。由于需要计算每个点的视差或者至少需要尝试计算每个点的视差,因此这种算法被称为密集型重构算法。

立体重建算法python实现 立体重构原理_立体几何_05