【发布时间】:2019-09-03 09:08:40
【问题描述】:
我想在相机图像{u,v} 上融合 LiDAR {X,Y,Z,1} 点,我们有 LiDAR 点、相机矩阵 (K)、畸变系数 (D)、相机和 LiDAR 的位置 (x,y,z ),相机和激光雷达的旋转 (w+xi+yj+zk)。涉及三个坐标系。车轴坐标系(X:forward,Y:Left,Z:up),LiDAR坐标系(X:Right,Y:Forward,Z:Up)和相机坐标系( X:右,Y:下,Z:前)。我尝试了以下方法,但这些点没有正确融合。所有点都被错误地绘制了。
坐标系:
对于给定的相机和激光雷达的旋转和位置,我们使用以下公式计算平移。
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
那么激光雷达点[X,Y,Z,1]和图像帧[u,v,1]之间的最终变换矩阵和点变换由下式给出:
T = [ R_relative | t_relative ]
[u,v,1]^T = K * T * [X,Y,Z,1]^T
我有什么遗漏的吗?
【问题讨论】:
标签: matlab opencv camera fusion lidar