目次
1. はじめに
Pythonプログラミングは、画像処理においても非常に有用です。この記事では、トーンカーブフィルターとその適用方法について説明します。
2. トーンカーブフィルターとは
トーンカーブフィルターは、画像の明るさやコントラストを調整するためのツールです。トーンカーブを変更することで、画像の明るさやコントラストを効果的に調節できます。
3. トーンカーブフィルターの適用方法
3.1 Pythonと必要なモジュールのインストール
まず、次のコマンドでPythonと画像処理用のモジュール(Pillow)をインストールしてください。
pip install python pip install pillow
3.2 トーンカーブの作成
次に、以下のようにしてトーンカーブを定義します。
def create_tone_curve(): tone_curve = [0] * 256 for i in range(256): tone_curve[i] = int(255 * (i / 255) ** gamma) return tone_curve
この関数は、トーンカーブを256段階の輝度値で表現したリストを作成します。ガンマ補正によって線形な変更から非線形な変更まで幅広い変化を表現できます。ガンマ補正の値(gamma
)を0.5に設定すると、画像が明るくなりますし、2に設定すると暗くなります。
3.3 画像にトーンカーブフィルターを適用
以下のようにして、先程定義したトーンカーブを画像に適用します。
from PIL import Image, ImageOps image = Image.open("image.jpg") gamma = 1.5 tone_curve = create_tone_curve() image_toned = ImageOps.autocontrast(image, curve=tone_curve) image_toned.save("image_toned.jpg")
4. コード例
すべてまとめると、次のようなコードになります。
from PIL import Image, ImageOps def create_tone_curve(): tone_curve = [0] * 256 for i in range(256): tone_curve[i] = int(255 * (i / 255) ** gamma) return tone_curve image = Image.open("image.jpg") gamma = 1.5 tone_curve = create_tone_curve() image_toned = ImageOps.autocontrast(image, curve=tone_curve) image_toned.save("image_toned.jpg")
5. まとめ
この記事では、Pythonを使用してトーンカーブフィルターを適用する方法を説明しました。これで、画像の明るさやコントラストを自由に調整できるようになりました。お試しください。