'imnoise()​'を使ったイメージの​ガウスノイズ付加の入​力引数のvar_gs​ussについて

9 次查看(过去 30 天)
朋貴 熊田
朋貴 熊田 2021-8-5
私はイメージに平均=0、標準偏差=20のガウスノイズを付加したいです。そのために,'imnoise()'を使い入力引数であるvar_gaussはガウスノイズの分散にあたるため、標準偏差の2乗が分散だと考えvar_gauss=40を入力しました。しかし、明らかに標準偏差20のガウスノイズではない画像になりました。
Matllab上の計算の仕方などが完全に把握できていないので入力因数がどの様な物なのかご教授お願いいたします。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2021-8-5
  • 'gaussian''localvar''speckle' のノイズ タイプに対する平均と分散パラメーターは、常に、イメージが [0, 1] の範囲の double クラスであるかのように指定されます。入力イメージが異なるクラスの場合に、関数 imnoise は、イメージを double になるよう変換し、指定されたタイプとパラメーターによってノイズを追加します。さらに、ピクセル値を [0, 1] の範囲にクリッピングし、ノイズを付加されたイメージを入力と同じクラスに再変換します。
平均が0で、標準偏差,分散のガウスノイズは画素一個当たり±6.3(±20?)前後です。[0, 1] の範囲に±6.3前後のノイズを乗せ、更に[0, 1] の範囲にクリッピングするともう、元の画像が殆ど分からなくなります。
for i = 1:10
J{i} = imnoise(imread('cameraman.tif'),'gaussian', 0, 10^(round(i/2)-3)*((1-mod(i,2))*4+1));
end
montage(J,'Size',[2 5]); title({'var\_gauss=','[0.01, 0.05, 0.1, 0.5, 1,','5, 10, 50, 100, 500]'});

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!