この記事では、Pythonで画像処理を行うための標準的なライブラリであるPillow
(PIL Fork)の基本的な使い方を解説します。第1回では、画像の読み込み、プロパティの確認、保存、そして新しい画像の生成方法に焦点を当てます。
1. 準備:Pillowのインストール
Pillowはサードパーティ製のライブラリなので、使用する前にインストールが必要です。
pip install Pillow
また、操作対象の画像ファイル(例: sample.png
)をスクリプトと同じフォルダに準備してください。
2. 画像を開き、プロパティを確認する
Image.open()
関数を使うことで、画像ファイルを開き、Image
オブジェクトとして読み込むことができます。
Image
オブジェクトは、画像の幅、高さ、ファイル名、フォーマットといった様々な情報(プロパティ)を属性として持っています。
from PIL import Image
try:
# 画像ファイルを開く
img = Image.open('sample.png')
# 画像のプロパティを確認
print(f"サイズ (幅x高さ): {img.size}")
width, height = img.size
print(f"幅: {width}, 高さ: {height}")
print(f"ファイル名: {img.filename}")
print(f"フォーマット: {img.format} ({img.format_description})")
except FileNotFoundError:
print("エラー: sample.pngが見つかりません。")
3. 画像の保存とフォーマット変換
Image
オブジェクトの.save()
メソッドを使うと、画像ファイルとしてディスクに保存できます。このとき、拡張子を変えて保存することで、簡単に画像フォーマットを変換できます。
from PIL import Image
try:
img = Image.open('sample.png')
# .jpg形式で画像を保存
img.save('sample_converted.jpg')
print("sample_converted.jpg を保存しました。")
except FileNotFoundError:
print("エラー: sample.pngが見つかりません。")
4. 新しい画像を生成する
Image.new()
関数を使うと、プログラムで新しい画像をゼロから生成できます。
Image.new(mode, size, color)
mode
: カラーモードを指定します。'RGBA'
(赤緑青+透明度)が一般的です。size
:(幅, 高さ)
のタプルでサイズを指定します。color
: 色を文字列(例:'blue'
)やRGBA値のタプルで指定します。省略すると透明な画像になります。
from PIL import Image
# 200x200の青い画像を生成
blue_img = Image.new('RGBA', (200, 200), 'blue')
blue_img.save('blue_image.png')
# 50x50の透明な画像を生成
transparent_img = Image.new('RGBA', (50, 50))
transparent_img.save('transparent_image.png')
print("新しい画像を2枚作成しました。")
まとめ
今回は、Pillowライブラリの基本的な操作として、Image.open()
による画像の読み込み、.size
や.format
などのプロパティ確認、.save()
による保存とフォーマット変換、そしてImage.new()
による新規画像作成について解説しました。
次回は、これらの基本を応用し、画像の切り抜きやコピー&ペースト、リサイズといった変形操作について解説します。