首页 > 解决方案 > 相机的外在矩阵

问题描述

我正在尝试使用 MATLAB 的相机校准器来校准红外相机。我只需将大约 100 张图像输入校准器即可获得内在矩阵。但我正在努力解决如何获得外在矩阵 [R|t]。

因为外在矩阵是用来映射世界坐标系和相机坐标系的,所以理论上来说,当相机(物体)在移动的时候,会有很多外在矩阵。

在下图中,如果使用 50 张图像确定内矩阵,那么每张图像对应的外矩阵有 50 个。我对么?

校准会议

标签: cameracamera-calibrationextrinsic-parameters

解决方案


你说的对。通常,内在校准的副产品是观察到的每个模式的外在矩阵。这主要用于绘制与您发布的图片中的相机相关的图案。

之后您通常会定义一些对您的应用程序有意义的外部参考系,也称为“世界”参考系,并计算相机相对于它的位姿。这就是你经常听到的外在矩阵。

为此,您:

  • 定义参考框架并在其上取一些具有已知 3D 坐标的点;例如,这可以是在地板上绘制的网格。
  • 使用校准后的相机拍摄 3D 点的照片,并获取点对应的 2D(图像)坐标列表。
  • 使用姿势估计函数,该函数采用:相机内在参数、3D 点和对应的 2D 图像点。我对 OpenCV 比较熟悉,但似乎可以完成这项工作的 Matlab 函数是:https ://www.mathworks.com/help/vision/ref/estimateworldcamerapose.html

推荐阅读