首页 > 解决方案 > 如何从存储为 numpy 数组的顶点创建点云文件(.ply)?

问题描述

我有一些顶点的坐标存储为 NumPy 数组。

xyz_np:

array([[  7,  53,  31],
       [ 61, 130, 116],
       [ 89,  65, 120],
       ...,
       [ 28,  72,  88],
       [ 77,  65,  82],
       [117,  90,  72]], dtype=int32)

我想将这些顶点保存为点云文件(例如 .ply)并在 Blender 中可视化。

我没有人脸信息。

标签: pythonpoint-cloudsopen3dpymesh

解决方案


您可以使用Open3D来执行此操作。

# Pass numpy array to Open3D.o3d.geometry.PointCloud and visualize
xyz = np.random.rand(100, 3)
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(xyz)
o3d.io.write_point_cloud("./data.ply", pcd)

您还可以使用 Open3D 可视化点云

o3d.visualization.draw_geometries([pcd])

推荐阅读