学習メモです。
やったこと
画像のコントラストを調整する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)
結果
レナさんの画像で試してみます。
参考URL
IMAGE PROCESSING ALGORITHMS PART 5: CONTRAST ADJUSTMENT
Algorithms for Adjusting Brightness and Contrast of an Image