負の値を持つノイズの作成
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
RYO ARATA
le 27 Oct 2022
Modifié(e) : Atsushi Ueno
le 28 Oct 2022
以下のコードにて信号が0のみの画像(A)に平均0、分散Bのノイズを加えてノイズ画像の作成をしたいのですが、負の値が0になってしまいす。負の値を残すにはどのようにすればよいでしょうか?
imnoise(A,'gaussian',0,B)
0 commentaires
Réponse acceptée
Atsushi Ueno
le 27 Oct 2022
Modifié(e) : Atsushi Ueno
le 28 Oct 2022
>負の値を残すにはどのようにすればよいでしょうか?
⇒ 整数型なら符号有整数型を用います。但しint16型に限られます。
% I — グレースケール イメージ:数値配列
% データ型: single | double | int16 | uint8 | uint16
% メモ:ポアソン ノイズでは、imnoise はデータ型 int16 のイメージをサポートしていません。
A = int16(zeros(100)); % 信号が 0 のみのイメージデータ (符号有整数 int16 型)
m = 0; B = 0.05; % m:平均、B:分散 (大き過ぎると -32768~32767 を超え飽和する)
C = imnoise(A,'gaussian',m,B);
surf(C)
0 commentaires
Plus de réponses (2)
Atsushi Ueno
le 27 Oct 2022
>負の値を残すにはどのようにすればよいでしょうか?
% 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)
0 commentaires
Voir également
Catégories
En savoir plus sur イメージのフィルター処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!