pythonplyfile与pymesh
我需要用Python读取、操作和编写PLY文件。是一种用于存储三维对象的格式。通过简单的搜索,我找到了两个相关的库,以及。有没有人对其中任何一种都有经验,有没有人有什么建议<根据Github的判断,code>plyfile似乎已经休眠了一年pythonplyfile与pymesh,python,ply-file-format,Python,Ply File Format,我需要用Python读取、操作和编写PLY文件。是一种用于存储三维对象的格式。通过简单的搜索,我找到了两个相关的库,以及。有没有人对其中任何一种都有经验,有没有人有什么建议plyfile似乎已经休眠了一年 我知道这个问题激发了基于观点的答案,但我真的不知道还有什么地方可以问这个问题。我在处理点云时成功地使用了plyfile 诚然,该项目很久以来没有出现任何活动,但它满足了它的目的 这与解析ply文件不同,ply文件允许您通过添加新功能来重新创建自己 另一方面,PyMesh除了解析ply文件之外,
我知道这个问题激发了基于观点的答案,但我真的不知道还有什么地方可以问这个问题。我在处理点云时成功地使用了
plyfile
诚然,该项目很久以来没有出现任何活动,但它满足了它的目的
这与解析ply文件不同,ply文件允许您通过添加新功能来重新创建自己
另一方面,PyMesh
除了解析ply文件之外,还提供了许多其他功能
所以问题可能是:
您是想“读取、操作和写入PLY文件”,还是想寻找一个提供更多额外功能的库
我之所以选择plyfile
,是因为我只需复制一个源文件,就可以将它合并到我的项目中。另外,我对PyMesh提供的任何其他功能都不感兴趣
更新 我结束了编写自己的函数来读/写ply文件(支持ascii和二进制),因为我发现plyfile源代码有点凌乱 如果有人感兴趣,请点击以下链接: 我刚刚更新了PLY,支持其他20种格式。安装
pip3 install meshio --user
并在命令行上使用
meshio-convert in.ply out.vtk
或者从类似Python的内部
导入meshio
网格=网格读数(“in.ply”)
#mesh.points、mesh.cells等。。。
我推出了自己的ascii-ply编写器(因为它非常简单,我不想使用依赖项)。后来,我很懒,依赖于plyfile来加载来自其他地方的二进制.ply文件。还没有什么着火
值得一提的是,无论好坏,.ply格式都是可扩展的。我们将自定义数据硬塞进其中,这很容易,因为我们还编写了自己的编写器。截至(2020年1月)
无,请使用open3d。这是最简单的方法,可以将.ply文件直接读取到numpy中
import numpy as np
import open3d as o3d
# Read .ply file
input_file = "input.ply"
pcd = o3d.read_point_cloud(input_file) # Read the point cloud
# Visualize the point cloud within open3d
o3d.draw_geometries([pcd])
# Convert open3d format to numpy array
# Here, you have the point cloud in numpy format.
point_cloud_in_numpy = np.asarray(pcd.points)
参考资料:
plyfile
和Open3D。plyfile
的优点在于它非常轻量级。我认为Open3D不适合作为我所问问题的答案,因为它的重量非常重,而且不仅仅是读写PLY文件。我还使用Open3D做了很多其他的事情,我完全推荐任何人反对它。它的文档不是很好,只是使用起来很笨拙。将第5行和第7行更新为:o3d.io.read\u point\u cloud(输入文件)
和o3d.visualization.draw\u geometry([pcd])