画像処理のガウス分布の重み付け
4 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 バーンバウム・サンダース分布 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!