まず、私はからテスト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)
<Image.Image image mode=L size=330x44 at 0x2786518>