多几何图形的Open3D可视化

2024-04-29 14:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

今天我开始使用Open3D,但我真的不知道如何在一个场景/窗口中显示多个几何体对象

当我运行代码时,我有两个不同且独立的窗口(第一个窗口是点云,第二个窗口是线条)。 我应该如何使用visualization.draw_几何图形在一个场景中显示它们

xyz = np.genfromtxt('file.csv', delimiter=',')
print (xyz)

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(xyz)
print(np.asarray(pcd.points))
o3d.visualization.draw_geometries_with_editing([pcd])

choosen_points = [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0], [0, 0, 1], [1, 0, 1],
          [0, 1, 1], [1, 1, 1]]
lines = [[0, 1], [0, 2], [1, 3], [2, 3], [4, 5], [4, 6], [5, 7], [6, 7],
         [0, 4], [1, 5], [2, 6], [3, 7]]
colors = [[1, 0, 0] for i in range(len(lines))]
line_set = o3d.geometry.LineSet()
line_set.points = o3d.utility.Vector3dVector(choosen_points)
line_set.lines = o3d.utility.Vector2iVector(lines)
line_set.colors = o3d.utility.Vector3dVector(colors)
o3d.visualization.draw_geometries([line_set])

Tags: npline场景pointsutilitylinesprintcolors
1条回答
网友
1楼 · 发布于 2024-04-29 14:32:29

o3d.visualization.draw_geometries需要一个几何图形列表作为参数。您当前正在调用该函数两次,这将导致打开两个窗口。要同时绘制两个几何图形,只需将它们合并到一个列表中,如下所示:

o3d.visualization.draw_geometries([pcd, line_set])

相关问题 更多 >