open3d教程(二):可视化三维模型,并转换成点云(Python版本)

news2025/2/28 2:46:12

1、三维模型获取

  • 可以自己用建模软件建立一个模型
  • 从free3d免费下载

2、关键函数

open3d.visualization.draw_geometries

参数:

  • geometry_list(List[open3d.geometry.Geometry])要可视化的几何体列表.
  • window_name(stroptionaldefault='Open3D'):展示模型的可视化窗口名称,默认是Open3d.
  • width: 可视化窗口的宽度,默认是1920.
  • height: 可视化窗口的高度,默认是1080.
  • left: 可视化窗口左边距,默认是50.
  • top: 可视化窗口上边距,默认是50.
  • point_show_normal: 如果设置为 true,则可视化点法线,默认是False.
  • mesh_show_wireframe: 如果设置为 true,则可视化网格线框。默认是False.
  • mesh_show_back_face: 如果设置为True, 可视化网格三角形的背面。默认是False.

3、导入open3d

import open3d as o3d

 4、open3d模型读取与可视化

编写代码

import open3d as o3d

path_ply = './data/ply/Dragon 2.5_ply.ply'

mesh = o3d.io.read_triangle_mesh(path_ply)

mesh.compute_vertex_normals()

o3d.visualization.draw_geometries([mesh], "Dragon", 800, 800, 50, 50, False, False, True)

可视化结果

 4 均匀采样生成点云并可视化

编写代码

# 均匀采样50个点
pcd = mesh.sample_points_uniformly(number_of_points=5000)
# 可视化点云模型
o3d.visualization.draw_geometries([pcd])

可视化效果

5 泊松采样并可视化

均匀采样会在表面出现采样点聚集的现象,open3d实现了一种基于poisson_disk方法的采样,能实现表面的均匀采样。

代码编写

# 均匀采样50个点
pcd = mesh.sample_points_uniformly(number_of_points=5000)

pcd = mesh.sample_points_poisson_disk(number_of_points=5000, init_factor=10)

o3d.visualization.draw_geometries([pcd])

可视化效果:可以看出边缘点的分布更加均匀,但是耗时更长

 6 保存为点云文件

代码编写

# 保存点云文件
# o3d.io.write_point_cloud(filename="data/dragon.pcd", pointcloud=pcd, write_ascii=True)

保存结果:

 可视化保存的点云文件

代码编写

import open3d as o3d

path_ply = './data/dragon.pcd'

# 读取点云文件
mesh = o3d.io.read_point_cloud(path_ply)

o3d.visualization.draw_geometries([mesh])

可视化结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux环境下编程遇到“fatal error:stdio.h:没有那个文件或目录”错误解决办法

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下linux环境下如何解决一个常见的问题,也就是“fatal error:stdio.h:没有那个文件或目录”错误。 不少初学者在linux环境下用gcc编译C语言时,经常会遇到这个问题。 比如当…

工具推荐二

(点击上方公众号,可快速关注) GUI框架 我是个后端程序员,使用GUI框架的机会很少,主要用来编写个人或工作中的一些小工具上,经验有限,仅供参考。 Tk框架这个框架tcl语言自带,在python…

海报图片生成服务在狐友的落地实践

本文字数:22817字 预计阅读时间:58分钟 项目背景 狐友作为搜狐的一款社交产品,在流量传播上有着旺盛的需求点。而在流量传播所需的众多载体之中,海报图片以其简单的分享形式、可定制的视觉体验、自带二维码识别导流等特点&#xf…

入门与 Follow GPT 的路径分析:LLM 道阻且长,行则将至

动手点关注 干货不迷路 本文只用于技术交流,仅代表作者个人观点。 作为 CEO,Sam 将 OpenAI 的内部氛围组织的很好,有位 OpenAI 的前员工告诉拾象团队,当 2018 年 GPT-2 的论文被驳回时,Sam 在团队周会上将拒信的内容朗…

ONES X 高测股份|用数字化,重构新材料企业的研发管理体系

近日,ONES 签约高硬材料切割的领军企业——高测股份,助力高测股份建立有效、规范的研发测试管理体系,实现项目管理、测试管理、知识库管理、工时管理、组织效能管理等端到端的研发管理,提升测试效率和产品交付质量,并进…

用Python+OpenCV+Yolov5+PyTorch开发的车牌识别软件(包含训练数据)

目录 演示视频 软件使用说明 软件设计思路 演示视频 这是一个可以实时识别车牌的软件,支持图片和视频识别,以下是软件的演示视频。 车牌识别软件 点击查看代码购买地址 软件使用说明 1. 下载源码后,首先安装依赖库。项目所用到的依赖库已…

bash shell 基础命令

章节目录: 一、浏览文件系统1.1 Linux 文件系统1.2 遍历目录 二、列出文件和目录三、处理文件3.1 创建文件3.2 复制文件3.3 命令行补全3.4 链接文件3.5 文件重命名3.6 删除文件 四、管理目录4.1 创建目录4.2 删除目录 五、查看文件内容5.1 查看文件类型5.2 查看整个…

