Python 3 で PIL 画像を NumPy 配列に変換する方法は?

PYTHON3 チュートリアル

Python 3でPIL画像をNumPy配列に変換する方法

Pythonは、多くの画像処理ライブラリを提供しており、その中でもPillow(PIL)は非常に人気があります。Pillowを使用することで、画像を簡単に操作でき、さらにNumPyと組み合わせることで、数値計算を効率的に行うことができます。本記事では、Pillowで読み込んだ画像をNumPy配列に変換する方法を詳しく解説します。

PillowとNumPyのインストール

まず、PillowとNumPyをインストールする必要があります。これらのライブラリはpipを使用して簡単にインストールできます。

pip install pillow numpy

画像をPILで読み込む

最初に、Pillowを使用して画像を読み込みます。以下のコードでは、サンプル画像を開きます。

from PIL import Image

# 画像を開く
image = Image.open('sample.jpg')
image.show()  # 画像を表示

このコードを実行すると、指定した画像ファイルが開かれ、表示されます。

画像をNumPy配列に変換する

次に、PIL画像をNumPy配列に変換します。これは非常に簡単で、NumPyのarray関数を使用するだけで実現できます。

import numpy as np

# PIL画像をNumPy配列に変換
image_array = np.array(image)

print(image_array.shape)  # 配列の形状を出力

このコードを実行すると、画像の配列形状が表示されます。例えば、RGB画像の場合、出力は(高さ, 幅, 3)の形になります。

NumPy配列を操作する

NumPy配列に変換した後は、様々な操作が可能です。例えば、画像をグレースケールに変換したり、特定の色チャネルを抽出したりできます。

# グレースケールに変換
gray_image_array = np.mean(image_array, axis=2)

# グレースケール画像の形状を出力
print(gray_image_array.shape)

このコードは、RGB画像をグレースケールに変換し、その形状を出力します。グレースケール画像の形状は(高さ, 幅)になります。

NumPy配列をPIL画像に戻す

最後に、NumPy配列を再びPIL画像に戻すことも可能です。これは、PILのImage.fromarray関数を使用します。

# NumPy配列をPIL画像に変換
new_image = Image.fromarray(image_array)

# 画像を保存
new_image.save('new_sample.jpg')

このコードは、NumPy配列から新しい画像を生成し、それをファイルとして保存します。これにより、画像処理の結果を保存して共有することができます。

まとめ

PythonのPillowとNumPyを使用することで、画像を簡単に操作し、数値計算を行うことができます。これにより、画像処理の可能性が大幅に広がります。ぜひ、この記事を参考にして、画像処理のプロジェクトに挑戦してみてください。

Python 3 で PIL(Python Imaging Library)画像を NumPy 配列に変換する方法は、以下の手順に従います:

1. PIL ライブラリをインストールします(PIL は現在 Pillow として知られています)。
2. PIL で画像を開きます。
3. 画像を NumPy 配列に変換します。これには、numpy ライブラリをインポートして、`numpy.array()` メソッドを使用します。

以下は、簡単なコード例です:

“`python
from PIL import Image
import numpy as np

# 画像を開く
img = Image.open(‘image.jpg’)

# 画像を NumPy 配列に変換
img_array = np.array(img)
“`

このようにすると、PIL で開いた画像が NumPy 配列として変換されます。NumPy 配列を使用することで、画像データを効率的に処理できるようになります。

購読
通知
0 Comments
Inline Feedbacks
View all comments