OBJ文件生成PCD文件(python 实现)

ops/2025/3/14 16:56:38/

代码实现

将 .obj 文件转换为 .pcd(点云数据) 代码文件。

python">import open3d as o3d# 加载 .obj 文件
mesh = o3d.io.read_triangle_mesh("bunny.obj")# 检查是否成功加载
if not mesh.has_vertices():print("无法加载 .obj 文件,请检查文件路径")exit()# 提取顶点作为点云
point_cloud = o3d.geometry.PointCloud()
point_cloud.points = mesh.vertices# 保存为 .pcd 文件
o3d.io.write_point_cloud("bunny.pcd", point_cloud, write_ascii=True)
print("点云已保存为 bunny.pcd")

从 .obj 文件的表面生成更密集的点云(不仅仅是顶点),可以使用 sample_points_poisson_disk 方法。 

python">import open3d as o3d# 读取.obj文件
mesh = o3d.io.read_triangle_mesh("bunny.obj")# 从网格中提取点云
point_cloud = mesh.sample_points_poisson_disk(number_of_points=10000)# 保存为.pcd文件
o3d.io.write_point_cloud("bunny.pcd", point_cloud, write_ascii=True)print("转换完成,文件已保存为 bunny.pcd")

点云可视化

使用 Open3D 可视化生成的点云文件

python">import open3d as o3d# 从文件加载点云
points = o3d.io.read_point_cloud("bunny.pcd")# 创建 Visualizer 对象
vis = o3d.visualization.Visualizer()# 设置窗口宽度和高度
window_width = 1200  # 设置窗口宽度
window_height = 800  # 设置窗口高度# 创建窗口
vis.create_window(width=window_width, height=window_height)# 添加点云到可视化窗口
vis.add_geometry(points)# 运行可视化
vis.run()

运行效果 

 


http://www.ppmy.cn/ops/165713.html

相关文章

Manus:成为AI Agent领域的标杆

一、引言 官网:Manus 随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独…

C# net deepseek RAG AI开发 全流程 介绍

deepseek本地部署教程及net开发对接 步骤详解:安装教程及net开发对接全流程介绍 DeepSeekRAG 中的 RAG,全称是 Retrieval-Augmented Generation(检索增强生成),是一种结合外部知识库检索与大模型生成能力的技术架构。其…

2025年03月11日Github流行趋势

项目名称:pydoll 项目地址url:https://github.com/thalissonvs/pydoll项目语言:Python历史star数:1372今日star数:148项目维护者:thalissonvs, apps/github-actions, LucasAlvws, CaioWzy, Patolox项目简介…

PHP语言的开源贡献

PHP语言的开源贡献及其影响 引言 在互联网技术飞速发展的今天,开源软件已经成为了软件开发的重要组成部分。它不仅改变了我们开发和使用软件的方式,更在促进技术共享、推动创新和降低开发成本等方面发挥了重要作用。而在众多的开源项目中,P…

golang的Map

Map集合 概述 Map 是一种无序的键值对的集合。 Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map…

leetcode0056. 合并区间 - medium

1 题目:合并区间 官方难度 - 中等 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1…

idea超级AI插件,让 AI 为 Java 工程师

引言​ 用户可在界面中直接通过输入自然语言的形式描述接口的需求,系统通过输入的需求自动分析关键的功能点有哪些,并对不确定方案的需求提供多种选择,以及对需求上下文进行补充,用户修改确定需求后,系统会根据需求设…

PyTorch 和 Python关系

1 PyTorch 和 Python关系 PyTorch 和 Python 是两个不同但相互关联的工具,主要用于机器学习和深度学习领域。以下是它们之间的关系和各自的作用: Python 编程语言: Python 是一种高级编程语言,以其简洁易读的语法而闻名。广泛使用: Python…