1.三维模型获取

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

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])
  • 效果:

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

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

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])
  • 效果:可以看出边缘点分布更加均匀,但是耗时更长

6.保存点云文件

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

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

  1. RGBD 转换成点云 open3d

    深度图转为点云说白了其实就是坐标系的变换:图像坐标系-->世界坐标系.变换的约束条件就是相机内参,公式很简单: ,其中x,y,z是点云坐标系,x',y'是图像坐标系,D为深度值. 在进行上述转换 ...

  2. 如何将stl模型,转换成点云文件)

    如何将stl模型,转换成点云文件) 借用cloudcompare 借用cloudcompare 步骤 :打开cloudcompare-> file->open ->你的stl文件-& ...

  3. 读取哔哩哔哩网站下载的json字幕,并将其内容转换成srt字幕保存

    Matlab实现json字幕转换为srt字幕(哔哩哔哩网站下载的json字幕) 在B站下载了一个英文视频,点开来看,发现没有字幕,又在B站上下了字幕,是json格式的,但我的PotPlayer不支持j ...

  4. 10_OpenCV读取原始raw(raw10和raw8),转换成rgb和灰度图,并显示

    void ReadRaw8(){std::string strFilename = "raw8.raw";int nWidth = 1456;int nHeight = 1096; ...

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

    1.三维模型获取 可以自己用建模软件建立一个模型 从free3d免费下载 2.关键函数 open3d.visualization.draw_geometries 参数: geometry_list(L ...

  6. obj、gltf、glb、fbx、b3dm模型项目汇总

    网址:https://github.com/einstein20050430/Fast-Quadric-Mesh-Simplification 项目:Fast-Quadric-Mesh-Simplif ...

  7. threejs 导出obj_Three.js保存导出.ply、.obj、.GLTF等格式三维模型

    Three.js保存导出.ply..obj..GLTF等格式三维模型 无论Three.js加载的任意格式三维模型,还是通过Threejs的API创建的一个三维模型,都可以导出为一个文件保存三维场景的数 ...

  8. python读取.stl文件(以及转换为obj方法)

    目录 .1 文本方式读取 1.2 stl解析 1.3 stl创建 .2 把点转换为.stl .3 stl组装 .4 stl转obj(带f法向量的obj) .5 ply生成 .1 文本方式读取 代码如下 ...

  9. 点云文件常用格式转换(pcd,txt,ply,obj,stl)

    目录 pcd转txt txt转pcd pcd转ply pcd转ply(三角网格化) ply转pcd obj/ply转pcd(均匀采样) pcd转obj stl转ply ply转stl pcd转txt ...

最新文章

  1. Mybatis【一对多、多对一、多对多】知识要点
  2. 转:【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
  3. [Qt教程] 第31篇 网络(一)Qt网络编程简介
  4. Linux中的进程组及会话
  5. SpringCloud熔断器介绍
  6. malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗?
  7. 计算机TXT试题,全国计算机二级试题.txt
  8. 三星mega2 android os,GALAXY MEGA2
  9. Android音乐播放器-使用FFmpeg及OpenSLES
  10. Leetcode46. Permutations全排列
  11. Android SurfaceView概述
  12. vue页面回显数据_解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题...
  13. Python 实现最简单的元胞自动机
  14. PyCharm小技巧分享—主菜单消失再显示
  15. uniapp生成海报
  16. 面对失败计算机科学家,面对巨大挫折,仍毫不畏惧、坚韧不拔的名人事例
  17. 苍穹变服务器维护中,苍穹变7月1日更新维护公告
  18. ps使用,绘制外观图
  19. 超详细版:Python 这样安装如此简单(Windows)
  20. Godaddy ssl续费更新问题总结

热门文章

  1. 【祝贺】绍兴市首个爱心助残协会(慈善组织)成立
  2. k30s刷鸿蒙系统,RedmiK30S或于10月27日发布:今年最后一款骁龙865手机
  3. [阅读笔记]蘑菇书《Easy RL》
  4. 展现巨星风采!字母哥关键时刻挺身而出
  5. 软件:股票小助手/盯盘小助手!
  6. Oracle高级数据库复习
  7. 基于React Native和Ethers.js的电子钱包(二):路由和导航
  8. Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)
  9. 解决封号 Walmart最全申诉步骤
  10. 腾讯云轻量应用服务器搭建即时通信 IM系统