三维重建之xyz文件读取与显示
本文是自己在做实验的时候脑子突然抽筋,没有想起来如何展示xyz文件了,所以做一下笔记,顺便把ply文件的生成方式也放上面。唉~!年纪大了,脑子不好使了直接上代码吧!import numpy as npimport matplotlib.pylab as pltfrom mpl_toolkits.mplot3d import Axes3D#输出三维点必须要导入此包,否则会 Error:3dx,y,z
·
本文是自己在做实验的时候脑子突然抽筋,没有想起来如何展示xyz文件了,所以做一下笔记,顺便把ply文件的生成方式也放上面。唉~!年纪大了,脑子不好使了
直接上代码吧!
import numpy as np
import matplotlib.pylab as plt
from mpl_toolkits.mplot3d import Axes3D #输出三维点必须要导入此包,否则会 Error:3d
x,y,z = np.loadtxt('car_.xyz').T #读取点云xyz文件
print(x,y,z) #测试一下,看看能不能输出我们想要的x,y,z
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_xlim(-0.5, 0.5)
ax.set_ylim(-0.5, 0.5)
ax.set_zlim(-0.5, 0.5)
for i in range(len(x)):
ax.scatter(x[i], y[i], z[i],s=10, c='#000000', depthshade=True,marker='.')
ax.axis('off')
ax.view_init(azim=92, elev=101) #设置初始三维点云摄像机视角角度
plt.show()
显示结果:
接下来是补充ply点云的生成代码片段,做个备注
file = open(ply_file,"w")
file.write('''ply
format ascii 1.0
element vertex %d
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
property uchar alpha
end_header
%s
'''%(len(points),"".join(points)))
file.close()
如果大家想知道点云xyz如何生成的,或者从单视图如何训练生成点云的,可以加群讨论,尤其是热爱三维重建的哥们姐们儿(进群禁止发广告,一经发现立马踢出去)
更多推荐
所有评论(0)