関数 > 画像処理 > 画像の操作 > 例: ノイズの付加と測定
例: ノイズの付加と測定
addnoise
addnoise関数は、大きさ n のノイズ (ここで、n は任意の実数) を M の各要素に p/2 の確率で加算または減算します。
この例の使用方法については、画像処理の例についてを参照してください。
1. 5 × 5 の行列のすべての要素の値を 127 に定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. M の要素の半分に 50 が加算または減算されるように行列 M にノイズを付加します。
クリックしてこの式をコピー
クリックしてこの式をコピー
3. READ_IMAGE関数を使用して画像を読み込み、それに addnoise を適用してから、WRITEBMPを使用してそれをファイルに書き込みます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(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)
これは役に立ちましたか?