Bootstrap

trimesh库一个令人无语的bug分享

mesh = trimesh.Trimesh(vertices=np.asarray(cloud_xyz), vertex_colors= np.asarray(cloud_rgb))  
mesh.export(opath, file_type="ply")  

上面这段程序是将一个包含xyzrgb的数据保存到ply文件中,然后trimesh有一个process参数,该参数是默认开启的,其作用是滤除一些无效的点(例如,重复点、非值点),即实际这段代码是这样的:

mesh = trimesh.Trimesh(vertices=np.asarray(cloud_xyz), vertex_colors= np.asarray(cloud_rgb), process=True)  
mesh.export(opath, file_type="ply")  

这种默认的开启很有可能导致你之前给点云打的标签对应不上点云啦,还找不到错误。不过把process设为False,它就不会自动过滤啦。

更!更!更!加无语的bug在后面,我想回头看看它滤除的点是否有道理,再次令process=True,结果它开不起来了,不会自动滤除啦!!! 也不知道内部是如何实现的,触发过滤的条件到底是什么。

;