首先,我从此页面下载了名为的测试TIFF图像a_image.tif
。然后我像这样用PIL打开:
>>> from PIL import Image
>>> im = Image.open('a_image.tif')
>>> im.show()
>>> 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)
<Image.Image image mode=L size=330x44 at 0x2786518>