Linux下使用open3d进行点云可视化(.bin文件)

整个场景可视化:

import numpy as np
import open3d as o3ddef read_kitti_bin_point_cloud(bin_file):# 加载.bin文件point_cloud_np = np.fromfile(bin_file, dtype=np.float32).reshape(-1, 4)# 仅使用X, Y, Z坐标,忽略反射率point_cloud_o3d = o3d.geometry.PointCloud()point_cloud_o3d.points = o3d.utility.Vector3dVector(point_cloud_np[:, :3])# 设置所有点为白色point_cloud_o3d.colors = o3d.utility.Vector3dVector(np.ones((len(point_cloud_np), 3)))return point_cloud_o3ddef visualize_point_cloud(point_cloud_o3d):# 创建一个可视化窗口vis = o3d.visualization.Visualizer()vis.create_window(window_name="KITTI Point Cloud", width=800, height=600)# 设置窗口的背景为黑色opt = vis.get_render_option()opt.point_size = 1.0opt.background_color = np.asarray([0, 0, 0])# 将点云数据加入可视化窗口vis.add_geometry(point_cloud_o3d)# 进行可视化vis.run()vis.destroy_window()if __name__ == "__main__":bin_file = '/root/autodl-data/IA-SSD/data/kitti/training/velodyne/002147.bin'  # 更改为你的KITTI .bin文件路径point_cloud_o3d = read_kitti_bin_point_cloud(bin_file)visualize_point_cloud(point_cloud_o3d)

效果:
在这里插入图片描述

KITTI范围:point_cloud_range = [0, -40, -3, 70.4, 40, 1]

import numpy as np
import open3d as o3ddef read_kitti_bin_point_cloud(bin_file, point_cloud_range):# 加载.bin文件point_cloud_np = np.fromfile(bin_file, dtype=np.float32).reshape(-1, 4)# 应用点云范围筛选mask = (point_cloud_np[:, 0] >= point_cloud_range[0]) & (point_cloud_np[:, 0] <= point_cloud_range[3]) & \(point_cloud_np[:, 1] >= point_cloud_range[1]) & (point_cloud_np[:, 1] <= point_cloud_range[4]) & \(point_cloud_np[:, 2] >= point_cloud_range[2]) & (point_cloud_np[:, 2] <= point_cloud_range[5])point_cloud_np = point_cloud_np[mask][:, :3]# 使用X, Y, Z坐标创建Open3D点云对象point_cloud_o3d = o3d.geometry.PointCloud()point_cloud_o3d.points = o3d.utility.Vector3dVector(point_cloud_np)# 设置所有点为白色point_cloud_o3d.colors = o3d.utility.Vector3dVector(np.ones((len(point_cloud_np), 3)))return point_cloud_o3ddef visualize_point_cloud(point_cloud_o3d):# 创建一个可视化窗口vis = o3d.visualization.Visualizer()vis.create_window(window_name="KITTI Point Cloud", width=800, height=600)# 设置窗口的背景为黑色opt = vis.get_render_option()opt.point_size = 1.0opt.background_color = np.asarray([0, 0, 0])# 将点云数据加入可视化窗口vis.add_geometry(point_cloud_o3d)# 进行可视化vis.run()vis.destroy_window()if __name__ == "__main__":bin_file = '/root/autodl-data/IA-SSD/data/kitti/training/velodyne/002147.bin'  # 更改为你的KITTI .bin文件路径# 定义点云显示范围point_cloud_range = [0, -40, -3, 70.4, 40, 1]point_cloud_o3d = read_kitti_bin_point_cloud(bin_file, point_cloud_range)visualize_point_cloud(point_cloud_o3d)

效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Groovy语言

1 Groovy介绍 1.1 Groovy介绍 Groovy是一种编程语言&#xff0c;它结合了Java的强大功能和脚本语言的简洁性。它具有动态类型、易读的语法、与Java的紧密集成、脚本编程能力、强大的闭包等特点。 1.2 Groovy SQL介绍 Groovy SQL是 Groovy 编程语言的一部分&#xff0c;用于…

【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler---原理、应用、源码与注意事项

