使用OpenCV进行摄像机校准:使用失真和旋转平移矩阵

时间:2015-06-17 03:02:20

标签: c++ opencv computer-vision robotics

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

我成功地校准了相机,获得了相机矩阵和失真矩阵。

我有两个子问题:

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

Formula to get corrected coordinates

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

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

按顺序回答:

1)“r”是相对于失真中心的像素半径。那就是:

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

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

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