負の値を持つノイズの作成
Show older comments
以下のコードにて信号が0のみの画像(A)に平均0、分散Bのノイズを加えてノイズ画像の作成をしたいのですが、負の値が0になってしまいす。負の値を残すにはどのようにすればよいでしょうか?
imnoise(A,'gaussian',0,B)
Accepted Answer
More Answers (2)
>負の値を残すにはどのようにすればよいでしょうか?
% imnoise では、データ型 double および single のピクセル値が [0, 1] の範囲内にあると想定しています。
% 関数 rescale を使用して、想定される範囲にピクセル値を調整できます。
% イメージが、[0,1] の範囲外の値をもつ double 型または single 型の場合、
% imnoise は、ノイズを追加する前に入力ピクセル値を [0, 1] の範囲にクリッピングします。
A = double(zeros(100)); % 信号が 0 のみのイメージデータ (浮動小数点数 double 型)
m = 0.5; B = 0.05; % m:平均、B:分散 (大き過ぎると 0~1 を超え飽和する)
C = imnoise(A,'gaussian',m,B) - m; % 結果から平均を引いてゼロ中心にする
surf(C)
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!

