• 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:可视化网格三角形的背面。

    代码示例

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

    调用方式二

    1. draw_geometries(geometry_list, window_name='Open3D',
    2.  width=1920, height=1080, left=50, top=50,
    3.  point_show_normal=False,
    4.   mesh_show_wireframe=False
    5.   mesh_show_back_face=False
    6.   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、代码示例

    1. import open3d as o3d
    2. print("读取点云并可视化")
    3. pcd = o3d.io.read_point_cloud("data/fragment.ply")
    4. o3d.visualization.draw_geometries([pcd],
    5. zoom=0.3412,
    6. front=[0.4257, -0.2125, -0.8795],
    7. lookat=[2.6172, 2.0475, 1.532],
    8. 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坐标的颜色。

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

  • 相关阅读:
    【动态库】Ubuntu 添加动态库的搜索路径
    2022年12月英语六级预测范文:情景作文-流行文化
    模板初阶笔记分享
    Git简单使用介绍
    Java多种方式向图片添加自定义水印、图片转换及webp图片压缩
    Metasploit——客户端渗透
    Nodejs
    【Pytorch基础教程32】spark或dl模型部署(MLFlow/ONNX/Runtime/tensorflow serving)
    人脸识别神经网络是什么,人脸识别神经网络模型
    单片机的实验板
  • 原文地址:https://blog.csdn.net/baidu_39332177/article/details/127792817