inlier_cloud = pcd.select_down_sample(inliers) AttributeError: 'open3d.cpu.pybind.geometry.PointCloud' object has no attribute 'select_down_sample'
时间: 2024-03-14 20:46:16 浏览: 23
非常抱歉,我在之前的回答中提到的 `select_down_sample` 函数在 Open3D 0.10.0 版本中已经不再使用。在新版本中,可以使用 `select_by_index` 函数来实现类似的功能。
以下是修改后的代码:
```python
import open3d as o3d
import numpy as np
# 读取点云数据
pcd = o3d.io.read_point_cloud("your_point_cloud.pcd")
# 提取平面点云
plane_model, inliers = pcd.segment_plane(distance_threshold=0.01,
ransac_n=3,
num_iterations=1000)
inlier_cloud = pcd.select_by_index(inliers)
inlier_cloud.paint_uniform_color([1.0, 0, 0])
# 提取平面点云的边界点
boundary_points = o3d.geometry.PointCloud()
boundary_points.points = o3d.utility.Vector3dVector(np.asarray(inlier_cloud.compute_convex_hull()))
boundary_points.paint_uniform_color([0, 1.0, 0])
# 可视化
o3d.visualization.draw_geometries([inlier_cloud, boundary_points])
```
在上面的代码中,使用 `select_by_index` 函数代替了 `select_down_sample` 函数。其他部分的逻辑与之前的回答一致。