Open3D 可视化(1)——简单可视化

一、简单可视化

Opene3d提供了一个简单的可视化函数draw_geometries,该函数用于实现几何对象(PointCloudTriangleMesh或者Image)的渲染可视化。

在可视化界面能够通过鼠标进行缩放,旋转和平移,改变渲染风格和屏幕截图等,具体使用方法可通过在窗口界面按 h 键进行查看。

在open3d-0.15.1版本中draw_geometries函数有以下两种调用方式:

1、主要函数

调用方式一

draw_geometries(window_name='Open3D', width=1920, height=1080, left=50, top=50, point_show_normal=False, mesh_show_wireframe=False, mesh_show_back_face, *args, **kwargs):
  • window_name:可视化窗口的显示标题。
  • width:可视化窗口的宽度。
  • height:可视化窗口的高度。
  • left:可视化窗口的左边距。
  • top:可视化窗口的上边距。
  • point_show_normal:如果设置为true,则可视化点法线。
  • mesh_show_wireframe:如果设置为true,则可视化网格线框。
  • mesh_show_back_face:可视化网格三角形的背面。

代码示例

import open3d as o3d

print("Testing IO for images")
img = o3d.io.read_image("y7.png")  # 读取图片(支持jpg和png格式)
print(img)  # 图片大小
o3d.io.write_image("天使.jpg", img)  # 保存图片
o3d.visualization.draw_geometries([img], window_name="Open3D显示图像",
                                  width=1024, height=768,
                                  left=50, top=50,
                                  mesh_show_back_face=False)  # 显示图片

调用方式二

draw_geometries(geometry_list, window_name='Open3D',
 width=1920, height=1080, left=50, top=50,
 point_show_normal=False,
  mesh_show_wireframe=False, 
  mesh_show_back_face=False, 
  lookat, up, front, zoom)
  • window_name:可视化窗口的显示标题。
  • width:可视化窗口的宽度。
  • height:可视化窗口的高度。
  • left:可视化窗口的左边距。
  • top:可视化窗口的上边距。
  • point_show_normal:如果设置为true,则可视化点法线。
  • mesh_show_wireframe:如果设置为true,则可视化网格线框。
  • mesh_show_back_face:可视化网格三角形的背面。
  • lookat:相机的主视方向向量。
  • up:相机的俯视方向向量。
  • front:相机的前视方向向量。
  • zoom:相机的焦距。

2、代码示例

import open3d as o3d


print("读取点云并可视化")
pcd = o3d.io.read_point_cloud("data/fragment.ply")
o3d.visualization.draw_geometries([pcd],
                                  zoom=0.3412,
                                  front=[0.4257, -0.2125, -0.8795],
                                  lookat=[2.6172, 2.0475, 1.532],
                                  up=[-0.0694, -0.9768, 0.2024])

3、结果展示

二、存储视点

刚开始可视化界面中显示的点云如上图所示,通过鼠标拖动将点云更改一个新的显示视角,如下图所示

按下ctrl+c保持这个视角后,这个视角将会成为一个保存在粘贴板里面的一个json字符串。这时再旋转视图到一个不同的视角,比如下图这样:

这时候按下ctrl+v,就可以回到上一步ctrl+c保存的视角。

三、渲染风格

Open3d中的Visualizer可视化函数支持多种渲染风格。比如按 L将在Phong lighting 和简单颜色渲染之间切换(simple color rendering)。按 2 将展现基于x坐标的颜色。

Open3D 可视化(1)——简单可视化_第1张图片

Open3D 可视化(1)——简单可视化_第2张图片

颜色映射也可以进行调整,比如使用shift+4,就可以把颜色从喷墨映射调整到热力图映射。

Open3D 可视化(1)——简单可视化_第3张图片

你可能感兴趣的:(open3D,python,可视化,open3D)