Pythonで画像処理を行う際、NumPyとPillow (PIL)は非常に重要なライブラリです。これらのライブラリは、画像データの操作と変換を容易にします。
NumPyとPillowの相互変換
Pythonで画像処理を行うとき、画像データは通常、NumPyのndarray形式またはPillowのPIL.Image形式で扱われます。以下に、これらの形式間での変換方法を示します。
NumPyからPillowへの変換
NumPyからPillowへの変換は、Pillowの fromarray
関数を使用します。
from PIL import Image
pil_image = Image.fromarray(numpy_image)
PillowからNumPyへの変換
PillowからNumPyへの変換は、NumPyの array
関数を使用します。
import numpy as np
numpy_image = np.array(pil_image)
注意点
Pillowのモノクロ画像をNumPyへ変換したときは [画像の高さ, 画像の幅]
の順の二次元配列となります。一方、Pillowのカラー画像をNumPyへ変換したときは [画像の高さ, 画像の幅, 色 (R, B, Gの順)]
の順の三次元配列となります。
以上、Python, NumPy, PILを用いた画像処理について簡単に説明しました。これらのライブラリを使いこなすことで、より高度な画像処理が可能になります。