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

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

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 5 Aug 2021
  • '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]'});
  1 Comment
朋貴 熊田
朋貴 熊田 on 10 Aug 2021
ご回答ありがとうございます。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!