gpt4 book ai didi

matlab - 旋转Matlab Stereo Camera Calibrator给定的世界坐标系

转载 作者:行者123 更新时间:2023-12-01 14:02:48 25 4
gpt4 key购买 nike

使用 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]

最佳答案

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

M = K' * [R t]

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

关于matlab - 旋转Matlab Stereo Camera Calibrator给定的世界坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30386329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com