我正在使用包含MPI浮士德数据集的.ply网格文件。
.ply头如下所示:
ply
format binary_little_endian 1.0
element vertex 6890
property float x
property float y
property float z
element face 13776
property list uchar int vertex_indices
end_header我能够使用pymesh库加载它们:
a = pymesh.load_mesh("tr_scan_019.ply")
a.vertices
array([[ 0.00294954, 0.3746013 , -0.18593594],
[-0.01065227, 0.30154902, 0.03721469],
[ 0.01176361, 0.37961864, -0.18658873],
...,
[ 0.39272201, 1.0824883 , 0.0319973 ],
[-0.29185328, 1.00391781, 0.03810745],
[ 0.39623857, 1.08823442, 0.03612268]])
>>> a.faces
array([[ 49533, 45416, 52207],
[141371, 38353, 56906],
[ 57747, 59888, 43636],
...,
[132845, 180118, 175435],
[166162, 173001, 166963],
[177654, 173001, 166162]], dtype=int32)我需要加载到一个可读的matlab网格格式,因为我有网格处理功能,我写的matlab。
我试着使用matlab函数来加载它们,但它们都是从2015年开始的,但是没有工作(例如,gptoolbox只读取顶点)。
有没有办法把网格写成可读的matlab格式,这样我以后就可以在matlab中正确地阅读它了吗?
发布于 2019-10-19 12:27:45
您可以使用中雄 (我的一个项目)将您的ply文件转换成一系列其他格式,也许其中一种格式在MATLAB中是本机可读的。只是
pip3 install meshio --user然后
meshio-convert in.ply out.vtk在命令行上。
如果这不起作用,您可以将数据从Python中转储到一些简单的东西,如csv,
import meshio
mesh = meshio.read("in.ply")
# mesh.points, mesh.cells, ...https://stackoverflow.com/questions/55990174
复制相似问题