【Linux】Linux编辑神器vim的使用

目录 一、Vim的基本概念 二、Vim的基本操作 1、进入vim 2、正常模式切换至插入模式 3、插入模式切换至正常模式 4、正常模式切换至底行模式 5、退出Vim编辑器 三、Vim正常模式命令集 1、移动光标 2、删除文字 3、复制 4、替换 5、撤销 四、Vim底行模式命令集 1、列出行号 2、光…

【Linux】进程信号捕捉

前言 在【Linux】进程信号及信号产生中,我们提到,进程接收到信号,并不是立刻处理,而是在合适的时候才执行相应的动作,那合适的时候是什么时候呢,进程捕捉信号的过程究竟是怎么样的呢?本篇博客就…

Python入门(七)if语句(二)

if语句(二) 1.if语句1.1 简单的if语句1.2 if-else语句1.3 if-elif-else结构1.4 使用多个elif代码块1.5 使用多个elif代码块 2.使用if语句处理列表2.1 检查特殊元素2.2 确定列表不是空的2.3 使用多个列表 作者:xiou 1.if语句 前面我们理解了…

React Native技术探究:开发高质量的跨平台移动应用的秘诀

作为一个跨平台移动应用开发框架,React Native在开发过程中能够有效提高开发效率、降低开发成本、缩短上线时间,因此备受开发者的欢迎。然而,如何使用React Native开发出高质量的跨平台移动应用呢?本文将探究这个问题,…

(一)PUN 2基本介绍

一、开始 (一)基本简介 1.简介 Photon Unity Networking (PUN) 是一个用于多人游戏的 Unity 包。灵活的配对让您的玩家进入可以通过网络同步对象的房间。 RPC、自定义属性或“低级别”光子事件只是其中的一些功能。快速且(可选)可靠的通信是通过专用的…

选卡攻略!一分钟教你选择一款好的流量卡!

很多流量卡看似便宜,但用起来套路不少,所以,挑选一款流量卡并不是只看资费,而且要了解它的各个方面,比如:优惠期、合约期等等,今面,小编就带大家一块了解如何选择一款好的流量卡。 …

默认的HuggingFace模型

介绍 在本文中,我将探讨表征学习中常见的一种做法——使用预训练神经网络的冻结状态作为学习特征提取器。 具体而言,我感兴趣的是研究使用这些提取的神经网络特征训练的简单模型的性能与使用迁移学习初始化的微调神经网络的性能的比较。预期受众主要是数…

一款功能强大的多合一聚合支付Discuz插件,可直接替换DiscuzX 3.5自带的支付接口

源码介绍: Discuz论坛多合一聚合支付接口插件,该插件直接替换了自带的支付接口功能, 增强了支付的扩展性,自带支持支付宝、微信、QQ钱包官方支付, 以及彩虹易支付、我爱支付、虎皮椒等支付通道,并且可以…

专家共话:存力一体成“东数西算”全场景利器

从2022年2月17日正式全面启动至今,“东数西算”工程已经度过了一周年。一年多的实践探索证明,激活数据要素,推动算力成为核心生产力,离不开“存力先行”。其中,东西部存力一体化,是支撑“东数西算”全场景应…

「读书感悟系列」友者生存:与人为善的进化力量(我会解释人类善良和暴力的进化原因)...

作者 | gongyouliu 编辑 | gongyouliu ‍ 最近花了不长的时间读完了这本『友者生存:与人为善的进化力量』,由于我对进化生物学非常感兴趣,又有4年的生物学学习背景,读起来还是非常容易的,这本书算是人类进化学的科普读…

tcp cubic 与随机丢包

前面提到过一个 AIMD 的修正方法,“二次机会 MD”:首次丢包只 MD 收缩一个相对较小的比例,再次丢包时再继续收缩,直到 beta * Wmax。 效果如下图: 大意是在检测到丢包时,先 MD 一个相对小的缩放比例&…

DS215KLDCG1AZZ03A如何编写温度比例的代码?

DS215KLDCG1AZZ03A如何编写温度比例的代码&#xff1f; 可编程逻辑控制&#xff0c;简称PLC&#xff0c;由美国机械工程师迪克莫利于1年1968月<>日首次设计。PLC最初是为了减少汽车行业员工的工作量而开发的&#xff0c;从那时起&#xff0c;它们已被用于所有其他恶劣环境…

常用linux多场景查找文件的方法及对比

波哥整理了在linux中根据文件名称查文件&#xff0c;根据文件内容查找文件&#xff0c;根据进程号查找文件的方法及命令详细解释。 一、find命令 find命令可以在指定目录下查找文件&#xff0c;其语法如下&#xff1a; find <目录> <选项> <匹配模式> 选项和…