PythonのPillowで画像処理入門 Part 1:基本操作編

この記事では、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()による新規画像作成について解説しました。

次回は、これらの基本を応用し、画像の切り抜きやコピー&ペースト、リサイズといった変形操作について解説します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次