画像処理におけるガウシアンフィルタの原理や計算式についてまとめました。
ガウシアンフィルタの特徴
本ページの内容は以下動画で解説しています。
ガウシアンフィルタは、画像処理では写真の平滑化などに使われるフィルタの1つです。
考え方は簡単で、ガウス分布を利用して「注目画素からの距離に応じて近傍の画素値に重みをかける」という処理を行い、自然な平滑化を実現します。
■入力画像(左)、出力画像(右)


【計算式】ガウシアンフィルタのカーネル
ガウシアンフィルタでは、次のようなガウス分布を用いて近傍画素値に重み付けを行います。
 (1)    
標準偏差 で8近傍ガウシアンフィルタの場合、カーネル
で8近傍ガウシアンフィルタの場合、カーネル は次のようになります。
は次のようになります。
 (2)    ![Rendered by QuickLaTeX.com \begin{eqnarray*} K&=&\frac{1}{16} \left[ \begin{array}{ccccc} 1 & 2 & 1\\ 2 & 4 & 2\\ 1 & 2 & 1\\ \end{array} \right] \end{eqnarray*}](https://algorithm.joho.info/wp-content/ql-cache/quicklatex.com-e6d22fcba4ad729455f2824155d35046_l3.png)
注目画素(中心)からの距離が近い程、重みの値が大きくなっていることがわかります。
標準偏差 の値が大きくなるほど、ガウス分布が平たくなり重みの差が小さくなるため、平滑化の効果も大きくなります。
の値が大きくなるほど、ガウス分布が平たくなり重みの差が小さくなるため、平滑化の効果も大きくなります。
関連ページ
プログラミングによる実装例について下記事で解説しています。

【Python/OpenCV】cv2.GaussianBlur(ガウシアンフィルタ)で画像をぼかし(平滑化)してノイズ除去
Python版OpenCVのcv2.GaussianBlur(ガウシアンフィルタ)で画像をぼかし(平滑化して)、ノイズを除去する方法をソースコード付きで解説します。

【画像処理超入門】アルゴリズムの仕組みと実装方法を簡単に解説
画像処理超アルゴリズムの仕組みとプログラミングによる実装方法を簡単に解説します。
 
 

コメント
PYTHONについて大変参考になります。
exp(-(x*x + y*y)/2sigma)
上の記事にマイナスがないように思います。
※fuyacho様
コメントありがとうございます。
ご指摘の通り、マイナスが抜けていましたので修正しました。