Open3d 学习计划—12(Jupyter 可视化)
Open3D是一个开源库,支持快速开发和处理3D数据。Open3D在c++和Python中公开了一组精心选择的数据结构和算法。后端是高度优化的,并且是为并行化而设置的。
本系列学习计划有Blue同学作为发起人,主要以Open3D官方网站的教程为主进行翻译与实践的学习计划。点云PCL公众号作为免费的3D视觉,点云交流社区,期待有使用Open3D或者感兴趣的小伙伴能够加入我们的翻译计划,贡献免费交流社区,为使用Open3D提供中文的使用教程。
从0.4.0版本开始,我们通过webGL添加了对Jupyter的实验性支持.如果从pip或者conda安装Open3d的话,jupyter支持会默认开启.如果从源码安装Open3d的话,请设置Python绑定环境,了解如何建立Jupyter支持的Open3d.
要注意的是,Jupyter可视化依然处于早期的实验性阶段,以下是主要的限制.
只支持点云数据.
相机是用固定参数初始化的,因此初始化的视角对于点云可能不是最优的.
性能没有优化.
控制
鼠标滚轮:放大/缩小
鼠标左键拖动:轴旋转
鼠标右键拖动:平移
使用例程
Jupyter可视化被定义为 JVisualizer 类.初始化这个类,然后调用 add_geometry 去添加Open3d几何;类型,之后调用 show 将其显示在Jupyter部件上.
import numpy as np
import open3d as o3d
from open3d import JVisualizer
points = (np.random.rand(1000, 3) - 0.5) / 4
colors = np.random.rand(1000, 3)
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(points)
pcd.colors = o3d.utility.Vector3dVector(colors)
visualizer = JVisualizer()
visualizer.add_geometry(pcd)
visualizer.show()
如果点云是不可见的(由于相机的初始参数),可以通过鼠标缩放来将其移动到合适的视角.
注意:
