将TIFF图像加载为numpy数组

时间:2015-03-18 18:45:19

标签: python arrays numpy python-imaging-library

我在Python中加载了一系列tiff图像。

首先我使用:

im=Image.open(*)

正确加载和显示。

>>> im
PIL.TiffImagePlugin.TiffImageFile image mode=I;16 size=1408x1044 at 0x116154050
>>> type(im)
instance
>>> im.size
(1408, 1044)

然后我用:

imarray=numpy.array(im)

其中

>>> imarray.shape
()
>>> imarray.size
1
>>> type(imarray)
numpy.ndarray
>>>  imarray
array(PIL.TiffImagePlugin.TiffImageFile image mode=I;16 size=1408x1044 at 0x116154050, dtype=object)

我已阅读this previous post并按照其中的说明操作,但我无法与imarray.shapeim.size匹配。

2 个答案:

答案 0 :(得分:0)

这是一个将数据复制到numpy数组的解决方案。

Wild.jpg'

答案 1 :(得分:0)

对于TIFF图像,您只需使用imageio

im = imageio.imread('filename')

有时您可能进一步需要

im = np.array(im)