【HALCON】best_match_rot_mg 関数について - マルチスケール・回転対応パターンマッチング

【HALCON】best_match_rot_mg 関数について  - マルチスケール・回転対応パターンマッチング

2024-08-24

2024-08-24

HALCONbest_match_rot_mg関数は、マルチスケールおよび回転に対応したパターンマッチングを行い、画像内で最適な位置と回転角度を検索するための関数です。この関数を使用することで、対象物が異なるスケールや角度で表示されている場合でも、正確に一致する位置を特定することができます。製品検査やロボットビジョンなど、対象物が回転したりサイズが異なるシーンで幅広く活用されています。

best_match_rot_mg 関数とは

best_match_rot_mg関数は、画像内のテンプレートが複数の解像度や回転角度で現れる場合に、最適な一致を検索します。この関数は、テンプレートの回転およびスケールの変動を考慮しながら、最も一致する位置と角度を計算します。回転やスケールの違いに対応できるため、複雑なシーンや製品が変動する場面でも正確なパターンマッチングを実現します。

基本的な使用例

以下は、best_match_rot_mg関数を使用して、回転とスケールに対応したパターンマッチングを行う基本的な例です。

* 画像を読み込み
read_image (Image, 'example_image.png');
read_image (Template, 'template_image.png');

* 回転およびスケール対応のテンプレートマッチングを実行
best_match_rot_mg (Image, Template, MatchRow, MatchColumn, MatchAngle, MatchScale);

この例では、read_imageで入力画像Imageとテンプレート画像Templateを読み込み、best_match_rot_mg関数を使用して最適な一致位置と回転角度、スケール倍率を計算します。MatchRow(行座標)、MatchColumn(列座標)、MatchAngle(回転角度)、MatchScale(スケール倍率)が結果として返されます。

引数の詳細

  • Image
    テンプレートマッチングを行う対象の入力画像です。

  • Template
    一致させたいテンプレート画像です。このテンプレートを基に画像内で最適な位置が検索されます。

  • MatchRow
    テンプレートが最も一致した位置の行座標が返されます。

  • MatchColumn
    テンプレートが最も一致した位置の列座標が返されます。

  • MatchAngle
    テンプレートが最も一致した位置の回転角度が返されます。

  • MatchScale
    テンプレートが最も一致した位置でのスケール倍率が返されます。

マルチスケール・回転対応パターンマッチングの用途

マルチスケールおよび回転対応のパターンマッチングは、対象物が回転したり異なるスケールで表示されている場合でも正確に検出するための技術です。次のような場面で特に有効です。

  • 製品検査
    製造ラインで製品が異なる角度やサイズで配置されている場合でも、テンプレートマッチングにより正確な検査が可能です。

  • ロボットビジョン
    ロボットが操作する対象物が回転したりサイズが変わった場合でも、正確にその位置と角度を認識し、適切な動作を行うことができます。

  • 画像認識
    画像内で対象物が異なる角度やサイズで表示される場合でも、正確にその位置と姿勢を認識し、解析を行うことが可能です。

応用例: 回転およびスケールが異なる製品の検査

以下は、製造ラインで回転およびスケールが異なる製品を検査するために、best_match_rot_mg関数を使用する例です。

* 画像とテンプレートを読み込み
read_image (Image, 'rotated_scaled_product.png');
read_image (Template, 'product_template.png');

* 回転およびスケール対応のテンプレートマッチングを実行
best_match_rot_mg (Image, Template, MatchRow, MatchColumn, MatchAngle, MatchScale);

* 検出された位置と角度、スケールに基づいて製品検査を実施
if (MatchRow >= 0 and MatchColumn >= 0)
    * スケールと回転角度に基づいて検査処理を実施
    pass_inspection ();
else
    * 検査不合格の処理
    fail_inspection ();
endif

この例では、回転とスケールが異なる製品画像rotated_scaled_product.pngに対して、テンプレート画像product_template.pngを使用して最適な一致位置を検索し、製品の位置、回転角度、スケールを基に検査を行っています。

マルチスケール・回転対応パターンマッチングの利点

  • スケールと回転に対応した精度の高い検出
    対象物がどの角度で回転していても、またサイズが変わっていても、正確に位置、角度、スケールを検出できます。

  • 誤検出の減少
    スケールや回転の変動により生じる誤検出や見逃しを防ぎ、正確なパターンマッチングが可能です。

  • 幅広い適用性
    製品検査やロボットビジョンなど、スケールや角度の変動が発生するさまざまなシーンで利用できます。

まとめ

HALCONbest_match_rot_mg関数は、マルチスケールと回転対応のパターンマッチングを実現するための強力なツールです。この関数を使用することで、対象物が異なる角度やスケールで表示されている場合でも、正確に位置や角度、スケールを検出でき、製品検査やロボットビジョンでの精度が向上します。複数の角度やサイズに対応した物体検出が必要なシステムで、この関数を活用して精度の高い解析を実現してください。

Recommend