如何使用Open3d在可视化模块中设置点大小和线粗细?

问题描述 投票:0回答:1

我参考了http://www.open3d.org/docs/release/tutorial/visualization/visualization.html#Function-draw_geometries中的代码,代码如下:

import open3d as o3d

print("Let's draw a box using o3d.geometry.LineSet.")
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(
points=o3d.utility.Vector3dVector(points),
lines=o3d.utility.Vector2iVector(lines),
)
line_set.colors = o3d.utility.Vector3dVector(colors)
point_cloud2 = o3d.geometry.PointCloud()
point_cloud2.points = o3d.utility.Vector3dVector(points)
point_cloud2.paint_uniform_color([0, 1, 0])

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

我可以获得线和点: 如何设置绘制的点大小和线条粗细?

python point-clouds open3d
1个回答
0
投票

您无法通过

o3d.visualization.draw_geometries
执行此操作。
draw_geometries
只是提供了一个帮助方法来轻松使用
o3d.visualization.Visualizer
类。

o3d.visualization.Visualizer
中,您可以通过更新渲染选项来增加点大小和线宽:-

# Replace last line of o3d.visualization.draw_geometries([line_set, point_cloud2]) with below code.
vis = o3d.visualization.Visualizer()
vis.create_window()
vis.add_geometry(line_set)
vis.add_geometry(point_cloud2)
vis.get_render_option().line_width = 5
vis.get_render_option().point_size = 20
vis.run()

请参阅此处(Open3d 源代码)了解线宽和点大小的最小/最大限制。

© www.soinside.com 2019 - 2024. All rights reserved.