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の基礎学習には下記のようなサイトの利用が有効です。