【HALCON】find_scaled_shape_model 関数について - スケーリング可能な形状モデルの検出
2024-09-04
2024-09-04
HALCON
のfind_scaled_shape_model
関数は、画像内でスケーリング可能な形状モデルを検出し、その位置や姿勢を特定するための強力なツールです。この関数を使用することで、異なるスケールや回転角度で出現する物体を正確に検出でき、産業オートメーションや品質検査において多様な物体を認識するために役立ちます。
find_scaled_shape_model 関数の概要
find_scaled_shape_model
関数は、あらかじめ作成された形状モデルを用いて、入力画像内でそのモデルに対応する物体を検索・検出します。この関数は、物体が異なる大きさや角度で現れても、それを認識し、正確に位置と姿勢を特定することができます。製造ラインでの部品認識、品質検査、ロボット誘導などの場面で幅広く活用されています。
使用方法
find_scaled_shape_model
関数の基本的な使用方法は以下の通りです。
find_scaled_shape_model(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_model
関数を使用してスケーリング可能な形状モデルを検出する例を示します。
* 画像の読み込み
read_image(Image, 'scaled_shape_example_image')
* スケーリング可能な形状モデルの読み込み
read_shape_model('scaled_shape_model_file', ModelID)
* スケーリング可能な形状モデルの検出
find_scaled_shape_model(Image, ModelID, 0, 3.14, 0.9, 1.1, 0.5, 1, 0.5, 'true', 5, 0.9, Row, Column, Angle, Scale, Score)
* 検出結果の表示
disp_message(WindowHandle, 'Scaled Shape Model Detected at: (' + Row + ', ' + Column + ') with scale: ' + Scale, 'window', 12, 12, 'black', 'true')
この例では、指定された画像内でスケーリング可能な形状モデルを検出し、その位置、回転角度、スケールを表示します。これにより、サイズや角度が異なる物体の正確な位置決めが可能です。
応用例
find_scaled_shape_model
関数は、以下のシナリオで特に有用です。
- 産業オートメーション
製造ラインでの部品認識、ロボットの正確な操作や取り扱い。 - 品質検査
異なるサイズや角度で現れる製品の正確な検査。 - パターン認識
複数サイズのオブジェクトが含まれるシステムでの形状認識。
まとめ
HALCON
のfind_scaled_shape_model
関数は、異なるスケールや角度で現れる物体を正確に検出し、その位置や姿勢を特定するための強力なツールです。この関数を使用することで、産業オートメーションや品質検査において、より柔軟で精度の高い形状認識が可能になります。