将激光雷达点云俯视图映射到二维图像

目录

  • 将激光雷达点云俯视图映射到二维图像
    • 简介
    • 实现方法
    • 参考代码

简介

本节讲解如何将激光雷达点云俯视图(仅考虑水平坐标)映射到二维图像中,其中涉及到激光雷达点云的地面部分滤除,和不同坐标范围下的数据的简单映射。本文主要侧重提供方法的参考,代码仅供参考,可根据实际使用场景的需要进行修改。

本文中采用的激光雷达数据来自KITTI数据集,使用Velodyne HDL-64E激光雷达采集得到,该激光雷达工作频率10Hz,每个周期可以采集大约10万个点。更多信息可参考KITTI数据集的传感器安装部分文档:http://www.cvlibs.net/datasets/kitti/setup.php

在KITTI数据集中,该激光雷达点云数据已经和一个前视摄像头进行了同步,本文使用的激光雷达数据采集到的场景近似于下方图片所示的场景。

实现方法

  1. 通过数据文件加载激光雷达点云数据,来自Kitti数据集。
  2. 初始化特定像素大小的图片(1000*2000)。
  3. 根据需要显示的激光雷达点云范围和图片像素范围,将激光雷达点云的横纵坐标映射到图片的特定像素中,其中激光雷达所处的世界坐标系遵循右手系,x轴对应前进方向,y轴对应左侧横向;而对于图像坐标系,x,y分别对应其图像的行索引和列索引,且图像左上角为原点。
    具体处理方式参考如下代码:
//参考定义:CvSize cvSize( int width, int height );
cv::Size worldSize(10.0,20.0);      //待显示的激光雷达点云在世界坐标系下的范围
cv::Size imageSize(1000.0,2000.0);  //待显示的图片的像素范围(与世界坐标系等比例)...
float xw=(*it).x;//世界坐标系下的激光雷达点云纵坐标
float yw=(*it).y;//世界坐标系下的激光雷达点云横坐标(车身左侧为正)// x,y表示图片坐标系下的坐标点,分别对应图像的行索引和列索引。
//(如相关坐标系对应关系不同,可进行相应调整)
int x = (-yw * imageSize.height / worldSize.height) + imageSize.width / 2;
int y = (-xw * imageSize.height / worldSize.height) + imageSize.height;

转换后的显示效果如下图所示:

4. 可根据激光雷达相对地面的安装位置高度,设置恰当的阈值变量doulble minZ=-1.40,只有该阈值以上的激光点云才进行上述映射操作,从而过滤掉激光点云中的地面反射目标。最终映射后的图片显示效果如下所示:

参考代码

实现以图片形式显示激光雷达点云俯视图的相关参考代码如下图所示,此为优达学城提供的参考代码,未经过本人实际测试,仅供参考:

