get_point_indices_within_bounding_box
函数用于从点云中获取落在给定轴对齐边界框内的点的索引。
get_point_indices_within_bounding_box(self, min_bound, max_bound, invert=False)
min_bound
: 所有轴的最小值。max_bound
: 所有轴的最大值。invert
: 如果为True,则返回框框之外的点的索引。如果invert=False
,则返回一个一维numpy数组,包含点对应于点云中的位置的整数索引,而且它们都在指定的轴对齐边界框内。如果invert=True
,则返回落在框框之外的点的索引。
import open3d.geometry as o3d
import numpy as np
# 创建一个简单的点云数据
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(np.random.randn(1000, 3))
# 构造一个目标轴对齐边界框
min_bound = np.asarray([-1.0, -1.0, -1.0])
max_bound = np.asarray([1.0, 1.0, 1.0])
# 获取落在边界框内的点的索引
indices = pcd.get_point_indices_within_bounding_box(min_bound=min_bound, max_bound=max_bound)
# 输出边界框内点的数量
print(f"Number of points inside the bounding box: {len(indices)}")
Number of points inside the bounding box: 771