【画像処理】ヒストグラム平均化の原理・計算式

この記事では、画像処理におけるヒストグラム平均化(平坦化)による画像鮮明化の原理や計算式についてまとめました。

ヒストグラム平均化とは

画像のヒストグラムの形から、画像の状態(全体的に暗すぎるか、逆に明るすぎるか等)を知ることができます。
【詳細】【画像処理】ヒストグラムの原理・特徴

ヒストグラムの形 画像の状態
山が左寄り 暗い画像
山が右寄り 明るい画像
山が中央寄り コントラストが低い

そこで、ヒストグラムが全体的に平均化されるよう画像の画素値を変換してやると、人が見やすい画像なります。
これをヒストグラム平均化(平坦化)といいます。

平均画素数=全画素数/階調数=(画像の幅×高さ )/256
例)画像サイズが256*256の場合は、平均画素数は256

全ての画素値(0~255)の度数が平均画素数になるように変換するのが、理想的なヒストグラム平均化です。
ただし、実際の処理では、画素数が多い画素値の範囲で画素値の間隔を粗くします。
逆に画素数が少ない範囲では細かくします。

計算方法

座標(x, y)における入力画像の画素値をI(x, y)、その度数をH(x, y)とします。
また、入力画像の画素値の最大値を{I_{max}、入力画像の総画素数をSとします。
このとき、出力画像の画素値I'(x, y)は以下の式で計算できます。

(1) \begin{eqnarray*} I'(x, y)=\frac{I_{max}}{S}\sum^{I(x, y)}_{i=0}H(x, y) \end{eqnarray*}

実装例(プログラム)

実装例(サンプルプログラム)を以下にまとめました。
【Python/OpenCV】画像のヒストグラム平均化

【関連記事】
【画像処理入門】アルゴリズム&プログラミング

シェア&フォローお願いします!