相机的外部矩阵

问题描述

我正在尝试使用MATLAB的相机校准器来校准红外相机。通过将大约100张图像输入到校准器,我能够获得固有矩阵。但是我在努力获取外在矩阵[R | t]。

因为外部矩阵用于用摄像机框架映射世界框架,所以从理论上讲,当摄像机(对象)移动时,将会有很多外部矩阵。

在下面的图片中,如果使用50张图像确定本征矩阵,则每个图像对应50个本征矩阵。我说得对吗?

the calibration session

解决方法

您是对的。通常,内在校准的副产品是观察到的每种模式的外在矩阵。如您发布的图片所示,这通常用于相对于相机绘制图案。

此后通常要做的是定义一些对您的应用程序有意义的外部参考框架(也称为“世界”参考框架),并相对于它计算摄像机的姿态。那就是您经常听到的 外在矩阵。

为此,您:

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