open3d读取npy点云⽂件
npy是python的⼀种数据格式。可以使⽤np.load()读取。所以可以先将npy读取再保存为txt⽂件再使⽤open3d进⾏读取。完整代码如下:
import numpy as np
np.set_printoptions(suppress=True)
# 作⽤是取消numpy默认的科学计数法,测试表明open3d点云读取函数没法读取科学计数法的表⽰
import open3d as o3d
python怎么读取文件中的数据data = np.load('scene0000_00_vert.npy')
txt_data = np.savetxt('', data)
pcd = ad_point_cloud('', format='xyzrgb')
# 此处因为npy⾥⾯正好是 x y z r g b的数据排列形式,所以format='xyzrgb'
print(pcd)
o3d.visualization.draw_geometries([pcd], width=1200, height=600) # 可视化点云
【issues】
1.上⽂提到的科学计数法问题,解决⽅式代码已注明。
2.npy读出来的原数据rgb值不满⾜open3d需要的在0-1之间,所以需要将data这个数组的最后3列每列除以255操作再保存。【代码中省略了,参考如下⽰例代码】
import numpy as np
a1 = np.array([[3,2,3],[2,3,5]],dtype=int)
a2=np.array([1,2,3],dtype=int)
print a1/a2
以下是⼀些关键词。
python怎么把⼀个数组某⼀列除以特定的数
numpy将数据保存为txt⽂件