PythonとOpenCVとNumPyを使って画像の明るさの平均を出す
前回に引き続き。
RGB(赤/緑/青)からHSV(色相/彩度/明度)へ変換
RGB→max()でもおそらくできる
画像配列の3番目の値(明度)のみ抽出
NumPyで配列の平均値を算出(明度の範囲は0~255)
NumPyのインストール
code:install
pip install numpy
明るさの平均を出す
code:brightness.py
import cv2
import numpy as np
# 画像のパスを指定
path1 = './image1.png'
# 画像読み込み
img = cv2.imread(path1)
# BGR(RGB)からHSVに変換
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# HSVのV(明度)だけ抽出
# 平均値を計算して出力
img_v_mean = np.mean(img_v)
print(img_v_mean)
引数指定を "./diff.png" にすれば差分の明るさが取得できる。