Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

PillowのImageEnhanceで画像のコントラストを変える

Pillowの画像強調を行うImageEnhanceモジュールで画像のコントラストを変えます。
enhancer = ImageEnhance.Contrast(image)
の形式で画像imageに対してmageEnhance.Contrastメソッドを適用した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'で保存しました。 f:id:T_A_T:20200411165604j:plain

コード

4つのfactor(0.5,1.5,2,3)を用いて変換した画像を保存します。

from PIL import Image, ImageEnhance 

image =Image.open('image.jpg')  # 元画像の読み出し

enhancer = ImageEnhance.Contrast(image)  # ImageEnhance.Contrastオブジェクト生成

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
f:id:T_A_T:20200415193840j:plain

factor = 1.5
f:id:T_A_T:20200415193855j:plain

factor = 2.0
f:id:T_A_T:20200415193904j:plain

factor = 3.0
f:id:T_A_T:20200415193916j:plain

以下のサイトを参考にさせていただきました

Pillow (PIL Fork) >> ImageEnhance Module
Pythonの文法メモ >> 【Pillow】鮮やかさ、コントラスト、明るさ、シャープネス変更

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村