open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存
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])
- 效果:
- 效果:
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...