首先创建了一个包含多个多边形边界点的numpy 坐标数组。
然后,我们定义了一个多边形选择体积的顶点坐标数组 vertices
,用于创建 SelectionPolygonVolume
对象 selection_volume
。我们设置了 orthogonal_axis
为 "Z"
,表示选择体积的法向轴为 Z 轴;并设置了 bounding_polygon
为顶点坐标数组。
接下来,我们调用 crop_point_cloud
方法,将 point_cloud
作为参数传递给 selection_volume.crop_point_cloud
。该方法将根据选择体积裁剪点云,并返回裁剪后的点云对象 cropped_point_cloud
。
最后,我们输出原始点云和裁剪后的点云的内容。
运行该示例代码后,您将看到原始点云和裁剪后的点云的内容。
import open3d as o3d
import numpy as np
pcd = o3d.io.read_point_cloud("duiti.pcd")
print(pcd)
corners = np.array([
[-5.04613,-0.104858,4.65497 ],
[-4.55242,-0.104858,3.02708 ],
[-2.89