文章目录
- 1. 从点云
- 2. 从体素网格
- 3. 遍历
- 4. 查找包含点的叶节点
八叉树是一种树形数据结构,其中每个内部节点有八个子节点。八叉树通常用于 3D
点云的空间分区。八叉树的非空叶节点包含一个或多个属于同一空间细分的点。八叉树是 3D
空间的有用描述,可用于快速查找附近的点。 Open3D
具有Octree
可用于创建、搜索和遍历具有用户指定的最大树深度 的八叉树的 几何类型max_depth
。
1. 从点云
可以使用该方法从点云构建八叉树convert_from_point_cloud
。每个点都按照从根节点到深度适当的叶节点的路径插入到树中max_depth
。随着树深度的增加,内部(最终是叶)节点表示 3D
空间的较小分区。
如果点云有颜色,则相应的叶节点采用最后插入点的颜色。该size_expand
参数增加了根八叉树节点的大小,因此它比原始点云边界稍大,以容纳所有点。
import open3d as o3d
import numpy as npprint('input')