前回までは空間フィルタリングの入門やフィルタリングの例について述べました。
今回は一般的に使用されるフィルタ群の一部をImageJを使って処理してみましょう。
平滑化フィルタ
前回解説した平均化フィルタは画像のノイズを軽減するためのものでした。
このような、いわゆる平滑化フィルタには、移動平均フィルタ、加重平均フィルタおよびガウシアンフィルタがあります、
このうち、局所領域の平均値ではなく、フィルタの中央に滑らかに重みをつけるフィルタも平滑化作用があり、そのような重み付けフィルタを加重平均化フィルタと称します。
例えば、加重平均フィルタのコンボリュージョンカーネルを下図に示します。
例えば、加重平均フィルタのコンボリュージョンカーネルを下図に示します。
(参考記事より引用)
このフィルタリングをImageJで実現するには、Filters>Convolve...を起動して、これらの少数点以下の値を書き込むか、分子の数字を書き込むことで、実行できます。
また、目的画素を対象として、中央部に高い重みをつけるために、フィルタの重み係数をガウス分布に近づけたものがガウシアンフィルタです。一般的なガウス分布は、次の式によって計算されます。
これを二次元に拡張すると次の式になります。
ImageJでガウシアンフィルタ処理を行うときには、Filters>Gaussian Blurで実施します。
このとき、Sigma(σ)という変数を調整しますが、これはガウス関数のσの部分になります。
σを大きくすれば、ボケが大きくなっていきます。
(本稿では頭部MRIの画像を表示していますが、深い意味はありません。本来、こういった平均化処理は、ノイズが多い画像に試してみるなどで、その効果を発揮します。)
このとき、Sigma(σ)という変数を調整しますが、これはガウス関数のσの部分になります。
σを大きくすれば、ボケが大きくなっていきます。
(本稿では頭部MRIの画像を表示していますが、深い意味はありません。本来、こういった平均化処理は、ノイズが多い画像に試してみるなどで、その効果を発揮します。)
また、画像ノイズ軽減フィルタとしては、平均値やガウシアンフィルタ以外に、ある領域内の中央値を出力するメディアンフィルタ(非線形フィルタ)などもあります。
エッジ強調フィルタ
1.微分フィルタ
微分の一般的な式はご存知の通り次式で定義されます。
画像の微分フィルタは非常に単純であり、最小ピクセル間距離を極限値とみなして、隣り合うピクセル同士の差分でフィルタを表現します。
微分を関数の傾きと解釈した場合、各画素における横方向の差分をΔxf(i,j)、縦方向の差分をΔxy(x,y)とすると、画素値の勾配の大きさと方向は次の式で表されます。
代表的な微分フィルタとして、ノイズを抑え、縦および横方向のエッジを強調するブリュウィットフィルタやソーベルフィルタがあります。
下図にソーベルフィルタの処理例を示します。
このような画像はProcess>Find Edgeで実行できます。
このFind Edge機能は、元画像に縦方向→横方向の2つのソーベルフィルタをかけて、上述の式のように、平方和の平方根で画像を算出します。
(左:縦方向微分、右:横方向微分)
2.二次微分とラプラシアン
二次微分は周知の通り、一次微分を2回繰り返します。そして、一次微分から得られる出力値同士を差分すれば、二次微分となります。
この二次微分フィルタを縦方向と横方向の両方向で合成したフィルタをラプラシアンフィルタといいます。
ラプラシアン関数は、下図の通りです。
3.Logフィルタ
上記、二次微分フィルタは画像ノイズも強調されるためあらかじめガウシアンフィルタをかけて、その後にラプラシアンフィルタによる先鋭化を施すことが行われることもあります。また、上述のようなラプラシアンフィルタを用いた先鋭化では、一次微分を2度(2次微分)行うとともに、現画像からラプラシアン分を差し引くため、エッジの両側( 低濃度部と高濃度部)でプラスとマイナスのオーバー/アンダーシュートのある濃淡プロファイルとなります。
よって、エッジの位置を求めたい場合、ちょうどプラス値とマイナス値が移行してゼロとなるゼロ交点をもってエッジの位置表示を行います。ガウシアンフィルタとラプラシアンフィルタは次の式で統一調整が可能です。
(画像処理工学, Murakami, 2007.)
よって、エッジの位置を求めたい場合、ちょうどプラス値とマイナス値が移行してゼロとなるゼロ交点をもってエッジの位置表示を行います。ガウシアンフィルタとラプラシアンフィルタは次の式で統一調整が可能です。
この式を用いたフィルタをLogフィルタと呼び、σの値を変えることによってエッジの細かさが調整できます。
次の図にLogフィルタのσを変化させた処理結果を示します。
ImageJでLogフィルタをかけるときは次のプラグインを利用します。
http://rsb.info.nih.gov/ij/plugins/log-filter.html
このプラグインでは、σの設定などが可能です。
上述の図は、σ=3のMode:4の実行結果です。
プラグインの各設定についての詳細はプラグインのページを参照してください。
http://rsb.info.nih.gov/ij/plugins/log-filter.html
このプラグインでは、σの設定などが可能です。
上述の図は、σ=3のMode:4の実行結果です。
プラグインの各設定についての詳細はプラグインのページを参照してください。
今回は画像処理一般に利用される標準的な画像処理フィルタについて解説しました。次回は、より臨床に近い画像処理例を紹介いたします!
Reference
- 「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(21・1) 2006, p66-68」
0 件のコメント:
コメントを投稿