画像処理のガウス分布の重み付け
4 ビュー (過去 30 日間)
古いコメントを表示
画像処理における、ガウス分布の関数を使って任意サイズのカーネルの様な行列の係数を作りたいです。
この時のガウス分布の関数は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 件のコメント
Shunichi Kusano
2021 年 10 月 21 日
編集済み: Shunichi Kusano
2021 年 10 月 21 日
式まできちんと確認していませんが、実装は問題ないように思います。釣り鐘型を想定されているのであればオフセット(この場合は-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)
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で バーンバウム・サンダース分布 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!