一、实现目标

激光雷达探测到的点云目标,将目标的激光雷达下的坐标转化到摄像机的坐标下。
实现结果:

雷达检测到车辆目标。

找到对应的2D坐标点,并框出目标。

二、实现原理


其中,x为点云坐标系坐标,y为摄像机坐标系对应的坐标。
上面用到的三个矩阵到矫正文件中查找即可。
这里简单举个例子:


我们可能用到的在这两个txt中。
1)从雷达到摄像机00

代码:

cv::Mat T_velo_to_cam00 = (cv::Mat_<float>(4, 4)<< 7.533745e-03, -9.999714e-01, -6.166020e-04, -4.069766e-03,1.480249e-02, 7.280733e-04, -9.998902e-01, -7.631618e-02,9.998621e-01, 7.523790e-03, 1.480755e-02, -2.717806e-01,0, 0, 0, 1);

2)摄像机00矫正

代码:

cv::Mat R_rect_00 = (cv::Mat_<float>(4, 4)<< 9.999239e-01, 9.837760e-03, -7.445048e-03, 0,-9.869795e-03, 9.999421e-01, -4.278459e-03, 0,7.402527e-03, 4.351614e-03, 9.999631e-01, 0,0, 0, 0, 1);

3)摄像机00到摄像机02

代码:

cv::Mat P_rect_02 = (cv::Mat_<float>(3, 4)<< 7.215377e+02, 0.000000e+00, 6.095593e+02, 4.485728e+01,0.000000e+00, 7.215377e+02, 1.728540e+02, 2.163791e-01,0.000000e+00, 0.000000e+00, 1.000000e+00, 2.745884e-03);

三、代码

参数说明:
输入point:雷达坐标系下的三维坐标(x,y,z)
输出:图像坐标系下的二维坐标(x,y)

代码:

cv::Point2i veltocamera(pcl::PointXYZ point,cv::Mat P_rect_02, cv::Mat R_rect_00, cv::Mat T_velo_to_cam00){cv::Point2i point2D;cv::Mat x3Dl_h = (cv::Mat_<float>(4, 1)<< point.x,point.y,point.z,1);cv::Mat rectified_x3Dc0 = R_rect_00 * T_velo_to_cam00 * x3Dl_h;//点在相机后方if (rectified_x3Dc0.ptr<float>(2)[0] < 0){point2D.x = -1;point2D.y = -1;}else{cv::Mat rectified_x3Dc = P_rect_02 * rectified_x3Dc0;point2D.x = rectified_x3Dc.ptr<float>(0)[0] / rectified_x3Dc.ptr<float>(2)[0];point2D.y = rectified_x3Dc.ptr<float>(1)[0] / rectified_x3Dc.ptr<float>(2)[0];}return point2D;
}

点云处理:Kitti数据集中点云坐标转化到彩色摄像机坐标相关推荐

  1. kitti 数据集点云使用笔记

    kitti 数据集点云使用笔记 一.kitti 数据集的下载 http://www.cvlibs.net/datasets/kitti/raw_data.php 点击进入 raw data 下载,红框 ...

  2. JS实现GPS坐标转化为高德坐标

    1.GPS坐标转化为高德坐标代码 var GPS = {PI: 3.14159265358979324,x_pi: 3.14159265358979324 * 3000.0 / 180.0,trans ...

  3. 3D点云处理:数据集生成点云

    文章目录 点云结果 1. 数据集 2. 生成点云 2.1 生成点云代码 点云结果 生成的点云数据 1. 数据集 数据集来源:T-LESS .下载的数据分别是itodd_test_all 和tless_ ...

  4. KITTI数据集百度云下载

    2019-0722更新链接 提取码: mqnb 百度云链接: KITTI

  5. GPS坐标转化为百度坐标

    https://api.map.baidu.com/geoconv/v1/?coords=116.477654,39.737326&from=1&to=5&ak=yBeph9o ...

  6. KITTI 数据集(CVPR 2012) - 点云 3D

    KITTI 数据集(CVPR 2012) - 点云 3D 0. KITTI 数据集 - 点云 3D 简述 0.1 KITTI 数据集采集平台 0.2 KITTI 3D 目标检测 - 数据集解析 0.2 ...

  7. KITTI数据集的点云格式转PCD格式

    参考文章:https://blog.csdn.net/xinguihu/article/details/78922005 KITTI数据集应该不用多做介绍了,基本上做自动驾驶的都知道这个东西.最近本人 ...

  8. KITTI数据集--参数

    一.kitti数据集,label解析 16个数代表的含义: 第1个字符串:代表物体类别 'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'C ...

  9. 使用PCL库将KITTI数据集可视化

    PCL点云可视化 KITTI数据集浅析 KITTI数据集简介 KITTI基本结构 Calib Velodyne 标签数据解析 点云数据可视化 创建点云对象 创建视窗对象 添加点云到视窗 相机参数的设置 ...

最新文章

  1. c语言链表交换,求单链表的数据交换解决思路
  2. 文件目录Android SDK目录结构
  3. JS中避免命名冲突的三个方法
  4. 美开发数据自毁技术适用云计算架构
  5. java在图片下方写文字_Java画图给图片底部添加文字标题
  6. plsql怎么用字段查表明_如何将oracle表中的字段类型、字段注释说明、字段名一起查询出来...
  7. HDC,CDC,CClientDC,CPaintDC,CWindowDC的区别
  8. 使用sysbench来测试Row Cache解惑
  9. “错题集”帮你期末考试冲向满分
  10. Java项目:图书馆借阅管理系统(java+Springboot+bootstrap+HTML+maven+Mysql)
  11. 笔记本计算机被限制无法上网,笔记本无线wifi连接受限制的解决办法
  12. 关于地理坐标的精度设置,做测绘的工程师应该懂的基本常识(南方数码CASS11.0.0.6还增加批量转换的方式)
  13. android卡刷教程,卡刷是什么意思?安卓系统卡刷教程详解
  14. 1期精彩推荐:如何应对工作中的冲突?
  15. 降本增效这九个月,爱奇艺从“穿越火线”,到“冷静增长”
  16. 刷步数作弊成了朋友圈必备技能
  17. 深度学习GPU选购指南
  18. 日记侠:微信引流第一步你做对了吗?
  19. eyoucms 如何调用指定栏目下的推荐文章
  20. 计算年year、月month和日day对应的是该年的第几天

热门文章

  1. PPT学习资源和实用技巧
  2. python 菜鸟学院-Python菜鸟晋级视频课程(上)
  3. 【剑指offter】重建二叉树
  4. python打开一个不存在的文件报错,python中的文件操作(一)
  5. 【一文讲解深度学习】语言自然语言处理(NLP)第一篇
  6. hadoop全家桶部署手册hadoop-solr-ranger-atlas-hive-hbase...
  7. ARM-translation table walk
  8. 和校验及异或校验C代码
  9. React使用antd
  10. 设计模式真的能改善软件质量吗 (一)