当前位置: 首页 > news >正文

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

代码实现

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

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 方法。 

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 可视化生成的点云文件

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()

运行效果 

 

相关文章:

  • MTK Android12 安装app添加密码锁限制
  • Android Framwork 之深入理解 IPC Binder机制
  • vue2安装scss
  • C语言实现十六进制转十进制
  • 谷歌 DeepMind 重磅出击,多款 AI 模型震撼登场
  • 【A2DP】蓝牙音频编解码器互操作性要求详解
  • keepalived系列-自启动配置无效
  • Celery - 入门(get-started)
  • DeepSeek选择方向的优势
  • 阿里巴巴发布 R1-Omni:首个基于 RLVR 的全模态大语言模型,用于情感识别
  • 【数据结构】单链表-c语言
  • vue中,watch里,this为undefined的两种解决办法
  • 哨兵2号遥感影像解析全流程:步骤、算法与AI应用详解
  • 【好书推荐-第一期】《一书读懂物联网:基础知识+运行机制+工程实现》
  • 批量给 Excel 添加或删除密码保护|Excel 批量设置打开密码和只读密码
  • 文档解析:PDF、图片内容deepseek解析出错怎么办?
  • AI时代,GIS的出路:地理智慧的智能化革命
  • Java对接微信支付全过程详解
  • MySQL慢SQL优化方案详解:从诊断到根治的完整指南
  • 实验四 Python聚类决策树训练与预测 基于神经网络的MNIST手写体识别
  • 淘宝上做网站怎么样/seo优化的方法
  • 怎么做劳务公司网站/国内打开google网页的方法
  • 做外贸企业网站要注意哪些/徐州seo排名公司
  • 电脑做网站服务器WIN7 买个域名/适合发朋友圈的营销广告
  • 做网站开始要注意什么/网站关键字优化技巧
  • 呼市城乡建设委员会的网站/廊坊seo网站管理