この記事では、平均値フィルタによる原理や特徴、計算式についてまとめました。
平均値フィルタとは
本ページの内容は以下動画で解説しています。
平均値フィルタは、注目画素の近傍の画素値の平均値を計算し、その値を新しい画素値とすることから「平均値フィルタ」と呼ばれます。
画像処理では、画像を平滑化(ぼかし)してノイズを除去する空間フィルタとして使用されます。
■入力画像(左)、出力画像(右)
出力画像を見ると、画像にぼかしが効いていて平滑化されていることがわかります。
平均値フィルタのカーネルと計算式
平滑化フィルタのカーネルは次のようになります。
(1)
見て分かる通り、「注目画素と8近傍の計9画素の平均値を求めています。
9つの画素値の合計値÷9=9つの画素値の平均値
この他にも、注目画素の画素値の重みを近傍8画素の2倍にする場合もあります。
※この方がより自然な平滑化となります。
(2)
【計算例】
入力画像と平均値フィルタのカーネルが次のように与えられたとき、出力画像を求めよ。
(3)
出力画像の計算
入力画像とカーネルを畳み込み演算してやると
(4)
となります。
今回、入力画像の端の画素値はそのまま出力画像の画素値にします。
また、0未満の画素値は0とします。
すると、出力画像は次のようになります。
(5)
関連ページ
プログラミングによる実装例について下記事で解説しています。
【Python/OpenCV】平均値フィルタ(cv2.Blur)で画像のぼかし・平滑化
Python + OpenCVで平均値フィルタを「NumPy」「cv2.filter2D」「cv2.Blur」で実装し、画像をぼかし・平滑化する方法をソースコード付きで解説します。
【画像処理入門】アルゴリズム&プログラミング
画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。
コメント