1.三維模型獲取
- 可以自己用建模軟件建立一個模型
- 本案例使用模型的下載地址
- 可以從free3d免費下載,無需注冊
文章來源地址http://www.zghlxwxcb.cn/news/detail-507954.html
2.導(dǎo)入open3d
import open3d as o3d
3.open3d模型讀取與可視化
#模型路徑,支持后綴:stl/ply/obj/off/gltf/glb
path_obj = 'Rmk3.obj'
#讀入網(wǎng)格模型
mesh = o3d.io.read_triangle_mesh(path_obj)
#計算網(wǎng)格頂點
mesh.compute_vertex_normals()
#可視化網(wǎng)格模型
o3d.visualization.draw_geometries([mesh])
- 效果:
4.均勻采樣生成點云并可視化
#均勻采樣5000個點
pcd = mesh.sample_points_uniformly(number_of_points=5000)
#可視化點云模型
o3d.visualization.draw_geometries([pcd])
- 效果:
5.泊松采樣并可視化
- 均勻采樣會在表面出現(xiàn)采樣點聚集的現(xiàn)象,open3d實現(xiàn)了一種基于poisson_disk方法的采樣,能實現(xiàn)表面的均勻采樣
- 原理:參數(shù)umber_of_points是最終采樣的點數(shù)量,實際會先采樣init_factor乘umber_of_points數(shù)量的點,然后去除多余的點
- 代碼實現(xiàn):
#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)
文章來源:http://www.zghlxwxcb.cn/news/detail-507954.html
到了這里,關(guān)于open3d,讀取stl/ply/obj/off/gltf/glb三維模型,并轉(zhuǎn)換成點云,保存的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!