HOWTO · NumPy
PIL イメージを NumPy 配列に変換する
Python で PIL イメージを 3 次元の NumPy 配列に変換するために使用できる主なメソッドは、numpy.array()関数と numpy.asarray()関数の 2つです。
このページの内容
このチュートリアルでは、Python で PIL 画像を 3 次元の NumPy 配列に変換する方法について説明します。
Python の numpy.array() 関数を使用して、PIL イメージを NumPy 配列に変換する
PIL は、Python で画像に対してさまざまな操作を実行するために使用されます。Pillow ライブラリには、Python プログラミング言語がプリインストールされていません。したがって、最初にインストールする必要があります。Pillow ライブラリをインストールするコマンドを以下に示します。
pip install Pillow
PIL ライブラリによって読み取られた画像を NumPy 配列に変換する場合は、numpy.array() 関数を使用できます。numpy.array() 関数は、numpy 配列を作成して初期化します。numpy.array() 関数は、PIL 画像を 3 次元配列に変換します。次のコード例を参照してください。
import numpy as np
from PIL import Image
img = Image.open("NASA.jpg")
imgArray = np.array(img)
print(imgArray.shape)
出力:
(90, 240, 3)
上記のコードでは、numpy.array() 関数を使用して、PIL 画像 img を 3 次元の NumPy 配列 imgArray に変換しました。Python の Image.open() 関数を使用して、変数 img 内の画像を読み取ります。次に、Python の numpy.array() 関数を使用して、img を NumPy 配列 imgArray に変換しました。最後に、print() 関数を使用して imgArray の形状を出力しました。
Python の numpy.asarray() 関数を使用して、PIL イメージを NumPy 配列に変換する
numpy.asarray() 関数を使用して、前の例と同じ目標を達成することもできます。numpy.asarray() 関数も numpy 配列を作成して初期化します。画像を numpy.asarray() 関数に渡すことで、PIL 画像を numPy 配列に変換できます。次のコード例を参照してください。
import numpy as np
from PIL import Image
img = Image.open("NASA.jpg")
imgArray = np.asarray(img)
print(imgArray.shape)
出力:
(90, 240, 3)
上記のコードでは、Python の numpy.array() 関数を使用して、PIL 画像 img を 3 次元 NumPy 配列 imgArray に変換しました。Python の Image.open() 関数を使用して、img 変数にをロードしました。次に、Python の numpy.asarray() 関数を使用して、img 画像を NumPy 配列 imgArray に変換しました。最後に、print() 関数を使用して imgArray の形状を出力しました。