【HALCON】Nonmax Suppression Amp 関数について - 非最大値抑制によるエッジ強調処理

【HALCON】Nonmax Suppression Amp 関数について - 非最大値抑制によるエッジ強調処理

2024-08-28

2024-08-28

HALCONNonmax Suppression Amp関数は、エッジ検出結果に対して非最大値抑制(Non-Maximum Suppression)を適用するためのツールです。この処理により、エッジの強度に基づいて重要なエッジを強調し、ノイズの影響を抑えつつシャープなエッジを抽出できます。以下では、Nonmax Suppression Amp関数の基本的な使用方法、各引数の詳細、具体的な使用例について説明します。

Nonmax Suppression Amp関数の基本的な使用方法

Nonmax Suppression Amp関数は、次のような構文で使用されます。

nonmax_suppression_amp(Amplitude, Direction : : Suppressed)

引数の説明

  • Amplitude: エッジの強度を示す入力画像です。通常、エッジ検出結果が入力として使用されます。
  • Direction: エッジの方向情報を持つ画像です。エッジの勾配方向に基づいて非最大値抑制が行われます。
  • Suppressed: 非最大値抑制後のエッジ強調された出力画像です。ノイズが除去され、シャープなエッジが抽出されます。

使用例

以下に、Nonmax Suppression Amp関数を使用した具体的な例を示します。

HTuple amplitude, direction, suppressed;

// エッジ強度とエッジ方向画像を生成
sobel_amp(image, &amplitude, "sum_abs", 3);
sobel_dir(image, &direction, "sum_abs", 3);

// 非最大値抑制を適用
nonmax_suppression_amp(amplitude, direction, &suppressed);

この例では、まず画像に対してsobel_ampでエッジの強度を、sobel_dirでエッジの方向を計算し、それらをNonmax Suppression Amp関数に入力しています。結果として、非最大値抑制が適用されたシャープなエッジがsuppressedに格納されます。

Nonmax Suppression Amp関数の具体的な用途

Nonmax Suppression Amp関数は、以下のような場面で特に役立ちます。

  • エッジ検出の改善: 非最大値抑制を用いることで、エッジ検出結果をよりシャープにし、ノイズを減少させます。
  • 画像の特徴抽出: シャープでノイズの少ないエッジを抽出し、特徴的な部分を強調します。
  • 物体検出: 物体の境界線を正確に捉え、物体認識や形状解析に使用されます。

Nonmax Suppression Amp関数を使用することで、HALCONにおけるエッジ検出の精度が向上し、特にノイズの多い画像に対して有効なエッジ強調が可能です。

Recommend