Yuki’s blog

自身の成果物や好きなことを発信していきたいと思います。情報系のジャンルが多いです。

ヒストグラム均等化法【理論】

     

こんばんは。

今回は、洋書の「Digital Image Processing」第3章で取り上げられたヒストグラム均等化についてお話ししたいと思います。

ヒストグラム均等化

 ヒストグラム均等化法は画像処理の一種で、ある画像の濃度値の分布を平らにしてコントラスト強調を行う手法です。

理論
 ある画像のヒストグラム確率密度関数 p_{r}(r)と仮定。これは輝度 rを持つ確率。つまり、輝度rを変換するs = T(r)を考え、新しいsの輝度を持つ確率p_{s}(s)が平らになればよい。連続型の確率密度関数がある一点を取る確率は0なので確率変数が無限小ならこれらの確率密度関数は以下のような関係が成り立ちます。

p_{s}(s)ds = p_{r}(r)dr

p_{s}(s) = p_{r}(r)|\displaystyle\frac{dr}{ds}| ・・・(1)

この時、変換関数s = T(r) p_{r}(r)の累積分布関数を使って仮定します。(輝度値r区間0~L-1)
s = T(r) = (L-1)\displaystyle\int_0^{r} p_{r}(w)dw ・・・(2)

変数r微分すると
\displaystyle\frac{ds}{dr} = (L-1)\displaystyle\frac{d}{dr} [\int_0^{r} p_{r}(w)dw ] ・・・(3)

この(3)を(1)に代入すると
p_{s}(s) = \displaystyle\frac{1}{L-1} ・・・(4)

つまり、ある画像のヒストグラム p_{r}(r)の形状に関わらず変換後のp_{s}(s)は一定となります!これがヒストグラムを平坦化させるための理論です。ヒストグラム均等化を行う変換関数はそのヒストグラムの累積分布関数です!

ヒストグラム均等化法の例(グラフ)

デジタル画像なので、ヒストグラム均等化は離散値で行います。離散形式の変換関数は以下のように表すことができます。

s_{k} = T(r_{k}) = (L-1)\displaystyle\sum_{j=0}^{L-1} p_{r}(r_{j}) ・・・(5)

積分の部分が総和になるだけですね!以下にこれまでの仮定のグラフを載せていきます。

ある画像のヒストグラム
ヒストグラム変換関数
ヒストグラム均等化の結果
出典: Rafael C. Gonzalez・Richard E. Woods (2018). 「Digital Image Processing」4th Edition p133~p140    ヒストグラム均等化の結果グラフを見ると真っ平らではないことがわかる。このヒストグラムは離散値であるため確率密度関数の近似値です。そのため上記の理論に基づいた一定(真っ平ら)な均等化はめったに無い!次回の記事で実際にヒストグラム均等化法についてプログラムを実装したいと思います!