首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LiDAR到相机的图像融合

LiDAR到相机的图像融合
EN

Stack Overflow用户
提问于 2019-04-12 22:54:49
回答 1查看 381关注 0票数 0

我想融合相机图像{u,v}上的LiDAR {X,Y,Z,1}点,我们有LiDAR点,相机矩阵(K),失真系数(D),相机和LiDAR的位置(x,y,z),相机的旋转和LiDAR (w+xi+yj+zk)。涉及到三个坐标系。车轴坐标系(X:向前、Y:左、Z:向上)、LiDAR坐标(X:右、Y:向前、Z:向上)和相机坐标系(X:右、Y:向下、Z:向前)。我尝试了下面的方法,但是这些点不能正确融合。所有的点都画错了。

坐标系:

对于给定的相机和LiDAR的旋转和位置,我们使用下面的方程计算平移。

代码语言:javascript
运行
复制
t_lidar     = R_lidar  * Position_lidar^T
t_camera    = R_camera  *Position_camera^T

然后,将相对旋转和平移计算为流

代码语言:javascript
运行
复制
R_relative = R_camera^T * R_lidar
t_relative = t_lidar -  t_camera

然后,LiDAR点[X,Y,Z,1]和图像帧[u,v,1]之间的最终变换矩阵和点变换由下式给出:

代码语言:javascript
运行
复制
T =  [ R_relative | t_relative ] 
  [u,v,1]^T = K * T * [X,Y,Z,1]^T

我有什么遗漏的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 05:31:52

直接使用opencv投影点

https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#projectpoints

C++:void projectPoints(InputArray objectPoints,InputArray rvec,InputArray tvec,InputArray cameraMatrix,InputArray distCoeffs,OutputArray imagePoints,OutputArray jacobian=noArray(),double aspectRatio=0 )

objectPoints -对象点阵列,3xN/Nx3 1通道或1xN/Nx1 3通道(或矢量),其中N是视图中的点数。

rvec -旋转向量。有关详细信息,请参阅Rodrigues()。

tvec -翻译向量。

cameraMatrix -摄像机矩阵

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55654375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档