0

我正在构建一个最多使用 12 个摄像头的 3D 跟踪系统。我了解 OpenCV 功能StereoCalibrate可以找到两个相机的相对位置和方向。我需要为 12 台摄像机执行此操作。是否有可以达到预期结果的 OpenCV 函数或可用的源代码?

我正在使用该StereoCalibrate功能并将其简单地应用于成对相机的所有组合。他们是更有效的方法吗?

4

1 回答 1

1

您可能不想成对校准相机。至少在最初,最好相互独立地校准相机位置/姿势,所有这些都相对于场景中的固定参考框架。在你有了这种可行的解决方案后,如果你打算在它们上做立体声,你可以为特定的对改进它。

如果没有关于设置几何结构的更多详细信息,很难给你建议(例如,相机是否都在看一个共同的主题?)。通常来说,一般来说:

  • 首先逐个校准相机的内在参数可能是一个好主意:您可以通过独立于其他相机为每个相机收集校准目标(例如棋盘)的图像来做到这一点,但是在您将它们放置到位并且将光学器件锁定到最终设置。这样,您只需要解决最终相机网络中的外在因素。
  • 您很可能需要使用已知几何形状制造的 3D 目标/装备来校准相对姿势。一种相当常见的类型由一组三个平面环组成,它们以 90 度角相互交叉,上面有棋盘状的标记。
  • 或者,您可以使用单个平面目标,并将其旋转已知角度,例如使用转盘。
  • 您可能需要运行最终的捆绑调整,所有参数一起优化以最终“收紧”解决方案。查找 Google 的“ceres”求解器,寻找一款出色且免费的求解器。
于 2013-09-03T13:10:42.773 回答