画像処理のガウス分布の重み付け
    6 views (last 30 days)
  
       Show older comments
    
画像処理における、ガウス分布の関数を使って任意サイズのカーネルの様な行列の係数を作りたいです。
この時のガウス分布の関数はf(x,y)=exp(-(x^2+y^2)/2σ^2)/(2pi*σ^2) になると思います。
これに準じて以下のコードを作りました。
a=7
b=7
sigma=1.3
gaussian=zeros(a,b);
for Y=1:b
    for X=1:a
        g1=1/(2*pi*sigma^2);
        g2=exp(-((X^2)+(Y^2))/(2*sigma^2));
        G=g1*g2;
        gaussian(X,Y)=G;
    end
end
しかし、よく見るガウシアンフィルタのような形の行列にならずにいます。
ご教授お願いいたします。
2 Comments
  Shunichi Kusano
    
 on 21 Oct 2021
				
      Edited: Shunichi Kusano
    
 on 21 Oct 2021
  
			式まできちんと確認していませんが、実装は問題ないように思います。釣り鐘型を想定されているのであればオフセット(この場合は-4)を入れる必要があるのではと思いますが、いかがでしょうか。
a=7
b=7
offset_a = ceil(a/2);
offset_b = ceil(b/2);
sigma=1.3
gaussian=zeros(a,b);
for Y=1:b
    for X=1:a
        g1=1/(2*pi*sigma^2);
        g2=exp(-(((X-offset_a)^2)+((Y-offset_b)^2))/(2*sigma^2));
        G=g1*g2;
        gaussian(X,Y)=G;
    end
end
imagesc(gaussian)
Answers (0)
See Also
Categories
				Find more on Image Processing Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

