Conversión entre nubes de puntos y matrices numpy en open3d

En open3d, después de usar open3d.io.read_point_cloud() para leer los datos de la nube de puntos, los datos devueltos son del tipo de nube de puntos. A veces se espera que se pueda usar numpy para procesar la nube de puntos. En este momento, es necesario convertir entre los dos (estrictamente hablando, es solo que los datos se copian y retransmiten).
1. Convierta la nube de puntos en numpy

import numpy as np
import open3d as o3d
A=[]
pcd=o3d.io.read_point_cloud("/bunny.ply")#路径需要根据实际情况设置
A=np.asarray(pcd.points)#A已经变成n*3的矩阵
print(A)

2. Los datos en la matriz numpy se convierten en una nube de puntos

#这里B已经是一个n*3的numpy.ndarray(也就是常见的数组类型)
pcd=o3d.geometry.PointCloud()#实例化一个pointcloud类
pcd.points=o3d.utility.Vector3dVector(B)#给该类传入坐标数据,此时pcd.points已经是一个点云了
o3d.visualization.draw_geometries([pcd])#显示一下

Referencia 1
Referencia 2

Supongo que te gusta

Origin blog.csdn.net/ZauberC/article/details/129885903
Recomendado
Clasificación