使用 Pymesh 加载和读取 ply 文件
Posted
技术标签:
【中文标题】使用 Pymesh 加载和读取 ply 文件【英文标题】:Load and read ply files with Pymesh 【发布时间】:2016-05-05 14:09:09 【问题描述】:我正在尝试使用 PyMesh 和此行命令加载/读取层文件:
mesh = pymesh.load_mesh("model.obj")
就像在http://pymesh.readthedocs.io/en/latest/basic.html 中一样。
但这给了我一个错误“AttributeError:'module'对象没有属性'load_mesh'”。
我做错了吗?另外我想知道 PyMesh 是否真的允许在 3d 中可视化对象。
谢谢。
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:如果您使用 pip 安装,您可能没有获得您打算使用的 pymesh 模块。由于您正在寻找 load_mesh() 方法,因此您需要使用此安装指南:http://pymesh.readthedocs.io/en/latest/installation.html。
【讨论】:
@Bárbara Duarte :遵循此文档页面中的构建和安装步骤使其对我有用。我赞成这个答案,并建议您选择它作为答案。 这绝对是解决问题的办法。 Python Package Index page for pymesh 是一个完全不同的包,只支持加载 STL 和 OBJ 文件。这个答案为 OP 正在寻找的 pymesh 包链接了适当的包。【参考方案2】:实际上有两个模块名为pymesh
。
和田卓郎的《Pymesh》
如果您使用 pip
安装 pymesh,则您正在安装 this one,它具有以下 GitHub page.
上面写着:.sty 和 .obj
周青南的《Pymesh》
如果您想安装http://pymesh.readthedocs.io/en/latest/,您必须遵循安装指南here。
它更复杂,我从来没有设法让它工作,但它也应该是 .ply。
【讨论】:
我成功编译pymesh.readthedocs.io/en/latest 没有问题。在 Ubuntu 16.04 中,我只需要手动更新我的 cmake 即可满足依赖关系。【参考方案3】:附带说明,meshio(我的一个项目)现在也支持 PLY。安装
pip3 install meshio
并在命令行上使用
meshio-convert in.ply out.vtk
或来自 Python 之类的
import meshio
mesh = meshio.read("in.ply")
# mesh.points, mesh.cells, ...
【讨论】:
【参考方案4】:由于您正在寻找load_mesh()
方法,我认为您正在寻找this library。
这是相关的doc。
如果为真,则必须安装 pymesh2
pip install pymesh2
否则,您必须按照已经建议的那样遵循 that page 中包含的说明,但它们更复杂。
【讨论】:
【参考方案5】:要么你没有导入pymesh库
import pymesh
或
您在执行此文件的目录中有一个名为 pymesh.py 的文件。
如果是这种情况,请将文件重命名为其他名称。
【讨论】:
感谢您的回答。我导入 pymesh 并且没有名为 pymesh.py 的文件。导入没问题,但错误是关于“load_mesh”功能。我不知道我是否使用了正确的库,因为我找到了这个pymesh.readthedocs.io/en/latest 和这个pypi.python.org/pypi/pymesh。是一样的吗?每个人的教程都不一样。 我需要打开 ply 文件,但在 pymesh 页面 (github.com/taxpon/pymesh) 中说只打开 STL 和 OBJ。我很困惑。 Alex 的回答更可能是这种情况,pip install pymesh 获得的包与 OP 希望使用的包不同(基于他提供的文档)。以上是关于使用 Pymesh 加载和读取 ply 文件的主要内容,如果未能解决你的问题,请参考以下文章