首先,我从
this page下载了一个测试TIFF图像,名为a_image.tif。然后我打开了PIL像这样:
>>> from PIL import Image
>>> im = Image.open('a_image.tif')
>>> im.show()
这显示了彩虹的图像。要转换为numpy数组,它就像下面这样简单:
>>> import numpy
>>> imarray = numpy.array(im)
我们可以看到,图像的大小和数组的形状匹配:
>>> imarray.shape
(44, 330)
>>> im.size
(330, 44)
数组包含uint8值:
>>> imarray
array([[ 0, 1, 2, ..., 244, 245, 246],
[ 0, 1, 2, ..., 244, 245, 246],
[ 0, 1, 2, ..., 244, 245, 246],
...,
[ 0, 1, 2, ..., 244, 245, 246],
[ 0, 1, 2, ..., 244, 245, 246],
[ 0, 1, 2, ..., 244, 245, 246]], dtype=uint8)
一旦你完成数组的修改,你可以把它变回一个PIL图像像这样:
>>> Image.fromarray(imarray)