ウィーナーフィルタ
wiener2d(M, win_h, win_w) - ピクセル幅が win_w でピクセル高さが win_h の局所的ウィンドウを使用して、M に対して 2D 適応ウィーナーフィルタを実行します。
ウィーナーフィルタは、画像内の加法性ランダムノイズを削減することを目的に開発された最初の手法の 1 つです。このフィルタは加法性ノイズがピクセル位置から独立した定常ランダムプロセスであるという前提に基づいており、そのアルゴリズムは、元の画像と再構築された画像との間の二乗誤差を最小化します。ウィーナーフィルタはローパスフィルタですが、単一のカットオフ周波数を持たない空間可変フィルタです。ウィーナーフィルタは、ディテールが少ない領域には低カットオフを使用し、エッジやその他の分散が大きい特徴を含む領域には、ディテールを残すために高カットオフを使用します。ウィンドウの大きさによって、全体としてのカットオフ周波数が決まります。ウィンドウが大きくなるにしたがいカットオフ周波数が低くなるので、より多くのぼけとノイズが低減されます。
ウィーナーフィルタにはいくつかの実装があります。この PTC Mathcad 関数で使用されているのは、1980 年に Lee 氏によって考案されたピクセル単位の 2D 適応ウィーナーフィルタです (Jae S. Lim 著『Two-Dimensional Signal and Image Processing』の 536 から 540 ページを参照)。このフィルタでは、空間可変フィルタが使用され、加法性ノイズは白色ノイズで、平均がゼロであるものと見なされます。
このアルゴリズムでは、フィルタ後の画像内のピクセル yは、次の変換式によって、ノイズを含む入力画像のピクセル x から計算されます。
ここで、μxvx はピクセル x の近傍における平均と分散であり (近傍の大きさはこの関数への引数 win_hwin_w によって決まる)、vn は入力画像から推定された加法性ノイズの分散です。出力の各ピクセルは、入力ピクセルの近傍からの局所平均値と局所コントラスト項 (x - μx) の和です。局所コントラスト項は、ノイズの分散 (vn) が画像の分散 (vx) よりもかなり小さい、ディテールが多い領域では、スケール係数がほぼ 1 になり、フィルタをほとんど行わない状態で出力ピクセル y が入力ピクセル x に非常に近くなり、ディテールが少ない領域では、画像の分散が小さく、出力ピクセルが局所平均に近づく (ローパスフィルタが適用された状態になる) ように尺度化されます。
画像の境界はゼロのグレースケール値で延びているものとして処理され、これにより、(近傍ウィンドウの大きさを上限として) 画像の境界近くの出力ピクセルは無効になることがあります。また、近傍ウィンドウは入力画像より大きくてはなりません。
引数
M は画像行列です。
win_hwin_w は整数です。
これは役に立ちましたか?