Azzera filtri
Azzera filtri

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

14 visualizzazioni (ultimi 30 giorni)
朋貴 熊田
朋貴 熊田 il 21 Ott 2021
Commentato: 朋貴 熊田 il 22 Ott 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 Commenti
Shunichi Kusano
Shunichi Kusano il 21 Ott 2021
Modificato: Shunichi Kusano il 21 Ott 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)
朋貴 熊田
朋貴 熊田 il 22 Ott 2021
お早いご回答ありがとうございます。
釣り鐘型を予測してしていました。オフセットの存在を完全に忘れていました。
ありがとうございます。

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

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

Start Hunting!