平均値フィルタによる原理や特徴、計算式についてまとめました。
[latexpage]
平均値フィルタとは
平均値フィルタは、注目画素の近傍の画素値の平均値を計算し、その値を新しい画素値とすることから「平均値フィルタ」と呼ばれます。 画像処理では、画像を平滑化(ぼかし)してノイズを除去する空間フィルタとして使用されます。
■入力画像(左)、出力画像(右)

出力画像を見ると、画像にぼかしが効いていて平滑化されていることがわかります。
解説動画
本ページの内容は以下動画で解説しています。
平均値フィルタのカーネルと計算式
平滑化フィルタのカーネル$K$は次のようになります。
\begin{eqnarray} K=\frac{1}{9} \left[ \begin{array}{ccc} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ \end{array} \right] \end{eqnarray}
見て分かる通り、「注目画素と8近傍の計9画素の平均値を求めています。
この他にも、注目画素の画素値の重みを近傍8画素の2倍にする場合もあります。 ※この方がより自然な平滑化となります。
\begin{eqnarray} K=\frac{1}{10} \left[ \begin{array}{ccc} 1 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 1 \\ \end{array} \right] \end{eqnarray}
【計算例】
入力画像$I$と平均値フィルタのカーネル$K$が次のように与えられたとき、出力画像$I’$を求めよ。
\begin{eqnarray} I= \left[ \begin{array}{ccccc} 0 & 0 & 0 & 0\\ 0& 90 & 90 & 0\\ 0& 0 & 90 & 0\\ 0 & 0 & 0 & 0\\ \end{array} \right], K= \left[ \begin{array}{ccccc} 1/9 & 1/9 & 1/9\\ 1/9 & 1/9 & 1/9\\ 1/9 & 1/9 & 1/9\\ \end{array} \right] \end{eqnarray}
出力画像の計算
入力画像$I$とカーネル$K$を畳み込み演算してやると
\begin{eqnarray} I'(1,1)&=&(90\cdot 1/9)+(90\cdot 1/9)+(90\cdot 1/9)=30\\ I'(1,2)&=&(90\cdot 1/9)+(90\cdot 1/9)+(90\cdot 1/9)=30\\ I'(2,1)&=&(90\cdot 1/9)+(90\cdot 1/9)+(90\cdot 1/9)=30\\ I'(2,2)&=&(90\cdot 1/9)+(90\cdot 1/9)+(90\cdot 1/9)=30\\ \end{eqnarray}
となります。 今回、入力画像の端の画素値はそのまま出力画像の画素値にします。 また、0未満の画素値は0とします。
すると、出力画像$I’$は次のようになります。
\begin{eqnarray} I'= \left[ \begin{array}{ccccc} 0 & 0 & 0 & 0\\ 0& 30 & 30 & 0\\ 0& 30 & 30 & 0\\ 0 & 0 & 0 & 0\\ \end{array} \right] \end{eqnarray}
関連ページ
プログラミングによる実装例について下記事で解説しています。



コメント