使用 OpenCV 进行相机校准:使用失真和平移矩阵

Camera Calibration with OpenCV: Using the distortion and rotation-translation matrix

我正在阅读以下文档:http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html

我已经成功地校准了相机,获得了相机矩阵和畸变矩阵。

我有两个子问题:

1) 我不知道如何使用失真矩阵'r'?

2) 对于所有视图,我有旋转和平移向量,它们将对象点(在模型坐标 space 中给出)转换为图像点(在世界坐标 space 中给出) ).所以每张图片共有 6 个坐标(3 个旋转坐标,3 个平移坐标)。我如何利用这些信息来获得旋转平移矩阵?

如有任何帮助,我们将不胜感激。谢谢!

回答顺序:

1) "r" 是像素相对于畸变中心的半径。即:

r = sqrt((x - x_c)^2 + (y - y_c)^2)

其中 (x_c, y_c) 是非线性失真的中心(即图像中具有零非线性失真的点。这通常(并且近似地)与主体标识点,即相机焦轴与像平面的交点。主点坐标在相机内参数矩阵的第3列。

2) 使用Rodrigues's formula在旋转向量和旋转矩阵之间进行转换。