相机外部矩阵
Camera's extrinsic matrix
我正在尝试使用 MATLAB 的相机校准器来校准红外相机。我只需向校准器提供大约 100 张图像就可以获得内在矩阵。但是我正在为如何获得外部矩阵 [R|t] 而苦苦挣扎。
因为外部矩阵是用来将世界坐标系与相机坐标系进行映射的,所以理论上,当相机(物体)在移动时,会有很多外部矩阵。
在下图中,如果使用50张图像确定内在矩阵,则每张图像对应50个外在矩阵。我说得对吗?
你是对的。通常,内在校准的 by-product 是观察到的每个模式的外在矩阵;这主要用于绘制关于相机的图案,如您发布的图片中所示。
之后您通常要做的是定义一些对您的应用程序有意义的外部参考系,也称为 'world' 参考系,并计算相机相对于它的位姿。这就是您经常听说的 外部矩阵。
为此,您:
- 定义参考系并在其上取一些已知3D坐标的点;例如,这可以是在地板上绘制的网格。
- 用校准后的相机拍摄 3D 点的照片,并得到对应的点的 2D(图像)坐标列表。
- 使用姿态估计函数,该函数采用:相机内在参数、3D 点和相应的 2D 图像点。我对 OpenCV 更熟悉,但似乎可以完成这项工作的 Matlab 函数是:https://www.mathworks.com/help/vision/ref/estimateworldcamerapose.html
我正在尝试使用 MATLAB 的相机校准器来校准红外相机。我只需向校准器提供大约 100 张图像就可以获得内在矩阵。但是我正在为如何获得外部矩阵 [R|t] 而苦苦挣扎。
因为外部矩阵是用来将世界坐标系与相机坐标系进行映射的,所以理论上,当相机(物体)在移动时,会有很多外部矩阵。
在下图中,如果使用50张图像确定内在矩阵,则每张图像对应50个外在矩阵。我说得对吗?
你是对的。通常,内在校准的 by-product 是观察到的每个模式的外在矩阵;这主要用于绘制关于相机的图案,如您发布的图片中所示。
之后您通常要做的是定义一些对您的应用程序有意义的外部参考系,也称为 'world' 参考系,并计算相机相对于它的位姿。这就是您经常听说的 外部矩阵。
为此,您:
- 定义参考系并在其上取一些已知3D坐标的点;例如,这可以是在地板上绘制的网格。
- 用校准后的相机拍摄 3D 点的照片,并得到对应的点的 2D(图像)坐标列表。
- 使用姿态估计函数,该函数采用:相机内在参数、3D 点和相应的 2D 图像点。我对 OpenCV 更熟悉,但似乎可以完成这项工作的 Matlab 函数是:https://www.mathworks.com/help/vision/ref/estimateworldcamerapose.html