空間領域の平滑化フィルタ

オリジナルます。https://www.cnblogs.com/zfyouxi/p/5144068.html

1.強化され、空間領域

(1)テンプレートの操作

画像処理。テンプレートは、n *として見られるn(nは奇数通常は)フォームすることができます。連続全体ステンシル画像を移動、ステンシルは、それに応じて画素範囲の処理を形成します。

テンプレートの操作は、に分かれています。

  • テンプレートのコンボリューション
  • ソートテンプレート

テンプレートコンボリューションは、フォームテンプレートに割り当てられている現在の中心画素を平均化する、テンプレートと乗算画素内のテンプレートに対応する階調値の階調値です。そのグレー値として。

テンプレートソートはテンプレート画素グレー値、鋳型としてどちら順序統計中心画素グレー値をソートすることです。

MATLABは、非常に効率的な畳み込みテンプレートを行う裏返しテンプレートとその上のサブ行列の乗算の平均の著作権重点を死にます

私たちは、テンプレートは、中心点が境界線の特殊なケースでは非常に簡単だと思います。非常に多くの境界処理の慣行があります。

  • 国境を無視
  • 外挿の境界
  • テンプレートのフィールドを変更します

境界を無視する非境界移動動作点において直接の鋳型である、これらの境界点を無視します。コースの利点は、より大きな又は画像のエッジ部が画像サイズではない場合に興味がある人に適し、高い効率で行われます。

外挿境界定義によって満たされたときに欠落画素部を境界として、テンプレートの中心点であり、エッジ画素をあきらめと一定階調値の計算を行うことができます。プロセス境界に、パフォーマンスを犠牲にすることなく、そのアドバンテージ。しかし、エッジピクセルまでのグレー値の設定は、必然的に歪みを引き起こし、重症の場合には、境界画素の不連続性につながります。

フィールドテンプレートの変更は、境界プロセスの形式、等境界特別な処理、テンプレートのサイズを変更する手段3*3左上隅のピクセル処理で画像の点のみを考慮ステンシル2*2ステンシル操作。こうした国境どちらも歪みも何ピクセルを無視するように特別な考慮事項。境界線を外挿するときしかし、いくつかのオーバーヘッドを持っているにバインドされています。少し画像処理のパフォーマンスに影響を与える(ポイントプログラムの複雑さを犠牲に持ち込ま推論オーバーヘッドを補うために、書くことができます)。

境界プロセスが完璧ではないが何であれ、それが再び再成形著作権、ある程度に割り当てられています。

(2)空間フィルタリング

テンプレート画像と呼ばれる拡張空間領域技術は、空間領域フィルタリングを計算する際に使用されます。フィルタに空間周波数領域フィルタに基づいて、平滑化フィルタリング(除去および高周波成分減衰)及び鮮鋭化フィルタ(除去低周波成分を減衰させる)フィルタの特性に基づいて計算は、に分割される線形フィルタリングおよび非線形フィルタリング

従って、空間領域フィルタリングを分けることができます。

分類 リニア 非線形
スムース リニアスムージング ノンリニアスムージング
研ぎます リニアシャープ 非線形シャープ

2.平均値フィルタ

(1)フィルタを意味

FIELD平均フィルタは、定義により、ステンシル平均画素階調です。これは、古典的な線形平滑化フィルタです。空間フィルタリングは、多くの場合、通常、フィルタモジュールパッケージと呼ばれるアルゴリズムをフィルタリングする加法性雑音を除去するために使用されます。

フィルタテンプレートがあることを意味しones(n, n)、テンプレート内のすべての要素はつまり、彼らはまったく同じ重量です、1です。

 

他の一般的に使用されるリニアフィルタリングのとおりです。

  • 加重フィルタリング中央要素概して大きな重み、及び対称外側に減少
  • ガウシアンフィルタ:特殊なケースをフィルタリングする重み付けは、テンプレートは、ガウス分布係数に基づいて決定されます

(2)コードの実装

最初の3%添加することにより、画像にMATLAB関数を呼び出しごま塩ノイズ

salt = imnoise(original,'salt & pepper',0.03);

