作为一个小白,之前对网格做预处理的批处理的时候都是想办法找的meshlab的源码,很不方便,最近才知道python有个叫pymeshlab的神仙库,分享一下,使用非常方便。(我之前可是受苦了,希望不要再有人受我这样的苦了)
工具
pyMeshLab
官方文档
github主页
PyPI主页
使用
使用方法就查看官方文档就好了,是python的一个库,几乎所有meshlab的功能在这边都有对应的方法
安装只需用命令pip3 install pymeshlab
即可
示例
对一个文件夹下的网格进行去重,并且进行泊松盘采样
ipath = r'.\ShapeNet\ShapeNetCore.v2\02691156'
opath = r'.\ShapeNet\02691156'
if not os.path.isdir(opath):
os.makedirs(opath)
for item in os.scandir(ipath):
ms = pymeshlab.MeshSet()
ms.load_new_mesh(item.path)
# 去除重复的面
ms.apply_filter('meshing_merge_close_vertices')
# 去除零面积面
ms.apply_filter('meshing_remove_null_faces')
# 去除孤立的顶点
ms.apply_filter('meshing_remove_unreferenced_vertices')
# 泊松盘采样
ms.apply_filter('generate_sampling_poisson_disk',samplenum = 500000)
ms.save_current_mesh(opath + item.name+".ply", binary=False)
怎么样是不是用起来很方便