【问题标题】:open3d highlighting point inside point cloud点云内的open3d高亮点
【发布时间】:2021-09-06 21:59:58
【问题描述】:

我使用以下函数绘制了一个点云:

def plot_pointcloud(points):
    xyz = points[:, :3]
    pcd = o3d.geometry.PointCloud()
    pcd.points = o3d.utility.Vector3dVector(xyz)
    # pcd.colors = o3d.utility.Vector3dVector(points[:, -1])
    o3d.visualization.draw_geometries([pcd])  # Uncomment this to see the plot

但是,我有两个问题:

  1. 我想在这个点云中突出显示 4 个点,即将这些点绘制成不同的形状(如星形 (*)),因为我们可以使用 matplotlib 做到这一点。每个点都有 x、y、z 坐标。
  2. 我还想在这个点云中绘制一个长方体。我知道长方体的质心以及长方体的长度、宽度和高度。我尝试使用 http://www.open3d.org/docs/latest/tutorial/Basic/visualization.html geometry_primitives,但无法使用。

非常感谢您的帮助。

谢谢。

【问题讨论】:

  • 如果有人感兴趣,我用 MATLAB 做的

标签: python point-clouds open3d


【解决方案1】:

要突出显示您的四个点,您可以创建第二个点云并为其赋予与第一个不同的颜色。

base_point_cloud = o3d.geometry.PointCloud()
picked_point_cloud = o3d.geometry.PointCloud()
base_point_cloud.points = o3d.utility.Vector3dVector(base_3d_pts)
picked_point_cloud.points = o3d.utility.Vector3dVector(picked_3d_pts)
picked_point_cloud.colors = o3d.utility.Vector3dVector(picked_3d_pts)
o3d.visualization.draw_geometries([picked_point_cloud, point_cloud, axis_mesh])

base_3d_pts 和pick_3d_pts 是numpy 数组中的3D 点。

示例截图如下:

Point cloud selected points

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2021-06-26
    • 2021-11-07
    相关资源
    最近更新 更多