ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imnoise

イメージにノイズを付加

構文

J = imnoise(I,type)
J = imnoise(I,type,parameters)
J = imnoise(I,'gaussian',M,V)
J = imnoise(I,'localvar',V)
J = imnoise(I,'localvar',image_intensity,var)
J = imnoise(I,'poisson')
J = imnoise(I,'salt & pepper',d)
J = imnoise(I,'speckle',v)
gpuarrayJ = imnoise(gpuarrayI,___)

説明

J = imnoise(I,type) は、特定タイプのノイズを強度イメージ I に追加します。type は次のいずれかのタイプのノイズを指定します。特定のタイプのノイズでは、追加のパラメーターがサポートされています。詳細は、関連する構文を参照してください。

説明

'gaussian'

一様の平均と分散をもつホワイト ガウス ノイズ

'localvar'

強度に依存した分散をもつ平均が 0 のホワイト ガウス ノイズ

'poisson'

ポアソン ノイズ

'salt & pepper'

オンとオフのピクセル

'speckle'

累積的なノイズ

J = imnoise(I,type,parameters) では、type に基づいて、imnoise に追加パラメーターを設定できます。すべての数値パラメーターは正規化されています。これらは、0 から 1 の強度の範囲をもつイメージの演算に対応しています。

J = imnoise(I,'gaussian',M,V) は、イメージ I に平均値 m、分散 v のホワイト ガウス ノイズを加えます。既定の設定は、0.01 の分散をもつ平均 0 のノイズです。

J = imnoise(I,'localvar',V) はイメージ I に、局所的な分散が V で平均が 0 のガウス ホワイト ノイズを加えます。V は、I と同じサイズの配列です。

J = imnoise(I,'localvar',image_intensity,var) は、0 平均のガウス ノイズをイメージ I に加えます。ここで、ノイズの局所的な分散 var は、I のイメージ強度値の関数です。引数 image_intensityvar は、同じサイズのベクトルで、plot(image_intensity,var) を使用して、ノイズ分散とイメージ強度の関数の関係をプロットします。image_intensity ベクトルは、0 ~ 1 の範囲の正規化された強度値を含んでいなければなりません。

J = imnoise(I,'poisson') は、データに人工的なノイズを追加する代わりに、データからポアソン ノイズを作成します。I が倍精度の場合、入力ピクセル値は 1e12 でスケーリングされたポアソン分布の平均として解釈されます。たとえば、入力ピクセルが 5.5e-12 の値をもつ場合、対応する出力ピクセルは 5.5 の平均をもつポアソン分布から生成され、1e12 でスケールダウンします。I が単精度の場合、スケール係数は 1e6 を使用します。Iuint8 または uint16 の場合、入力のピクセル値は、スケーリングなしで直接使用されます。たとえば、uint8 の入力のピクセルが 10 の値をもつ場合、対応する出力ピクセルは、平均 10 のポアソン分布から生成されます。

J = imnoise(I,'salt & pepper',d) は、イメージ I にごま塩ノイズを追加します。ここで、d はノイズ密度です。これは、約 d*numel(I) 個のピクセルに影響を与えます。d の既定の設定は 0.05 です。

J = imnoise(I,'speckle',v) はイメージ I に累積ノイズを追加します。ここでは、式 J = I+n*I を使います。ただし、n は、平均が 0、分散が v の一様分布のランダム ノイズです。v の既定の設定は 0.04 です。

    メモ:   'gaussian''localvar''speckle' のノイズ タイプに対する平均と分散パラメーターは、常に、イメージが [0, 1] の範囲の double クラスであるかのように指定されます。入力イメージが uint8 クラスまたは uint16 クラスの場合に、関数 imnoise は、イメージを double になるよう変換し、指定されたタイプとパラメーターによってノイズを追加し、ノイズの入力と付加されたイメージを同じクラスに戻します。

gpuarrayJ = imnoise(gpuarrayI,___) は gpuArray の強度イメージ gpuarrayI にノイズを追加する処理を GPU で実行します。その後、同じクラスの gpuArray イメージ J を返します。この構文では Parallel Computing Toolbox™ が必要です。

クラス サポート

ほとんどのノイズ タイプでは、入力イメージ I のクラスは uint8uint16int16single または double になります。ポアソン ノイズは、int16 を受け入れません。出力イメージ JI と同じクラスです。I が 2 次元より大きい場合、RGB イメージではなく、多次元強度イメージとして扱います。

入力 gpuArray イメージ I のクラスは、uint8uint16int16single または double です。ポアソン ノイズは、int16 を受け入れません。出力 gpuArray イメージ JI と同じクラスです。I が 2 次元より大きい場合は、RGB gpuArray イメージではなく、多次元強度イメージとして扱われます。

イメージにノイズを追加します。

イメージにノイズを追加します。

I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
figure, imshow(I)
figure, imshow(J)

イメージにノイズを追加し、GPU で処理を実行

I = gpuArray(imread('eight.tif'));
J = imnoise(I,'salt & pepper', 0.02);

figure, imshow(I);
figure, imshow(J);

参考

| |

R2006a より前に導入

この情報は役に立ちましたか?