我遇到了一个问题。我正在尝试创建图像从二进制数据,我从超光谱相机。我有文件是在BSQ uint16格式。从文档中,我发现图像包含在文件中(.dat)的分辨率为1024x1024,总共有24张图片,整个事情就是形成一种“立方体”我希望将来能用它来制作多层的正镶嵌图案。
我还想补充的是,我是一个完全新的Python,但我试图与我所需要的一切都是最新的。我希望我所写的一切都是清晰和可理解的。
一开始我尝试使用Numpy liblary来创建3D阵列,但最终得到了随机像素的排列。
from PIL import Image
import numpy as np
file=open('Sequence 1_000021.dat','rb')
myarray=np.fromfile(file,dtype=np.uint16)
print('Size of new array',":", len(myarray))
con_array=np.reshape(myarray,(24,1024,1024),'C')
naPIL=Image.fromarray(con_array[1,:,:])
naPIL.save('naPIL.tiff')
结果:enter image description here
我想获得的图像示例(缩略图):enter image description here
1条答案
按热度按时间vfh0ocws1#
正如所怀疑的,这只是字节顺序,当在Jupyter笔记本中运行以下代码时,我得到了一个看起来很明智的图像: