利用Open3D进行点云可视化
https://zhuanlan.zhihu.com/p/57215172
很多时候在python里面你要找一个3D点云可视化的库真的是难啊。你的选择可能是:
- pcl
- mayavi
- matplolib
但是以上都不好用,pcl甚至没有靠谱的python wrapper,唯一一个开源的已经很久没有维护了。在3D显示或者点云处理中,效率是很重要的,不能岁岁便便用一个假的框架。此时一个由intel发布的Open3D出现了。
我在上一篇分享中也提到过open3d可以将pointnet++推理速度提速的到10fps以内。非常有用。(要知道点云的分割可是非常好时的)。
open3d 显示点云的效果。它的安装非常简单:
pip3 install open3d-python
导入的时候打概率可能因为IPYthon导致出错,安装IPython就行。实力程序:
import os import numpy as np from open3d import * points = np.random.rand(10000, 3) point_cloud = PointCloud() point_cloud.points = Vector3dVector(points) draw_geometries([point_cloud])
Open3D的真正强大之处不在于精简的显示点云,而是一些自定义的功能,这个在可视化的时候非常有用。
比如我们可以添加自定义的 draw_geometries
函数,显示结果可以:
def custom_draw_geometry_with_key_callback(pcd): def change_background_to_black(vis): opt = vis.get_render_option() opt.background_color = np.asarray([0, 0, 0]) return False def load_render_option(vis): vis.get_render_option().load_from_json( "../../TestData/renderoption.json") return False def capture_depth(vis): depth = vis.capture_depth_float_buffer() plt.imshow(np.asarray(depth)) plt.show() return False def capture_image(vis): image = vis.capture_screen_float_buffer() plt.imshow(np.asarray(image)) plt.show() return False key_to_callback = {} key_to_callback[ord("K")] = change_background_to_black key_to_callback[ord("R")] = load_render_option key_to_callback[ord(",")] = capture_depth key_to_callback[ord(".")] = capture_image draw_geometries_with_key_callbacks([pcd], key_to_callback) custom_draw_geometry_with_key_callback(point_cloud)
看着还不错。本来想显示一下kitti点云的。但是好像有的点是4的倍数有的是5的倍数, 这,,,这怎么reshape?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-10-23 pointnet++运行
2019-10-23 ubuntu使用anaconda安装tensorflow
2019-10-23 ubuntu安装和卸載搜狗输入法