【问题标题】:obtaining Q matrix from matlab stereoparams从matlab stereoparams获取Q矩阵
【发布时间】:2018-12-19 14:51:26
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    据报道herefxfy 以像素表示。

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

    F = fx * pxF = fy * py,

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

    特别是,

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

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

    【讨论】:

      【解决方案2】:

      这是 Q 矩阵,也就是重投影矩阵

      既然你有相机内在矩阵和外在矩阵,那么只需相应地填写它。

      请注意 Tx 应以 mm 为单位。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-25
        • 1970-01-01
        • 2023-03-23
        相关资源
        最近更新 更多