ガウス ノイズを配列に追加すると、ヒストグラムがガウスになるはずがありませんか? ノイズはランダムですが、分布はガウスになるはずですよね? それは私が得るものではありません。
A=zeros(10);
A=imnoise(A,'gaussian');
imhist(A)
次の 2 つのことが起こっている可能性があります。
サンプルサイズが足りない、または
ガウス分布の imnoise の既定の平均は 0 です。これは、ベル カーブの右半分だけが表示されていることを意味します。
試す
imhist(imnoise(zeros(1000), 'gaussian', 0.5));
これはあなたのコードが行っていることです:
A = zeros(10);
mu = 0; sd = 0.1; %# mean, std dev
B = A + randn(size(A))*sd + mu; %# add gaussian noise
B = max(0,min(B,1)); %# make sure that 0 <= B <= 1
imhist(B) %# intensities histogram
問題がどこにあるかわかりますか?(ヒント: RANDN は number~N(0,1)
を返すため、追加されたノイズは になります~N(mu,sd)
)
おそらく、あなたがやろうとしていることは次のとおりです。
hist( randn(1000,1) )
サンプリング フレームが 10 しかないベル カーブが表示されない場合があります。
中心極限定理を参照してください。
http://en.wikipedia.org/wiki/Central_limit_theorem
サンプリング フレームをもっと大きなものに増やしてみます。
参考:
大数の法則
imnoise() は、単純な配列ではなく、 imagesに適用できる関数です。
代わりに randn() 関数を調べることができるかもしれません。