【HALCON】find_scaled_shape_models 関数について - 複数のスケーリング可能な形状モデルの検出
2024-09-04
2024-09-04
HALCON
のfind_scaled_shape_models
関数は、画像内で複数のスケーリング可能な形状モデルを同時に検出し、それぞれの位置や姿勢を特定するための強力なツールです。この関数は、物体が異なるスケール(大きさ)や回転角度で画像内に現れる場合でも、複数の形状を高精度で認識することができます。これにより、産業オートメーションや品質検査など、様々な分野で複数の物体を同時に認識し、位置決めを行うことが可能になります。
find_scaled_shape_models 関数の概要
find_scaled_shape_models
関数は、事前に作成されたスケーリング可能な形状モデルを使用して、入力画像内でそのモデルに対応する複数の物体を同時に検出します。この関数は、物体が異なるサイズや回転角度で現れる場合でも、それらを正確に認識し、各物体の位置や姿勢を特定することができます。製造ラインでの部品認識や品質検査、複数の物体が存在する場面でのロボット誘導など、様々な産業用アプリケーションにおいて役立ちます。
使用方法
find_scaled_shape_models
関数の基本的な使用方法は以下の通りです。
find_scaled_shape_models(Image, ModelID, AngleStart, AngleExtent, ScaleMin, ScaleMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, Row, Column, Angle, Scale, Score)
Image
検出対象となる画像。ModelID
検出に使用するスケーリング可能な形状モデルのID。AngleStart
,AngleExtent
検出対象の回転角度範囲。ScaleMin
,ScaleMax
検出対象のスケール範囲(最小・最大)。MinScore
検出されたモデルが有効と判断されるための最小スコア。NumMatches
検出される最大のインスタンス数(複数モデルの同時検出)。MaxOverlap
検出されたインスタンス間で許容される最大重なり率。SubPixel
サブピクセル精度での結果を求めるための設定。NumLevels
画像のピラミッドレベルの数。Greediness
検出処理のグリーディネス(速さと精度のバランス)を指定。Row
,Column
検出された各モデルの位置。Angle
検出された各モデルの回転角度。Scale
検出された各モデルのスケール。Score
各検出結果のスコア。
具体例
以下に、find_scaled_shape_models
関数を使用して複数のスケーリング可能な形状モデルを同時に検出する例を示します。
* 画像の読み込み
read_image(Image, 'scaled_shape_models_example_image')
* スケーリング可能な形状モデルの読み込み
read_shape_model('scaled_shape_model_file', ModelID)
* スケーリング可能な形状モデルの複数検出
find_scaled_shape_models(Image, ModelID, 0, 3.14, 0.9, 1.1, 0.5, 10, 0.5, 'true', 5, 0.9, Row, Column, Angle, Scale, Score)
* 検出結果の表示
disp_message(WindowHandle, 'Multiple Scaled Shape Models Detected', 'window', 12, 12, 'black', 'true')
この例では、指定された画像内で複数のスケーリング可能な形状モデルを検出し、それぞれの位置、回転角度、スケールを表示します。これにより、複数の産業用アプリケーションでの応用が期待されます。
応用例
find_scaled_shape_models
関数は、以下のようなシナリオで特に有用です。
- 産業オートメーション
製造ラインで異なるサイズや角度の部品を同時に検出し、位置決めや組み立てを自動化します。 - 品質検査
様々なスケールや角度の製品を検査し、欠陥や不一致を検出する際に使用されます。 - ロボット誘導
複数の異なる形状や大きさの物体を検出し、ロボットによる操作を正確に行います。
まとめ
HALCON
のfind_scaled_shape_models
関数は、複数のスケーリング可能な形状モデルを同時に検出するための強力なツールです。この関数を使用することで、産業用アプリケーションにおいて異なるサイズや回転角度の物体を正確に認識し、効率的な位置決めや操作が可能となります。