【HALCON】add_noise_white 関数について - 白色ノイズを画像に追加

【HALCON】add_noise_white 関数について - 白色ノイズを画像に追加

2024-08-23

2024-08-23

add_noise_white関数の概要

HALCONadd_noise_white関数は、画像にランダムな白色ノイズを追加するために使用されます。白色ノイズは、指定された振幅の範囲内でピクセルごとにランダムな変化を加え、画像にランダム性をもたらします。ノイズの強度は振幅で制御され、これにより画像のノイズレベルを調整できます。

この関数は、システムのノイズ耐性をテストする際や、画像処理アルゴリズムのパフォーマンスを評価するために役立ちます。画像全体にわたって均一に分布するため、結果はランダムにノイズが加わったものとなります。

使用例

次に、add_noise_white関数を使って画像に白色ノイズを追加する具体的な例を示します。

* 画像を読み込む
read_image(&Image, "fabrik.png")

* 白色ノイズを追加
add_noise_white(Image, &ImageNoise, 90.0)

* 結果を表示する
disp_image(ImageNoise, WindowHandle)

このコードでは、元の画像に振幅90.0の白色ノイズを追加し、結果の画像を表示しています。add_noise_white関数を用いることで、指定されたノイズ強度が画像全体に適用されます。

引数

  • Image
    ノイズを追加する元の画像です。
  • ImageNoise
    ノイズが追加された後の出力画像です。
  • Amp
    ノイズの振幅を指定します。振幅が大きくなるほど、ノイズの強度が増します。通常、1.0から1000.0の範囲内で設定されます。

戻り値

add_noise_white関数の戻り値は、ノイズが追加された画像です。この画像には、指定された振幅に基づいてランダムに白色ノイズが加わっています。

応用例

システムのノイズ耐性テスト

この関数は、画像処理システムやアルゴリズムのノイズ耐性を評価するために使用されます。シミュレーション環境で、どの程度のノイズに耐えられるかを確認するために、画像にランダムなノイズを追加してテストします。

* カメラシステムのノイズ耐性テスト
read_image(&Image, "camera_test.png")
add_noise_white(Image, &ImageNoise, 50.0)
disp_image(ImageNoise, WindowHandle)

この例では、カメラ画像に振幅50.0の白色ノイズを加え、システムの耐性を評価しています。

並列処理でのノイズ追加

HALCONadd_noise_white関数は並列処理に対応しており、複数の画像に対して同時にノイズを追加することで処理時間を短縮できます。これにより、大規模な画像データセットに対しても効率的にノイズを適用できます。

* 並列処理でノイズを追加
parallel(
    add_noise_white(Image1, &ImageNoise1, 80.0),
    add_noise_white(Image2, &ImageNoise2, 60.0)
)

このコードでは、複数の画像に並列処理で白色ノイズを同時に追加して、高速に処理を行っています。

注意点

  • ノイズの振幅を適切に設定する必要があります。振幅が高すぎると、画像の視認性が大幅に損なわれる可能性があるため、テスト目的に応じて慎重に調整することが重要です。
  • 白色ノイズは均一に分布するため、特定のピクセル領域にのみノイズを追加する場合は他のノイズ追加関数を使用する方が良い場合があります。

まとめ

HALCONadd_noise_white関数は、画像に白色ノイズを追加し、システムやアルゴリズムのノイズ耐性を評価するための便利なツールです。ノイズの振幅を調整することで、さまざまなレベルのノイズをシミュレーションでき、システムのテストや性能評価に役立ちます。並列処理を活用することで、大規模なデータセットにも効率的に対応可能です。

Recommend