【机器学习】进阶学习&#xff1a;详细解析Sklearn中的MinMaxScaler—原理、应用、源码与注意事项 这篇文章的质量分达到了97分&#xff0c;虽然满分是100分&#xff0c;但已经相当接近完美了。请您耐心阅读&#xff0c;我相信您一定能从中获得不少宝贵的收获和启发~ &#x1f…

MachineSink - 优化阅读笔记

注&#xff1a;该优化与全局子表达式消除刚好是相反的过程&#xff0c;具体该不该做这个优化得看代价模型算出来的结果(有采样文件指导算得会更准确) 该优化过程将指令移动到后继基本块中&#xff0c;以便它们不会在不需要其结果的路径上执行。 该优化过程并非旨在替代或完全…

HBase安装,配置,启动,检查

目录: 一、HBase安装&#xff0c;配置 1、下载HBase安装包 2、解压&#xff0c;配置环境变量并激活 3、hbase 配置 4、将hadoop和zookeeper的配置文件创建软连接放在hbase配置目录 5、配置 regionserver 二、HBase启动与关闭&#xff0c;安装检验 1、启动关闭hbase的命令 2、 检…

安装配置Spark集群

安装Spark集群主要包括以下步骤&#xff1a; 1、下载Spark安装包&#xff0c;在各节点中安装部署spark集群 2、配置整合 3、启动并测试 下载Spark 可以从官方网站下载合适的版本。当前环境已经提供了安装包&#xff0c;存放在 /opt/software目录下。 在node1节点上安装Sp…

微服务day06-Docker

Docker 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会碰到一些问题&#xff1a; 依赖关系复杂&#xff0c;容易出现兼容性问题 开发、测试、生产环境有差异 1.什么是Docker? 大型项目组件很多&#xff0c;运行环境复杂&#xff0c;部署时会遇到各种…

Find My游戏机|苹果Find My技术与游戏机结合,智能防丢,全球定位

游戏机&#xff0c;又名电子游乐器是使用游戏软件进行玩乐的机器。依照进行游戏的方式的不同&#xff0c;又分为家用游戏机及掌上游戏机。游戏机也可以说是属于电脑的一种&#xff0c;电子游戏机针对影像、音效与操作机能进行特别的强化&#xff0c;也有各种的软件和硬件可供安…

AIGC笔记--Maya提取和修改FBX动作文件

目录 1--Maya数据解析 2--FBX SDK导出6D数据 3--6D数据映射和Maya可视化 完整项目代码&#xff1a;Data-Processing/FBX_SDK_Maya 1--Maya数据解析 在软件Maya中直接拖入FBX文件&#xff0c;可以播放和查看人体各个骨骼关节点的数据&#xff1a; 对于上图来说&#xff0c;…

​如何知道自己是不是大数据信用黑名单呢?​

随着大数据技术在金融贷前审核环节中的运用&#xff0c;早在多年前都形成了大数据信用&#xff0c;大数据信用作为辅助的风控工具&#xff0c;作用变得十分重要&#xff0c;其中大数据黑名单就是大数据差的重要一种&#xff0c;那如何知道自己是不是大数据信用黑名单呢?本文详…

Android App冷启动耗时优化

Android应用启动过程 Android应用启动过程&#xff0c;主要包含app::onCreate及执行前的Application阶段及Activity::onCreate执行之后的Activity阶段&#xff0c;以及两个阶段之间的间隙handleMessage阶段和最终页面渲染上屏完成前数据加载阶段四个区间组成。 具体来看&#x…

当HR问你:“做一下自我介绍”你该怎么回答?

目录 当HR在面试中请你做自我介绍时 自我介绍是给面试官留下第一印象的重要环节 当HR在面试中请你做自我介绍时 他们通常是想要了解你的背景信息、工作经验以及你认为自己适合这个职位的原因。以下是一些回答这个问题的建议&#xff0c;帮助你制作一个全面而精炼的自我介绍&…

windows server 2019 服务器配置的方法步骤

一、启用远程功能二、测试三、解决多用户登录的问题 一、启用远程功能 右键点击【此电脑】–【属性】&#xff0c;进入“【控制面板\系统和安全\系统】”&#xff0c;点击-【远程设置】(计算机找不到就使用【winE】快捷键) 2、在“远程桌面”下方&#xff0c;点击【允许远程连…