画像処理のガウス分布の重み付け

18 views (last 30 days)
朋貴 熊田
朋貴 熊田 on 21 Oct 2021
Commented: 朋貴 熊田 on 22 Oct 2021
画像処理における、ガウス分布の関数を使って任意サイズのカーネルの様な行列の係数を作りたいです。
この時のガウス分布の関数は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
Shunichi Kusano on 21 Oct 2021
Edited: Shunichi Kusano on 21 Oct 2021
式まできちんと確認していませんが、実装は問題ないように思います。釣り鐘型を想定されているのであればオフセット(この場合は-4)を入れる必要があるのではと思いますが、いかがでしょうか。
a=7
a = 7
b=7
b = 7
offset_a = ceil(a/2);
offset_b = ceil(b/2);
sigma=1.3
sigma = 1.3000
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)
朋貴 熊田
朋貴 熊田 on 22 Oct 2021
お早いご回答ありがとうございます。
釣り鐘型を予測してしていました。オフセットの存在を完全に忘れていました。
ありがとうございます。

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!