2015-11-02 148 views
5

虽然使用我为某个项目下载的一些代码并学习Python,但代码所提取的一些文件是保存为.npy数据文件的图像。查看.npy图像

我对Pythonnumpy比较陌生,我发布之前浏览的很多资源都是关于保存为.npy的号码数据。有没有一种方法可以查看使用此扩展名存储的图像以及以该格式保存自己的文件?

回答

6

.npy是numpy的阵列中的文件扩展名 - 您可以使用numpy.load阅读:

import numpy as np 

img_array = np.load('filename.npy') 

一个来查看他们最简单的方法是使用matplotlib的imshow功能:

from matplotlib import pyplot as plt 

plt.imshow(img_array, cmap='gray') 
plt.show() 

你可以也可用PIL or pillow

from PIL import Image 

im = Image.fromarray(img_array) 
# this might fail if `img_array` contains a data type that is not supported by PIL, 
# in which case you could try casting it to a different dtype e.g.: 
# im = Image.fromarray(img_array.astype(np.uint8)) 

im.show() 

这些函数不是Python标准库的一部分,因此如果您尚未安装matplotlib和/或PIL /枕头,则可能需要安装这些函数。我还假设这些文件是像素值的2D [rows, cols](黑白)或3D [rows, cols, rgb(a)](彩色)阵列。如果情况并非如此,那么您将不得不告诉我们更多关于阵列格式的信息,例如img_array.shapeimg_array.dtype是什么。

enter image description here

+0

这是足够的指导,以帮助我弄明白。我认为它们是图像,但实际上它们是从读取图像的程序生成的数组。 –

+0

在使用PyCharm的Windows 10中发现了这个错误https://pastebin.com/CLmS805E –

+0

^错误是由于路径造成的,似乎是一个Python bug! –