【HALCON】fast_match_mg 関数について - マルチスケール高速パターンマッチング

【HALCON】fast_match_mg 関数について - マルチスケール高速パターンマッチング

2024-09-05

2024-09-05

HALCONfast_match_mg関数は、マルチスケールのパターンマッチングを高速に実行するためのツールです。この関数は、スケールや回転の異なるテンプレートを画像内で迅速に検出し、その位置や角度を特定するために使用されます。特に、製造業や品質管理における位置合わせやパターン認識など、正確な検出が求められる場面で役立ちます。複数のスケールや変形に対応できるため、より柔軟なマッチングが可能です。

fast_match_mg 関数の概要

fast_match_mg関数は、画像内のパターンを異なるスケールや回転角度に対応して高速に検出するマッチングアルゴリズムです。通常のfast_match関数と比べ、複数のスケールや角度を探索するため、拡大・縮小された物体の検出に強みを発揮します。この機能により、テンプレートが画像内でどのように変化しても正確に検出することが可能です。

使用方法

fast_match_mg関数の基本的な使用方法は以下の通りです。

fast_match_mg(Image, Template, MinScale, MaxScale, MinScore, Row, Column, Angle, Scale, Score)
  • Image
    マッチングを行う対象の画像。
  • Template
    マッチング対象のテンプレート画像。
  • MinScale
    テンプレートの最小スケール(拡大率)。
  • MaxScale
    テンプレートの最大スケール(拡大率)。
  • MinScore
    マッチングの最小スコア(0.0〜1.0)。この値以上で一致したものが検出されます。
  • Row, Column
    マッチングしたパターンの中心座標が出力されます。
  • Angle
    マッチングしたパターンの回転角度が出力されます。
  • Scale
    マッチングしたパターンのスケール(拡大/縮小率)。
  • Score
    マッチングのスコア(テンプレートと一致する度合い)。

この関数では、指定したスケール範囲と回転角度に基づいて、テンプレートが画像内で最も一致する場所の座標、回転角度、スケール、および一致度を計算します。

具体例

以下に、fast_match_mg関数を使用して、異なるスケールと回転角度でテンプレートを画像内で検出する具体例を示します。

* 画像とテンプレートの読み込み
read_image(Image, 'input_image.png')
read_image(Template, 'template_image.png')

* マルチスケール高速マッチングの実行(最小スケール0.8, 最大スケール1.2, 最小スコア0.85で検出)
fast_match_mg(Image, Template, 0.8, 1.2, 0.85, Row, Column, Angle, Scale, Score)

* 結果の表示
disp_message(WindowHandle, 'Row: ' + Row + ', Column: ' + Column, 'window', 12, 12, 'black', 'true')
disp_message(WindowHandle, 'Angle: ' + Angle + ', Scale: ' + Scale, 'window', 12, 32, 'black', 'true')
disp_message(WindowHandle, 'Score: ' + Score, 'window', 12, 52, 'black', 'true')

この例では、input_image.pngからtemplate_image.pngのテンプレートを、スケール0.8から1.2の範囲で探索し、最小スコア0.85以上で一致する位置を検出しています。結果として、テンプレートの位置、回転角度、スケール、および一致度がウィンドウに表示されます。

応用例

fast_match_mgは、以下のようなシナリオで使用されます。

  • スケールの異なる物体の検出
    拡大縮小が発生する可能性のある製品やパターンを正確に検出し、品質管理や検査に役立ちます。

  • 回転のある物体の位置検出
    物体が回転していても、正確な位置と角度を検出し、製造業での位置合わせに使用します。

  • リアルタイム画像処理
    高速なマッチングを必要とするロボットビジョンや生産ラインでのリアルタイム処理に適しています。

注意点

fast_match_mgを使用する際には、スケールと回転角度の範囲設定に注意が必要です。範囲が広すぎると処理時間が長くなる可能性があるため、目的に応じて最適な範囲を設定することが推奨されます。また、テンプレート画像の解像度や品質も結果に影響するため、鮮明なテンプレートを使用することが望ましいです。

まとめ

HALCONfast_match_mg関数は、スケールや回転に柔軟に対応した高速パターンマッチングを実現する強力なツールです。製造業や品質管理における精密な位置検出や、ロボットビジョンでのリアルタイム処理に非常に適しており、スケールや回転角度が変化する複雑な画像処理にも対応可能です。

Recommend