ガウシアンフィルタの平滑化画像ノイズ除去

  線形ガウスフィルタは、ガウス関数によるフィルタ重みを平滑選択され、ノイズ及び正規分布ランダム分布の良好なフィルタ効果を有しています。これは、エッジ検出アルゴリズムのほとんどを支援することができ、

ノイズポイントがそれによってエッジ検出ノイズの数を減少させる、低下されるように、グレースケール画像は、(コバ厚が大きくなる)エッジ拡張されます。

  次のように二次元ガウス式です:            

  

  σの正規分布の標準偏差であり、ガウス関数の変動幅を決定する値は、対応するフィルタの重みの値です。次のような共通のテンプレートの2次元フィルタのガウス分布:

           

  行列(0,0)の中心であるが、その後、マトリクス型小数を得るために、式に代入されるテンプレートを生成し、その逆数の行列要素の左上隅には、1の値と、Kを乗じて

行列要素の他の位置も整数に次いで行列Kによって乗算されます。あなたは、σの値によって決定正方行列奇数順位の長さ、であるテンプレートを、得ることができます。大きいσ、内側からマトリックス

外勾配に詳しいです。一般的に、3×3テンプレートσ=σ1.4,7×7 = 1.72テンプレート=σ0.85,5 * 5テンプレートを算出し、上記式に従って。特定の画像によると、一般的な、適切な型枠の選択

フィルタリングの程度が十分でない場合、小さな(ぼかし半径)と標準偏差(重量)は、例えば、近接したエッジは、小さなターゲット・テンプレートを使用する必要があり、σの値がわずかに大きいを取ることができ、ターゲットが大量配布した場合、表面のノイズを

あなたは、大きな大きなプロットテンプレートを使用することができますが、全体的に画像がぼやけなります。

  ガウス畳み込み画像テンプレート:テンプレートガウス畳み込みは、(行列ランク= 1)分離可能であり、したがってN-からサイズn×n個のデコンボリューションのM * Mの画像サイズ、複雑場合2 * mを2に減少しますメートルの*の2N 2のは

同じリアルタイム要件では、より多くのぼかしの半径を使用することができます。分離可能ないわゆる二畳み込みのN * nの行列に分割することをいう回行ベクトルの大きさ及びnの列ベクトル、画像、畳み込みの結果

そして、同じコンボリューション。

  次の例では、ガウスぼかしを示しています。

  

  

  ガウスフィルタのMatlabの実装には、次のコードです:

  

%高斯滤波器模板生成
function template=gaussiantemplate(sigma,size)
    %sigma=0.85 size=3;
    %sigma=1.4 size=5;
    %sigma=1.72 size=7
    syms x y;
    gaussian=(1/(2*pi*sigma^2))*exp((-(x^2+y^2)/(2*sigma^2)));
    template=zeros(size,size);%奇数个
    for i=1:size
        for j=1:size
            template(i,j)=double(subs(gaussian,[x,y],[i-(size+1)/2,j-(size+1)/2]));
        end
    end
    
    k=1/template(1,1);
    for i=1:size
        for j=1:size
            template(i,j)=uint8(template(i,j)*k);
        end
    end
    
    
end  
%高斯滤波
function gaussian=gaussianfilter(grayimg,sigma,size)
    operator=gaussiantemplate(sigma,size);
    gaussian = filter2(operator,grayimg);
    gaussian = uint8(gaussian./sum(sum(operator)));
end

 

 

 

                               

  

 

おすすめ

転載: www.cnblogs.com/kensporger/p/11628050.html