【多传感融合】优达学城多传感融合学习笔记(二)——将激光雷达点云俯视图映射到二维图像相关推荐

  1. python人工智能入门优达视频_看优达学城python入门视频学习C++

    在如今这个时代,计算机领域中,各种技术瞬息万变,不断更新迭代.随着人工智能.机器学习等先进技术的兴起,近年来,python入门视频是很多人关注的,Python程序员的数量已经大大超过C++程序员.然而 ...

  2. 【多传感融合】优达学城多传感融合学习笔记(一)——针孔相机模型

    针孔相机模型 目录 针孔相机模型 针孔相机成像模型 镜头和光圈 枕形畸变和桶形畸变 图像标定和校准概念 三维坐标系到像素坐标系的转换 图像传感器和拜耳阵列(Bayer Pattern) CCD vs. ...

  3. 【多传感融合】优达学城多传感融合学习笔记(三)——将激光雷达3D点云映射到相机图像(上)

    将激光雷达3D点云映射到相机图像(上)--原理分析 目录 将激光雷达3D点云映射到相机图像(上)--原理分析 齐次坐标系 内参(Intrinsic Parameters) 外参(Extrinsic P ...

  4. 优达学城Numpy与Pandas笔记

    此篇为优达学城数据分析入门第二课笔记网址 基本操作 import numpy as np# First 20 countries with employment data countries = np ...

  5. 优达学城《DeepLearning》大纲和学习愿景

    目的: 查漏补缺深度学习体系,精益求精的深刻理解体系中各种核心的技术原理,感受技术思想背后的精髓魅力,做到能够脱口而出. 计划: 2021年5月.6月,完成课程中所有核心知识的深刻理解(通过撰写博客, ...

  6. 优达学城 深度学习 任务1

    这几天刚好有环境,打算学习一下深度学习 看了一圈介绍,发现优达学城的深度学习课程作为入门课程还是不错的 今天看了第一章节的视频,顺便做了任务1 任务1难度不大,按照网站上的说明可以完成下载.打包等工作 ...

  7. 优达学城计算机视觉pkl,优达学城机器学习工程师纳米学位项目介绍

    本文由 meelo 原创,请务必以链接形式注明 本文地址,简书同步更新地址 一对一的项目辅导是优达学城纳米学位的一大亮点.本文将简要介绍优达学城机器学习工程师纳米学位的6个项目.项目覆盖了机器学习的主 ...

  8. 无人驾驶8: 粒子滤波定位(优达学城项目)

    优达学城无人车定位的项目实现: 粒子滤波算法流程图 粒子滤波的伪代码: step1:初始化 理论上说,当粒子数量足够多时,能准确地呈现贝叶斯后验分布,如果粒子太少,可能漏掉准确位置,粒子数量太多,会拖 ...

  9. 优达学城《无人驾驶入门》学习笔记——卡尔曼滤波器实现详解

    优达学城<无人驾驶入门>的第二个项目是实现矩阵类,要求通过python编写一个用来计算矩阵的类Matrix.编写这个类并不难,涉及到的线性代数方面的知识也不多,比如矩阵的加法.减法.乘法, ...

最新文章

  1. Hibernate,get,load,find方法解析
  2. python编程入门书籍推荐-给刚入门python的朋友推荐几本书
  3. 十三、流程控制之if语句
  4. 如何用文本档编辑c语言,c语言读写word文档
  5. 源码梳理——Jedis中的集合JedisByteHashMap
  6. ffmpeg源码学习之time_base
  7. hdu 2275 Kiki Little Kiki 1
  8. java ftp 中文上传_java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题...
  9. Django 模板系统2
  10. 多个C文件共用一些变量
  11. Support Vector Machine (3) : 再谈泛化误差(Generalization Error)
  12. ComboBox控件值对类
  13. linux 常用脚本
  14. MySQL最大建议行数2000w, 靠谱吗?
  15. 关于扫雷的c语言程序设计,C语言程序设计扫雷游戏实验报告
  16. 通过香港招行一卡通收回PayPal资金
  17. 华为手机不能支持5G,研发创新科技解决,M国的做法落空
  18. 大招流的英雄没法子混了啊!----- dota 6.72新英雄
  19. python数字金额转换为中文大写金额(角、分)
  20. MySql 练习- 留存率计算

热门文章

  1. session和model的区别
  2. java分布式技术平台架构方案
  3. uni-app 自定义相机拍照录像,可设置分辨率、支持横竖屏(ios、android)
  4. 马克鳗(美术设计稿标注工具)
  5. Swagger2学习笔记
  6. Docker镜像压缩与优化
  7. 网站开发-实用SQL语句大全
  8. python哥德巴赫猜想证明要求其中一个素数最小_第4-4章“哥德巴赫猜想”的验证(20分),浙大,版,Python,程序设计,题目,集第...
  9. 【岩熹攻略】议息大会后,国庆主题迎布局良机!
  10. 浅析<router-view> v-slot事例