Pythonでの画像処理:Pillowを使って、画像の加工や変換を行う方法

Pythonで画像処理を行う場合、Pillowはよく使われるライブラリの一つです。PillowはPython Imaging Library(PIL)のフォークであり、Pythonのバージョン2と3の両方で動作します。本記事では、Pillowを使って画像の加工や変換を行う方法を紹介します。

Pillowとは何か?

PillowはPythonの画像処理ライブラリで、画像の読み込み、保存、変換、合成、フィルタリング、エフェクトなどの画像処理を行うことができます。Pillowは、Python Imaging Library(PIL)のフォークであり、PILの改良版として開発されました。Pillowは、Python 2.7.x、Python 3.5.x、Python 3.6.x、Python 3.7.x、Python 3.8.x、Python 3.9.x、Python 3.10.xのすべてのバージョンで動作します。

Pillowをインストールする方法

Pillowをインストールするには、次のコマンドを使用します。

pip install Pillow

画像の読み込みと表示

まずは、Pillowを使って画像を読み込んで表示する方法を見ていきましょう。

from PIL import Image

# 画像を読み込む
image = Image.open("image.jpg")

# 画像を表示する
image.show()

上記のコードでは、ImageモジュールからImageクラスをインポートしています。次に、Image.open()メソッドを使って画像を読み込みます。引数には、読み込む画像のファイルパスを指定します。最後に、image.show()メソッドを使って、画像を表示します。

画像のリサイズ

次に、画像のリサイズ方法を見ていきましょう。

from PIL import Image

# 画像を読み込む
image = Image.open("image.jpg")

# 画像をリサイズする
resized_image = image.resize((500, 500))

# リサイズした画像を表示する
resized_image.show()

上記のコードでは、image.resize()メソッドを使って、画像をリサイズしています。引数には、リサイズ後の幅と高さを指定します。最後に、リサイズした画像を表示しています。

画像の回転

次に、画像の回転方法を見ていきましょう。

from PIL import Image

# 画像を読み込む
image = Image.open("image.jpg")

# 画像を回転する
rotated_image = image.rotate(45)

# 回転した画像を表示する
rotated_image.show()

上記のコードでは、image.rotate()メソッドを使って、画像を回転しています。引数には、回転角度を指定します。最後に、回転した画像を表示しています。

画像の保存

最後に、画像の保存方法を見ていきましょう。

from PIL import Image

# 画像を読み込む
image = Image.open("image.jpg")

# 画像をリサイズする
resized_image = image.resize((500, 500))

# リサイズした画像を保存する
resized_image.save("resized_image.jpg")

上記のコードでは、resized_image.save()メソッドを使って、リサイズした画像を保存しています。引数には、保存するファイル名を指定します。

エラーと対処法

Pillowを使った画像処理中に発生する可能性があるエラーとその対処法を紹介します。

ImportError: cannot import name 'Image'

このエラーは、Pillowが正しくインストールされていない場合に発生します。Pillowがインストールされていることを確認してください。

FileNotFoundError: [Errno 2] No such file or directory: 'image.jpg'

このエラーは、指定されたファイルが存在しない場合に発生します。ファイルの存在を確認してください。

OSError: cannot identify image file 'image'

このエラーは、指定されたファイルが画像ファイルではない場合に発生します。正しい画像ファイルを指定してください。

IOError: cannot write mode RGBA as JPEG

このエラーは、指定された画像のフォーマットが保存するファイル形式と一致しない場合に発生します。ファイル形式を正しく指定してください。

まとめ

Pillowを使って、Pythonで画像の加工や変換を行う方法を紹介しました。具体例として、画像の読み込み、表示、リサイズ、回転、保存方法を示しました。また、発生する可能性があるエラーとその対処法についても紹介しました。Pillowは、Pythonで画像処理を行う場合に非常に便利なライブラリであるため、是非活用してください。これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。

click.linksynergy.com

click.linksynergy.com