3

по умолчанию системы координат при использовании Matlab стерео камеры калибратора иметь Z большего расстояние от камеры координат (см нижнего изображения этой страницы: http://www.mathworks.com/help/vision/gs/coordinate-systems.html)Поверните мир системы, заданную Matlab калибратором Stereo Camera

I хотел бы повернуть мою систему координат так, чтобы она по-прежнему была правой, но с z = 0 в калибровочной цели и + z, направленной к камере. Я можно построить матрицу вращения R, который будет вращаться любой координаты на 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] 

ответ

1

Можно, конечно, выбрать любую мировую систему координат вам нравится, и вы можете создать соответствующую матрицу камеры. В вашем обозначениях матрица камеры M можно разложить следующим образом:

M = K' * [R t] 

где К»транспонированная внутренней матрицы, заданной стерео калибратора камеры, R является матрицей вращения, и т является перевод как вектор столбца. Для камеры 1 вашей стереосистемы R - это единичная матрица, а t - вектор 0, поскольку камера 1 находится в начале координат, направленном вниз по оси z. Если вы хотите использовать какую-либо другую систему координат мира, вам просто нужно будет соответствующим образом отрегулировать R и t.

Смежные вопросы