news 2026/5/8 22:00:49

第五课-Open3D点云数据处理:点云、mesh可视化(draw_geometries方法)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第五课-Open3D点云数据处理:点云、mesh可视化(draw_geometries方法)

1 可视化方法 draw_geometries()

2 参数说明

​编辑

3 mesh可视化

3.1 最简单的mesh可视化

3.2 带参数的mesh可视化

3.3 mesh_show_wireframe参数 对比

3.4 mesh_show_back_face参数 对比

3.5 可视化多个mesh


1 可视化方法 draw_geometries()

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 = [0, 0, 0], up = [0, 1, 0], front = [0, 0, -1], zoom = 1.0 )

2 参数说明

  • geometry_list必选参数: 要可视化的几何对象。
  • window_name可选参数:可视化窗体的标题(str,可选),默认Open3D
  • width可选参数:可视化窗体的宽度(int,可选),默认1920像素。
  • height可选参数:可视化窗体的高度(int,可选),默认1080像素。
  • left可选参数:可视化窗体左侧距离屏幕左侧的像素距离(int,可选),默认50像素。
  • top可选参数:可视化窗体顶部距离屏幕顶部的像素距离(int,可选),默认50像素。
  • point_show_normal可选参数(点云):可视化法向量(bool,可选),默认False,不可视化。
  • mesh_show_wireframe可选参数(mesh):可视化mesh网格,默认False。
  • mesh_show_back_face可选参数(mesh)mesh_show_wireframe=True前提下使用,可视化mesh网格三角形的背面(内表面),默认False。
  • lookat可选参数:一个包含3个浮点数的列表,表示观察点的位置。默认情况下,观察点位于场景的中心位置 [ x ‾ \overline {x}x, y ‾ \overline {y}y​, z ‾ \overline {z}z]。可以通过更改lookat参数来移动观察点的位置,从而查看场景的不同部分。
  • up可选参数:一个包含3个浮点数的列表,对应屏幕的上方向。默认情况下,为Y轴正方向[0, 1, 0] 。
  • front可选参数:一个包含3个浮点数的列表,对应屏幕的法向量方向。默认情况下,为Z轴正方向 [0, 0, 1] 。
  • zoom可选参数:一个浮点数,表示场景的缩放级别。默认情况下,为1.0。

其中,geometry_listwindow_namewidthheightlefttoppoint_show_normalmesh_show_wireframe用于控制可视化窗口的基本属性和要显示的几何对象的属性。而lookatupfrontzoom则用于控制观察3D场景的视角和缩放级别。

注意:

lookatupfrontzoom是一组共存亡的参数,不能只使用其中的一个,要么都用,要么都不用。

3 mesh可视化

3.1 最简单的mesh可视化

示例代码:

import open3d as o3d # 读取mesh文件 mesh = o3d.io.read_triangle_mesh(r"H:\HTempWK\temp\open3d\pointdata\SaveArmadillo.ply") # 可视化mesh if mesh.is_empty(): print("文件读取失败!") else: print("正在可视化...") o3d.visualization.draw_geometries([mesh])

3.2 带参数的mesh可视化

import open3d as o3d # 读取mesh文件 mesh = o3d.io.read_triangle_mesh(r"H:\HTempWK\temp\open3d\pointdata\SaveArmadillo.ply") # 可视化mesh if mesh.is_empty(): print("文件读取失败!") else: print("正在可视化...") o3d.visualization.draw_geometries([mesh], window_name = '带参数的点云可视化', width = 1000, height = 600, left = 300, top = 200, mesh_show_wireframe = True, mesh_show_back_face = True )

3.3 mesh_show_wireframe参数 对比

import open3d as o3d # 读取mesh文件 mesh = o3d.io.read_triangle_mesh(r"H:\HTempWK\temp\open3d\pointdata\SaveArmadillo.ply") # 可视化mesh if mesh.is_empty(): print("文件读取失败!") else: print("正在可视化...") o3d.visualization.draw_geometries([mesh], window_name = 'mesh_show_wireframe参数对比:mesh_show_wireframe = False', mesh_show_wireframe = True )

代码:mesh_show_wireframe = False的时候

代码:mesh_show_wireframe = True的时候

