当前位置: 首页 > news >正文

【Python】图像+点云 结合显示

目录

效果

步骤

(1)从“LiDAR的世界”到“相机的世界” (外参变换)

(2)从“相机的3D世界”到“相机的2D幕布” (投影变换)

(3)清理和绘制 (过滤与可视化)

代码


效果

步骤

1. 访问KITTI官网(地址:The KITTI Vision Benchmark Suite)

2. 点击“raw data”

3. 这里下载的数据集是“2011_09_26_drive_0018”。点击 [synced+rectified data]来下载数据序列文件,点击 [calibration] 链接下载相机和LiDAR的标定文件

 4. 下载解压后创建如下项目层级

5. 添加代码并运行。代码的主要思路如下:

(1)从“LiDAR的世界”到“相机的世界” (外参变换)

        由于LiDAR和相机是两个独立的设备,它们被安装在不同的位置,朝向也可能不同。为了能将LiDAR的点投影到相机图像上,我们必须先把这个点从LiDAR的“世界”(坐标系)转换到相机的“世界”(坐标系)。而转换需要两个关键信息,分别是“旋转矩阵”和“平移向量”它们统称为“外参”,是通过LiDAR-相机标定得到的:

        旋转矩阵 R:描述了LiDAR坐标系相对于相机坐标系旋转了多少。

        平移向量 t:描述了LiDAR坐标系的原点相对于相机坐标系原点移动了多远。

变换公式:

P_camera = R * P_lidar + t

        公式中, P_lidar表示点在LiDAR坐标系下的原始坐标;P_camera表示同一个点在相机坐标系下的新坐标,记为 (X, Y, Z)。

        完成这一步后,这个3D点就已经相对于相机了。Z值现在代表了这个点到相机镜头的“深度”或“距离”。

http://www.dtcms.com/a/259660.html

相关文章:

  • Part 0:射影几何,变换与估计-第二章:2D射影几何与变换(下)
  • 【看到哪里写到哪里】算闰年的(year 3) == 0
  • Selenium 二次封装通用页面基类 BasePage —— Python 实践
  • Windows下安装zookeeper
  • ros (二) 使用消息传递点云+rviz显示
  • web目录扫描-御剑
  • Redis跳表(skiplist)底层原理浅析
  • 使用亮数据网页抓取API自动获取Tiktok数据
  • matlab机器人工具箱(Robotics Toolbox)安装及使用
  • 【EDA软件】【应用功能子模块网表提供和加载编译方法】
  • 重置 MySQL root 密码
  • 前端面试专栏-主流框架:13.vue3组件通信与生命周期
  • webman 利用tcp 做服务端 对接物联网
  • C# LINQ语法
  • Boss:攻击
  • 【MQTT】常见问题
  • MySQL之视图深度解析
  • 第2章,[标签 Win32] :编写兼容多字节字符集和 Unicode 字符集的 Windows 程序
  • 【DevTools浏览器开发者工具反调试之无限Debugger跳过】
  • SpringBoot高校党务系统
  • PyTorch RNN实战:快速上手教程
  • Python 数据分析与可视化 Day 7 - 可视化整合报告实战
  • Python核心可视化库:Matplotlib与Seaborn深度解析
  • request这个包中,get 这个方法里传入的是params ,post这个方法里传入的是data 和 json。这个区别是什么?
  • pscc系统如何部署,怎么更安全更便捷?
  • Linux 怎么恢复sshd.service
  • 结构体数组与Excel表格:数据库世界的理性与感性
  • 超级好用的小软件:geek,卸载软件,2m大小
  • Webpack 核心概念
  • 基于MATLAB的BP神经网络的心电图分类方法应用