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

Aus*_*404 11 python point-clouds open3d pymesh

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

xyz_np:

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

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

我没有脸部信息。

Jin*_*hao 17

您可以使用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)
Run Code Online (Sandbox Code Playgroud)

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

o3d.visualization.draw_geometries([pcd])
Run Code Online (Sandbox Code Playgroud)