このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
imnoise
イメージにノイズを付加
構文
説明
はゼロ平均のホワイト ガウス ノイズを加えます。ノイズの局所分散 J
= imnoise(I
,'localvar',intensity_map
,var_local
)var_local
は、I
内のイメージ強度値の関数です。イメージ強度値のノイズ分散へのマッピングは、ベクトル intensity_map
によって指定されます。
は乗法性ノイズに分散 J
= imnoise(I
,'speckle',var_speckle
)var_speckle
を追加します。
例
入力引数
出力引数
アルゴリズム
'gaussian'
、'localvar'
、'speckle'
のノイズ タイプに対する平均と分散パラメーターは、常に、イメージが [0, 1] の範囲のdouble
クラスであるものとして指定されます。入力イメージが異なるクラスの場合に、関数imnoise
は、イメージをdouble
になるよう変換し、指定されたタイプとパラメーターによってノイズを追加します。さらに、ピクセル値を [0, 1] の範囲にクリッピングし、ノイズを付加されたイメージを入力と同じクラスに再変換します。ポアソン分布は、入力イメージ
I
のデータ型によって次のように異なります。I
が倍精度の場合、入力ピクセル値は1e12
でスケーリングされたポアソン分布の平均として解釈されます。たとえば、入力ピクセルが5.5e-12
の値を持つ場合、対応する出力ピクセルは 5.5 の平均を持つポアソン分布から生成され、1e12
でスケール ダウンします。I
が単精度の場合、倍率は1e6
を使用します。I
がuint8
またはuint16
の場合、入力のピクセル値は、スケーリングなしで直接使用されます。たとえば、uint8
の入力のピクセルが 10 の値をもつ場合、対応する出力ピクセルは、平均 10 のポアソン分布から生成されます。
'salt & pepper'
ノイズを密度d
でイメージに追加するために、imnoise
は、最初に開区間 (0, 1) の標準一様分布からランダムな確率値を各ピクセルに割り当てます。確率値が (0,
d
/2) の範囲のピクセルの場合、ピクセル値は0
に設定されます。0
に設定されるピクセルの数は、約d*numel(I)/2
個です。確率値が [
d
/2,d
) の範囲のピクセルの場合、ピクセル値はイメージ データ型の最大値に設定されます。最大値に設定されるピクセルの数は、約d*numel(I)/2
個です。確率値が [
d
, 1) の範囲のピクセルの場合、ピクセル値は変更されません。