【HALCON】exhaustive_match_mg 関数について - マルチスケール全探索によるパターンマッチング

【HALCON】exhaustive_match_mg 関数について - マルチスケール全探索によるパターンマッチング

2024-09-05

2024-09-05

HALCONexhaustive_match_mg関数は、画像内で特定のパターンをマルチスケール全探索によって検出するためのツールです。従来の全探索(エグゾースティブサーチ)と異なり、この関数は異なるスケール(サイズ)でテンプレートをチェックするため、サイズが異なる物体に対しても柔軟に対応できます。特に、製造業における部品検査や、スケールが変わる画像解析で使用され、正確なマッチングを行うことができます。

exhaustive_match_mg 関数の概要

exhaustive_match_mg関数は、全探索に加えてマルチスケールでのテンプレートマッチングを行い、テンプレートのスケール(サイズ)が変わっても正確に一致する位置を検出することが可能です。通常のパターンマッチングでは、画像内の特定のパターンを探索しますが、この関数はその探索を複数のスケールに対して行い、異なるサイズの物体でも一致を見つけ出します。

使用方法

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

exhaustive_match_mg(Image, Template, MinScale, MaxScale, Row, Column, Angle, Scale, Score)
  • Image
    検索対象の画像。
  • Template
    マッチングを行うためのテンプレート画像。
  • MinScale, MaxScale
    探索時に使用する最小・最大スケール。
  • Row, Column
    マッチングしたパターンの中心座標が出力されます。
  • Angle
    マッチングしたパターンの回転角度。
  • Scale
    マッチングしたパターンのスケール。
  • Score
    マッチングのスコア(テンプレートと一致する度合い)。

この関数は、Image内でTemplate画像が最も一致する場所をマルチスケールで全探索し、最も一致する場所の座標(Row, Column)、回転角度(Angle)、スケール(Scale)、一致度(Score)を出力します。

具体例

以下に、exhaustive_match_mg関数を使用して、画像内の異なるスケールでパターンを探索する具体例を示します。

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

* マルチスケール全探索によるパターンマッチングの実行
exhaustive_match_mg(Image, Template, 0.5, 1.5, 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')

この例では、search_image.pngに含まれるテンプレート画像template_image.pngを、スケール範囲0.5から1.5で全探索しています。結果として一致したパターンの座標(Row, Column)、回転角度(Angle)、スケール(Scale)、および一致度(Score)がウィンドウに表示されます。

応用例

exhaustive_match_mgは、以下のような場面で使用されます。

  • 異なるスケールのパターン検出
    物体のサイズが変わる可能性がある場合に、複数のスケールでパターンを探索し、正確な位置を特定します。

  • 製造業での品質検査
    部品や製品の検査において、スケールの異なる部品の検出や正確な配置確認を行うために使用されます。

  • 高精度の位置合わせ
    画像内の物体のサイズが異なる場合でも、正確な位置合わせを行うことができます。

注意点

exhaustive_match_mgは、通常の全探索に加えてスケールも探索するため、処理コストが高くなる可能性があります。そのため、計算時間に制限がある場合は、最適なスケール範囲を設定し、探索範囲を限定することが推奨されます。また、画像やテンプレートの品質が高いほど、精度の高いマッチング結果を得ることができます。

まとめ

HALCONexhaustive_match_mg関数は、マルチスケール全探索による高精度なパターンマッチングを実現する強力なツールです。異なるスケールでのパターン検出や位置合わせが必要な場面で、非常に有効に機能します。特に、製造業での品質検査や、画像内のスケールが変化する複雑なパターン解析に最適です。

Recommend