color
属性是 OctreePointColorLeafNode
类中的一个属性,用于存储叶节点上每个点的颜色信息。
color
属性是一个 numpy
数组,其形状为 (n, 3)
,其中 n
是叶节点上的点数。每一行代表一个点的颜色信息,按照 RGB 顺序排列,每个值的范围为 0 到 1。
import open3d as o3d
# 创建一个包含点云和颜色信息的 Octree
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector([[0, 0, 0], [0.5, 0, 0], [0, 0.5, 0], [0.5, 0.5, 0]])
pcd.colors = o3d.utility.Vector3dVector([[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]])
oct = o3d.geometry.Octree(max_depth=2)
oct.convert_from_point_cloud(pcd)
# 获取叶节点的颜色信息
for node in oct.leaf_nodes:
print(node.color)
输出:
[[1. 0. 0.]]
[[0. 1. 0.]]
[[0. 0. 1.]]
[[1. 1. 1.]]
color
属性只在叶节点上有意义,其他节点上应该为 None
。color
属性只有在构建 Octree 时指定了 create_leaf_node_with_color
为 True
时才会生成。