PIL イメージを NumPy 配列に変換する

Muhammad Maisam Abbas 2023年1月30日
  1. Python の numpy.array() 関数を使用して、PIL イメージを NumPy 配列に変換する
  2. Python の numpy.asarray() 関数を使用して、PIL イメージを NumPy 配列に変換する
PIL イメージを NumPy 配列に変換する

このチュートリアルでは、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 の形状を出力しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn