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