PillowのImageEnhanceで画像の鮮やかさを変える
Pillowの画像強調を行うImageEnhanceモジュールで画像の鮮やかさを変えます。
enhancer = ImageEnhance.Color(image)
の形式で画像imageに対してmageEnhance.Colorメソッドを適用したenhancerオブジェクトを生成し
enhancer.enhance(factor)
の形式でenhancerオブジェクトに対してenhanceメソッドを適用します。factorは強調度合を示し1.0が元画像と同じ、それより値が大きいほど強調され小さいほど控えめになります。
関連記事
特定チャンネルをガンマ補正し画像の色味を変える
風景写真をクッキリさせる(空を青く、緑を鮮やかに)
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
- Pillow 5.2.0
準備
変換する画像をjupyter notebookファイル(***.ipynb)と同じディレクトリにファイル名'image.jpg'で保存しました。
コード
4つのfactor(0.5,1.5,2,3)を用いて変換した画像を保存します。
from PIL import Image, ImageEnhance image =Image.open('image.jpg') # 元画像の読み出し enhancer = ImageEnhance.Color(image) # ImageEnhance.Colorオブジェクト生成 factor = [0.5, 1.5, 2, 3] # enhancement factorのリスト for i in factor: image_c = enhancer.enhance(i) filename = str(i) + '.jpg' image_c.save(filename, quality=95) # ファイルの保存
実行結果
factorに応じて彩度が変わった画像が保存されます。
factor = 0.5
factor = 1.5
factor = 2.0
factor = 3.0
以下のサイトを参考にさせていただきました
Pillow (PIL Fork) >> ImageEnhance Module
Pythonの文法メモ >> 【Pillow】鮮やかさ、コントラスト、明るさ、シャープネス変更