例: ノイズの付加と測定
addnoise
addnoise関数は、大きさ
n のノイズ (ここで、
n は任意の実数) を
M の各要素に
p/2 の確率で加算または減算します。
この例の使用方法については、
画像処理の例についてを参照してください。
1. 5 × 5 の行列のすべての要素の値を 127 に定義します。
2. M の要素の半分に 50 が加算または減算されるように行列 M にノイズを付加します。
(camera.bmp) | (noisy_camera.bmp) |
addnoise 関数では、加減の結果が 0 未満になるピクセルは 0 に、255 を超えるピクセルは 255 に設定されます。
4. ノイズの効果を数学的に確認するには、この 2 つのイメージに
imhist関数を適用してから、ヒストグラム間の差異を比較します。
0 と 255 の位置にある大きなスパイクは、addnoise 関数によってクリップが行われたことを示しています。
その他の方法によるノイズの付加
数式を作成することによって別のタイプのノイズを生成できます。
1. ガウスノイズを付加するには、次の定義式を使用します。
gnoise は組み込み関数ではありません。A はノイズの平均値、σ は標準偏差です。
addnoise 関数とは異なり、ガウス方式では、加減の結果が 0 未満になるピクセルが 0 に設定されたり、255 を超えるピクセルが 255 に設定されたりすることはありません。
2. gnoise を使用してノイズの行列を生成します。
3. ノイズのヒストグラムをプロットします。
ヒストグラムから、ほとんどの信号の値は最初の 30 区間内にあることがわかります。
4. 元の画像にノイズを付加した新しい画像 M2 を挿入します。
(noisy_camera2.bmp)