很多时候在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):<