3.4 mesh_show_back_face参数 对比

该参数需要在mesh_show_wireframe = True前提下使用,用于控制是否显示三角网格的背面(内表面)。

代码:mesh_show_back_face= False,不显示

import open3d as o3d # 读取mesh文件 mesh = o3d.io.read_triangle_mesh(r"H:\HTempWK\temp\open3d\pointdata\SaveArmadillo.ply") # 可视化mesh if mesh.is_empty(): print("文件读取失败!") else: print("正在可视化...") o3d.visualization.draw_geometries([mesh], window_name = 'mesh_show_back_face数对比:mesh_show_back_face = False', mesh_show_wireframe = True, mesh_show_back_face = True )

可视化展示:内表面不可见

mesh_show_back_face = False

可视化展示:内表面可见

mesh_show_back_face = True

3.5 可视化多个mesh

import open3d as o3d import copy # 读取mesh文件 mesh = o3d.io.read_triangle_mesh(r"H:\HTempWK\temp\open3d\pointdata\bunny\bunny.ply") # 进行深拷贝 mesh_t = copy.deepcopy(mesh) # 平移向量 translation = [0.4, 0.4, 0.0] # 在 x 轴上平移 0.2 米 # 执行平移 mesh_t.translate(translation) # 可视化mesh o3d.visualization.draw_geometries([mesh, mesh_t], window_name = '可视化多个mesh', mesh_show_wireframe = True, mesh_show_back_face = True )

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 13:36:55

第六课Open3D点云数据处理:点云、mesh可视化(Visualizer类)

1 Visualizer类 2 参数详解 2.1 常用参数 2.2 渲染参数 RenderOption 详解 3 点云可视化 3.1 最简单的点云可视化 3.2 可视化多个点云 3.3 可视化点云法线 3.4 其他参数 4 mesh可视化 4.1 最简单的mesh可视化 4.2 可视化三角网格和模型内表面 4.3 可视化多个mesh 1…

作者头像 李华
网站建设 2026/5/1 4:03:52

深度解析大模型微调技术:LoRA、QLoRA、DPO全对比,建议收藏!

深度解析2025年大模型微调技术:LoRA、QLoRA、DPO全对比,建议收藏! 文章系统介绍了大语言模型微调技术的演进与现状,重点分析了参数高效微调(PEFT)的革命性技术,包括LoRA及其改进版QLoRA、VeRA、DoRA和AdaLoRA&#xff…

作者头像 李华
网站建设 2026/5/4 15:43:42

为什么越来越多开发者选择PyTorch-CUDA预装镜像?

为什么越来越多开发者选择PyTorch-CUDA预装镜像? 在深度学习项目启动的前48小时里,你更愿意把时间花在模型设计上,还是反复折腾CUDA版本和驱动兼容性?这几乎是每个AI工程师都经历过的灵魂拷问。而如今,越来越多团队正在…

作者头像 李华
网站建设 2026/5/7 15:06:17

GPU算力租赁新趋势:结合PyTorch镜像实现按需付费模式

GPU算力租赁新趋势:结合PyTorch镜像实现按需付费模式 在AI模型越来越“大”、训练任务越来越复杂的今天,一个开发者最怕听到的提示是什么? 不是“代码有bug”,而是——“CUDA out of memory”。 这句报错背后,往往意味…

作者头像 李华
网站建设 2026/5/7 4:29:27

AI Agent与RAG技术:开发者进阶的核心竞争力

今年,AI 技术栈的迭代速度,已经超过了大多数程序员的学习速度。 当你的同事还在讨论如何写 Prompt 时,DeepSeek R1、Gemini 3 等新一代推理模型,已经重新定义了人机交互的边界。当你的团队还在为 RAG 的准确率头疼时,L…

作者头像 李华
网站建设 2026/5/1 11:52:35

开源大模型训练利器:PyTorch-CUDA-v2.7镜像深度评测

开源大模型训练利器:PyTorch-CUDA-v2.7镜像深度评测 在当今AI研发节奏日益加快的背景下,一个稳定、高效且开箱即用的深度学习环境,已经成为决定项目成败的关键因素。想象一下:你刚刚接手一个前沿的大模型训练任务,GPU服…

作者头像 李华