1

この記事は最終更新日から1年以上が経過しています。

Pythonで画像のコントラストを調整する方法

 学習メモです。

やったこと

 画像のコントラストを調整するPythonスクリプトを書きました。

コード

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('画像.jpg')

#コントラスト
contrast = 128

#コントラスト調整ファクター
factor = (259 *(contrast + 255)) / (255 *(259 - contrast))

#float型に変換
newImage = np.array(img, dtype = 'float64')

#コントラスト調整。(0以下 or 255以上)はクリッピング
newImage = np.clip((newImage[:,:,:] - 128) * factor + 128, 0, 255)

#int型に戻す
newImage = np.array(newImage, dtype = 'uint8')

#出力
cv2.imwrite('out.png', newImage)

結果

 レナさんの画像で試してみます。

lena.png
オリジナル画像

out.png
コントラスト+128で調整後

 

参考URL

IMAGE PROCESSING ALGORITHMS PART 5: CONTRAST ADJUSTMENT
Algorithms for Adjusting Brightness and Contrast of an Image

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
isso_w
横浜市でSIerをやっています。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
Azure IoTに関する記事を投稿しよう!
~