【画像処理】適応的二値化処理の原理・特徴・計算式

この記事では、画像処理における適応的二値化処理の原理や計算式についてまとめました。

適応的二値化処理

単純な二値化では、人が感覚的に閾値を決定する必要があります。
その問題を改善するために登場したのが「適応2値化処理」です。
適応的二値化処理では、閾値を固定せず、注目画素と周囲にある画素の画素値の平均値を閾値とします。
これにより、画素ごとに異なる閾値を設定できます。

閾値の計算

入力画像の画素値をI(x,y)とすると、その閾値t(x,y)は以下の式で求まります。

(1) \begin{eqnarray*} t(x,y)=\frac{1}{N}\sum_{x, y} \sum_{\subset D} I(x,y) \end{eqnarray*}

計算例

次のような入力画像Iが与えられた場合、I(1,1)の閾値t(1,1)を求めます。

(2) \begin{eqnarray*} I= \left[ \begin{array}{ccccc} 100 & 200 & 150 \\ 110 & 120 & 120 \\ 190 & 230 & 200 \\ \end{array} \right] \end{eqnarray*}

※8近傍(注目画素+周囲9画素の画素値)の平均値で考えると

(3) \begin{eqnarray*} t(1, 1)=\frac{1}{9}(100+200+150+110+120+120+190+230+200)=158 \end{eqnarray*}

となります。
I(1, 1)=120で、閾値t(1,1)未満なので、二値化処理で画素値が0となります。

実装例

適応的二値化処理をプログラムで実装した例を下記事で解説しています。
【Python+OpenCV】適応的二値化処理

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

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