次の構造我々は、フィルタを意味します。私が使用したテンプレートのフィールドを変更しますこれは、境界条件が特別な処理を行う推論することです:

function [ filtered ] = MeanFilter( noise ) filtered = noise; h = size(filtered, 1); w = size(filtered, 2); for i = 1 : h for j = 1 : w up = max(i - 1, 1); down = min(i + 1, h); left = max(j - 1, 1); right = min(j + 1, w); filtered(i, j) = mean(mean(noise(up : down, left : right))); end end end

ここで私は、シリーズを呼び出すmaxと、minif文より複雑書くことを避けるために機能します。直接境界呼び出しステンシルを決定した後mean、ステンシル畳み込みを希釈し、概念平均化機能(後端検出を明示的ステンシル畳み込みを行うであろう)。

3.メディアンフィルタ

(1)メジアンフィルタ

選択したテンプレートの中央値ピクセルのグレー値をフィルタリングメジアンは、中心画素テンプレート、古典的な非線形平滑化フィルタに割り当てられます。

理想的には、塩、コショウ、ノイズ除去効果に優れたメディアンフィルタは、フィルタを意味します。それが効果的にステップパルスノイズを除去することができますので、隔離されています。後で比較分析。

2-Dメディアンフィルタリングはまた、テンプレートのさまざまなを選択することができ、私がプレゼンテーションを行うための最も簡単な8-フィールドテンプレートを選択するためにここにいます。

(2)コードの実装

私は、同じ境界線を検出します。特別な治療:

function [ filtered ] = MedianFilter( noise )
    filtered = noise;

    h = size(filtered, 1);
    w = size(filtered, 2);

    for i = 1 : h
        for j = 1 : w up = max(i - 1, 1); down = min(i + 1, h); left = max(j - 1, 1); right = min(j + 1, w); sub = noise(up : down, left : right); sub = sub(:); filtered(i, j) = median(sub); end end end

サブ行列は、ベクターのみに変わる必要があります。そして追求medianします。

注意:私は、それは大きさの正方形のアルゴリズムのオーダーであれば、我々はメディアンフィルタの速度を上げるには、次の二つの方法を最適化する必要があり、綿密な研究Matlabの中央値関数の実装をしました:

  • より効率的な順序統計アルゴリズムを求めています。アルゴリズムの概要を参照してください- 線形時間アルゴリズムの選択に対する期待ワーストケースの選択のための線形時間アルゴリズム
  • 動きの連続性を使用してテンプレート。画素の移動領域に隣接する少数の相違点のみ、テンプレートの性質に応じて構築することができる線形時間アルゴリズムの増分順序統計

4.コントロールの結果は、2つのフィルタを議論しました

(1)結果を平滑示します

以下は、メディアンフィルタは、より有効であり、塩、コショウノイズを除去することです。

ここでの説明で写真を書きます

以下は、より良いフィルタリング効果を意味し、ガウスノイズ除去であります:

ここでの説明で写真を書きます

(2)ディスカッション

ここでは数学的な分析と数学的な理論はありません。これは、例を与えていません。の視覚的な理解だけ簡単な分析:

  1. 塩とコショウのメディアンフィルタリング良く除去。ステップパルスペッパーノイズがノイズ(または値0小さい確率255)であるため、中央値にメディアンフィルタは、ステップ値は影響を受けないが、それはほぼ完全ステップパルスノイズを除去することができます。

     

    重量平均フィルタ処理を割り当てることと、ステップ値を変更されません。次に、誤差値が大きく平均化中のステップに影響することによって生成されます。だから、効果は理想的ではありません。

  2. 元の階調値から、各画素の画像におけるガウスノイズがないガウスランダムノイズに応じて分配されています。各ピクセルが独立同一分布であるので、そのように選択された値で有意に代わって、大きくありません。メディアンフィルタは、グレー値を介して再選出されたテンプレートに対応し、画像ノイズのフィルタリング効果は、変換中に有意な改善ガウス雑音ではない、コンパレータは、より良好な下でフィルタを意味します。

おすすめ

転載: www.cnblogs.com/Ph-one/p/11568406.html