【问题标题】:Rotate the world coordinate system given by Matlab Stereo Camera Calibrator旋转 Matlab Stereo Camera Calibrator 给出的世界坐标系
【发布时间】:2015-08-03 20:44:46
【问题描述】:

使用 Matlab 立体相机校准器时的默认坐标系是让 Z 远离相机增加(参见本页底部图片:http://www.mathworks.com/help/vision/gs/coordinate-systems.html

我想旋转我的坐标系,使其仍然是右手的,但在校准目标处 z=0 并且 +z 指向相机。我可以构造一个旋转矩阵 R,它将任何坐标绕 x 轴旋转 180 度:

RotMatrix= [1    0    0;
            0   -1    0;     % 0  cos(pi)  -sin(pi)
            0    0   -1];    % 0  sin(pi)  cos(pi)

我可以看到这如何旋转任何世界点的坐标,例如

P_new_coordinates= R*[Px; Py; Pz];

但我不确定如何在从像素坐标到世界坐标的转换中解释坐标系的这种旋转,反之亦然。有没有办法可以将它直接合并到我的相机矩阵中?我使用的是 3x4 相机矩阵约定:

[su; sv; s]= M*[X; Y; Z; 1]

【问题讨论】:

    标签: matlab computer-vision coordinate-systems camera-calibration matlab-cvst


    【解决方案1】:

    你当然可以选择任何你喜欢的世界坐标系,你可以创建相应的相机矩阵。在您的符号中,相机矩阵 M 可以分解如下:

    M = K' * [R t]
    

    其中 K' 是立体相机校准器给出的固有矩阵的转置,R 是旋转矩阵,t 是作为列向量的平移。对于立体系统的摄像机 1,R 是单位矩阵,t 是 0 向量,因为摄像机 1 位于指向 z 轴的原点。如果您想使用其他世界坐标系,您只需适当调整 R 和 t。

    【讨论】:

      猜你喜欢
      • 2019-06-19
      • 2015-09-12
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      相关资源
      最近更新 更多