ガウシアンぼかし

ガウシアンぼかしの適用例。上から入力画像、標準偏差3ピクセルのぼかし、標準偏差10ピクセルのぼかし。

ガウシアンぼかし (ガウスぼかし、ガウシアンブラー、ガウシアンフィルター、ガウスフィルター、Gaussian Blur)とは、画像処理においてガウス関数をもちいて画像をぼかす処理である。デジタルカメラの撮像画像などからノイズを除去したり、アンシャープマスク処理、エッジ抽出の前処理などに応用できる。

定義

二次元ガウス関数

標準偏差 σ のガウシアンぼかしとは、n 次元の入力画像 A[i, j, ...] に対し n 次元ガウス関数

G σ ( x , y , ) = 1 ( 2 π σ 2 ) n exp ( r 2 2 σ 2 ) {\displaystyle G_{\sigma }(x,y,\dots )={\frac {1}{\left({\sqrt {2\pi \sigma ^{2}}}\right)^{n}}}\exp({-{\frac {r^{2}}{2\sigma ^{2}}}})} (ここで r 2 = x 2 + y 2 + {\displaystyle r^{2}=x^{2}+y^{2}+\cdots }

畳み込み

B [ i , j , ] = x , y , Z n G σ ( x , y , ) A [ i x , j y , ] {\displaystyle B[i,j,\dots ]=\sum _{x,y,\dots \in Z^{n}}G_{\sigma }(x,y,\dots )A[i-x,j-y,\dots ]}

をとることである。

実装

ガウシアンぼかしを得る最も単純な方法は畳み込み行列を用いることである。ガウス関数は中心から離れるにしたがって値が小さくなるので、rcutoff ~ 3σ 程度で打ち切って行列をつくればよい。

n次元ガウス関数は、n個の1次元ガウス関数の直積によって表される。この性質から、各方向に一度ずつガウスぼかしをかけることでも同じ結果を得ることができる。これによりピクセルあたりの計算量を O ( r c u t o f f n ) {\displaystyle \mathrm {O} (r_{\mathrm {cutoff} }^{n})} から O ( n r c u t o f f ) {\displaystyle \mathrm {O} (nr_{\mathrm {cutoff} })} とできぼかし処理を高速化できる。

中心極限定理により、他の等方的なぼかし処理を繰り返し適用することでガウシアンぼかしを近似する結果を得ることもできる。

参考文献

  • Moo K. Chung. “University of Wisconsin-Madison - STAT 692 Medical Image Analysis - 3. The Gaussian kernel”. 2016年2月8日閲覧。
  • 表示
  • 編集