如何从存储为 numpy 数组的顶点创建点云文件 (.ply)?

How to create point cloud file(.ply) from vertices stored as numpy array?

我有一些坐标存储为 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中可视化。

我没有人脸信息

您可以使用 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)

你也可以visualize the point cloud using Open3D.

o3d.visualization.draw_geometries([pcd])