从Matlab立体参数获取Q矩阵

时间:2018-07-11 14:04:57

标签: camera-calibration stereo-3d 3d-reconstruction

我正在使用立体相机进行3d图像重建。我从opencv 3.2和Visual Studio开始。我无法正确地从两个场景正确地注册两个点云。因此,我对通过相机校准过程获得的Q矩阵感到怀疑。因此,我使用matlab校准器应用进行了相机校准。我想根据从matlab获得的校准参数手动创建Q矩阵,然后在opencv中使用它。我从this post发现了如何创建Q矩阵。现在的问题是我不知道该矩阵应使用的焦距。 Matlab在stereoparam 对象中提供校准参数,该对象分别包含两个相机传感器的相机参数。所以我有来自camera1的fx和fy以及来自camera2的fx和fy。那么,如何获得立体相机的单焦距呢?

2 个答案:

答案 0 :(得分:0)

here报道, fx fy 以像素表示。

F ,世界单位的焦距(通常以毫米为单位)可以计算为

F = fx * px F = fy * py

其中 px py 分别是沿x和y的像素大小。

尤其是

px =图像宽度[像素] /图像传感器宽度[mm]

py =图像高度[像素] /图像传感器高度[mm]。

答案 1 :(得分:0)

这是Q矩阵又称重投影矩阵

enter image description here

由于您具有相机的固有矩阵和非固有矩阵,因此只需进行相应填写即可。

请注意,Tx应该以毫米为单位。