open3d八叉树调试
import numpy as np
import open3d as o3d
bunny_pcd = o3d.io.read_point_cloud("cloud_data/bunny.pcd")
point = np.asarray(bunny_pcd.points)
N = point.shape[0]
# 点云随机着色
bunny_pcd.colors = o3d.utility.Vector3dVector(np.random.uniform(0, 1, size=(N, 3)))
# 可视化点云
o3d.visualization.draw_geometries([bunny_pcd], window_name="原始点云",
width=1024, height=768,
left=50, top=50,
mesh_show_back_face=False)
# 创建八叉树
octree = o3d.geometry.Octree(max_depth=8)
# 从点云中构建八叉树
octree.convert_from_point_cloud(bunny_pcd, size_expand=0.01)
# 可视化八叉树
o3d.visualization.draw_geometries([octree], window_name="可视化八叉树",
width=1024, height=768,
left=50, top=50,
mesh_show_back_face=False)