open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存

这篇具有很好参考价值的文章主要介绍了open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.三维模型获取

  • 可以自己用建模软件建立一个模型
  • 本案例使用模型的下载地址
  • 可以从free3d免费下载,无需注册

open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存文章来源地址https://www.toymoban.com/news/detail-507954.html

2.导入open3d

import open3d as o3d

3.open3d模型读取与可视化

#模型路径,支持后缀:stl/ply/obj/off/gltf/glb
path_obj = 'Rmk3.obj'
#读入网格模型
mesh = o3d.io.read_triangle_mesh(path_obj)
#计算网格顶点
mesh.compute_vertex_normals()
#可视化网格模型
o3d.visualization.draw_geometries([mesh])
  • 效果:
    open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存

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

#均匀采样5000个点
pcd = mesh.sample_points_uniformly(number_of_points=5000)
#可视化点云模型
o3d.visualization.draw_geometries([pcd])
  • 效果:
    open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存

5.泊松采样并可视化

  • 均匀采样会在表面出现采样点聚集的现象,open3d实现了一种基于poisson_disk方法的采样,能实现表面的均匀采样
  • 原理:参数umber_of_points是最终采样的点数量,实际会先采样init_factor乘umber_of_points数量的点,然后去除多余的点
  • 代码实现:
#poisson_disk方法采样5000个点
pcd = mesh.sample_points_poisson_disk(number_of_points=5000, init_factor=10)
#可视化点云模型
o3d.visualization.draw_geometries([pcd])
  • 效果:可以看出边缘点分布更加均匀,但是耗时更长
    open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存

6.保存点云文件

#保存
o3d.io.write_point_cloud("Rmk3.pcd", pcd)

到了这里,关于open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Open3d读写ply点云文件

    本文为博主原创文章,未经博主允许不得转载。 本文为专栏《python三维点云从基础到深度学习》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/124017716”。         Open3d是由Intel发布的一个开源库,支持快速开发和处理3D数据。Open3D在c++和Python中公开了一组精心选

    2023年04月08日
    浏览(30)
  • vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件

    在线预览地址vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件 效果: 例子使用了.obj 3D文件格式,自带了截图和旋转功能,其他的3D格式只需要切换一个vue的模板标签即可。具体标签格式如下: 可支持obj,dae,ply,json,fbx,stl,gltf等格式的3D文件格式显示。只需要单页面html即

    2024年02月12日
    浏览(42)
  • 使用Open3D进行OBJ模型三维可视化

    使用Open3D进行OBJ模型三维可视化 在三维图像处理领域,OBJ文件是一种常见的三维模型格式,而Open3D则是一个强大的开源3D计算机视觉库。本文将介绍如何使用Open3D对OBJ文件进行可视化。 首先,需要安装Open3D库。使用pip install即可: 接下来,我们可以使用Open3D提供的read_triang

    2024年02月06日
    浏览(49)
  • Open3D读取文件

    Open3D可以读取点云文件,三角网格文件,也可以读取图片。具体方法如下: 一、点云文件操作         Open3D支持的文件格式有xyz,xyzn,xyzrgb,pts,ply,pcd等文件。读取的方式也非常简单。data = o3d.io.read_point_cloud(\\\"文件名“) 1、读写文件         函数原型如下:    

    2024年02月08日
    浏览(38)
  • Open3D-读取深度图

           深度图像(Depth Images)也被称为距离影像(Range Image),是指将从图像采集器到场景中各点的距离值作为像素值的图像,它直接反应了 景物可见表面的几何形状 。获取方法有: 激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。

    2024年02月13日
    浏览(30)
  • Open3D 文件读取与保存(Python版本)

    Open3D支持许多点云格式数据的读取与保存,如下图所示: PointCloudIO.py

    2024年02月11日
    浏览(33)
  • Open3D完全指南:点云读取、保存与显示

    Open3D完全指南:点云读取、保存与显示 Open3D是一款强大的开源库,旨在促进3D计算机视觉和深度学习技术在研究和开发中的应用。在本文中,我们将专注于如何使用Open3D库来读取、保存和显示点云数据。 首先,让我们看看如何从文件中读取点云数据。Open3D支持多种文件格式,

    2024年02月05日
    浏览(28)
  • 第二章 python-pcl、open3d读取、显示pcd、bin等格式点云数据

    点云数据实际上就是许多组点的集合,每个点由{x,y,z}组成。当然理论上的只包含有3D坐标。 实际激光雷达获取的点云数据还会包含强度、反射率等等。但我们一般只用提取{x,y,z}来处理即可。 点云数据相比于其他传感器数据的核心优势就是在于 精准的深度信息。可惜获取具体

    2024年01月16日
    浏览(47)
  • 【Open3D】如何在CMake/C++中调用Open3D

    qquad Open3D是点云的开源处理库,支持Python或C++。其Python已有较全的教程,也可以直接使用 pip install open3d 直接进行安装,而若想在C++中调用Open3D则麻烦一些,需要满足以下条件: Open3D git源代码(本教程针对0.16.1的版本) CMake = 3.20 clang = 7 分为以下几步进行: 下载Open3D源代码

    2023年04月18日
    浏览(33)
  • open3d教程(一):open3d的安装和测试(Python版本)

    Open3d:用于3D数据处理的现代库。 Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。 Open3D 前端在 C++ 和 Python 中公开了一组精心挑选的数据结构和算法。后端经过高度优化,并设置为并行化。我们欢迎来自开源社区的贡献。 Open3d的核心功能: 3D数据结构 3D数据处理算法

    2024年02月17日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包