多相机标定

介绍

本文对多相机标定的问题、解决方案和应用进行了深入的说明。

为了更好地描述真正的问题,让我们先简单地看一下应用情况。 Zivid 相机只能看到物体的一侧,就像任何其它相机或人眼一样,没有 X 射线般的穿透。如果我们想从后面看到一个物体,我们必须旋转该物体或将相机移动到物体后面。因此,如果要获得对象所有面上的点云,我们需要从各个方向进行捕获。

现在来到问题环节。当Zivid SDK返回点云时,其坐标系的原点位于相机内部。如果您从多个位置捕获场景,您将得到参考坐标系相对于世界坐标系的位姿都不同的多个点云。那么,您如何可视化结果,或以任何方式对其进行处理呢?

总而言之:

问题

从相对于对象的不同位置获取的点云不是相对于同一世界坐标系给出的。

解决方案

  1. 标定相机彼此之间的位姿,并提供变换矩阵。

  2. 使用变换矩阵将多个点云转换到一个公用的参考坐标系。

本文着重于标定的实际问题。标定是由Zivid SDK执行的,并且有一个单独的教程 Multi-camera calibration programming tutorialMulti-camera calibration samples 进行相关说明。如需了解有关此类标定的理论知识的更多信息,请参阅 多相机标定的理论

延伸阅读

有关该主题的详细说明,请阅读以下页面:

版本历史

SDK

变更

2.12.0

Zivid One+ 已达到其生命周期的终点并且不再受支持。

2.6.0

提高了棋盘格检测的鲁棒性 光晕 - 点云中的亮点

2.4.0

添加了对Zivid 2相机的支持。

2.3.0

提高了棋盘格检测的鲁棒性。

2.2.0

增加了对新的Zivid官方标定板系列产品的支持,其中第一个是 ZVD-CB01 (7x8 30 mm)

2.0.0

多相机标定API已更改,属于”标定”命名空间。

1.6.0

为Zivid One+相机添加了多相机标定API。