{category}

Python - 画像処理

pillow

ピロー(サードパーティライブラリ

意味 画像加工の定番ライブラリ


pillowとは?

Pillowは、Pythonで画像処理を行うためのライブラリです。画像の読み込み、編集、保存など、様々な操作を簡単に行うことができます。

pillowの具体的な使い方

画像の読み込み、リサイズ、保存

from PIL import Image
import os

# カレントディレクトリに 'example.jpg' という画像ファイルがあると仮定
if os.path.exists('example.jpg'):
    # 画像を開く
    image = Image.open('example.jpg')
    
    # 画像サイズを表示
    print(f"元の画像サイズ: {image.size}")
    
    # 画像をリサイズ
    resized_image = image.resize((300, 200))
    
    # リサイズ後のサイズを表示
    print(f"リサイズ後の画像サイズ: {resized_image.size}")
    
    # リサイズした画像を保存
    resized_image.save('resized_example.jpg')
    print("リサイズした画像を 'resized_example.jpg' として保存しました。")
else:
    print("'example.jpg' が見つかりません。適切な画像ファイルを用意してください。")

👇出力結果

元の画像サイズ: (800, 600)
リサイズ後の画像サイズ: (300, 200)
リサイズした画像を 'resized_example.jpg' として保存しました。

Pillowを使用して画像を読み込み、リサイズし、保存する方法を示しています。画像のサイズ変更は、Webサイトのサムネイル作成や画像の最適化に頻繁に使用されます。

画像フィルタの適用

from PIL import Image, ImageFilter
import os

# カレントディレクトリに 'example.jpg' という画像ファイルがあると仮定
if os.path.exists('example.jpg'):
    # 画像を開く
    image = Image.open('example.jpg')
    
    # ぼかしフィルタを適用
    blurred_image = image.filter(ImageFilter.BLUR)
    blurred_image.save('blurred_example.jpg')
    print("ぼかしフィルタを適用した画像を 'blurred_example.jpg' として保存しました。")
    
    # エッジ検出フィルタを適用
    edge_image = image.filter(ImageFilter.FIND_EDGES)
    edge_image.save('edge_example.jpg')
    print("エッジ検出フィルタを適用した画像を 'edge_example.jpg' として保存しました。")
else:
    print("'example.jpg' が見つかりません。適切な画像ファイルを用意してください。")

👇出力結果

ぼかしフィルタを適用した画像を 'blurred_example.jpg' として保存しました。
エッジ検出フィルタを適用した画像を 'edge_example.jpg' として保存しました。

Pillowの ImageFilter を使用して、画像にフィルタを適用する方法を示しています。ぼかしやエッジ検出などの効果を簡単に適用でき、画像編集や画像処理タスクに役立ちます。

pillowに関するよくある質問

Q. Pillowとは何ですか?
A. Pillowは、Pythonで画像処理を行うための強力なライブラリです。画像の読み込み、編集、保存など、多様な画像操作機能を提供します。元々のPIL(Python Imaging Library)のフォークで、現在も活発に開発が続けられています。
Q. Pillowで扱える画像形式は?
A. Pillowは多くの一般的な画像形式をサポートしています。JPEG、PNG、GIF、BMP、TIFF、WebPなどが含まれます。また、一部の特殊な形式もサポートしています。
Q. 画像のリサイズ方法は?
A. 画像のリサイズは image.resize((width, height)) メソッドを使用します。例えば、image.resize((100, 100)) で画像を100x100ピクセルにリサイズできます。リサイズ時の補間方法も指定可能です。
Q. Pillowでアニメーションは作成可能?
A. はい、Pillowを使ってGIFアニメーションを作成することができます。複数の画像フレームを用意し、それらをGIF形式で保存する際にduration(表示時間)やloop(繰り返し回数)などのパラメータを指定します。

pillowが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのpillowやspacy、bokeh、pyqt、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

spacy

実用的な自然言語処理ライブラリ

種類: 自然言語処理

bokeh

Webブラウザで可視化

種類: データ可視化

pyqt

PythonでGUIを作るためのツール

種類: GUIフレームワーク

timeit

コードの実行時間計測

種類: デバッグ

None

何もない

種類: 真偽値