Я хочу соединить LiDAR {X,Y,Z,1}
точек на изображении с камеры {u,v}
, для которых у нас есть точки LiDAR, матрица камеры (K
), коэффициент искажения (D
), положение камеры и LiDAR (x,y,z
) ), вращение камеры и LiDAR (w+xi+yj+zk
). Здесь задействованы три системы координат. Система координат оси автомобиля (X
: вперед, Y
: влево, Z
: вверх), координата LiDAR (X
: вправо, Y
: вперед, Z
: вверх) и система координат камеры ( X
: вправо, Y
: вниз, Z
: вперед). Я попробовал следующий подход, но точки не слились должным образом. Все точки построены неправильно.
Система координат:
Для заданного вращения и положения камеры и LiDAR мы вычисляем перевод, используя приведенное ниже уравнение.
t_lidar = R_lidar * Position_lidar^T
t_camera = R_camera *Position_camera^T
Тогда относительное вращение и перемещение вычисляются как потоки
R_relative = R_camera^T * R_lidar
t_relative = t_lidar - t_camera
Тогда окончательная матрица преобразования и преобразование точек между точками LiDAR [X,Y,Z,1]
и рамкой изображения [u,v,1]
задается как:
T = [ R_relative | t_relative ]
[u,v,1]^T = K * T * [X,Y,Z,1]^T
Есть что-то, чего мне не хватает?