【HALCON】add_metrology_object_generic 関数について - 汎用計測オブジェクトを追加

【HALCON】add_metrology_object_generic 関数について - 汎用計測オブジェクトを追加

2024-08-23

2024-08-23

HALCONadd_metrology_object_generic関数は、計測モデルに対してさまざまな形状の計測オブジェクトを追加するための機能を提供します。この関数は、楕円矩形直線などの計測オブジェクトを追加し、各オブジェクトに対応する計測領域を定義します。これにより、画像中の特定のオブジェクトや領域に対して正確な計測が可能になります。

使用例

次に、add_metrology_object_generic関数を使用して計測オブジェクトを追加する具体例を示します。

* 計測モデルを作成
create_metrology_model(&MetrologyHandle)

* 円形の計測オブジェクトを追加
add_metrology_object_generic(MetrologyHandle, "circle", [100, 100, 50], 20, 5, 1.0, 30, [], [], &Index)

* 矩形の計測オブジェクトを追加
add_metrology_object_generic(MetrologyHandle, "rectangle2", [150, 150, rad(0), 40, 20], 20, 5, 1.0, 30, [], [], &Index)

* 計測を実行
apply_metrology_model(Image, MetrologyHandle)

* 結果を取得
get_metrology_object_result_contour(&Contours, MetrologyHandle, "all", "all", 1.0)

この例では、create_metrology_model関数で計測モデルを作成し、add_metrology_object_generic関数を使って円形および矩形の計測オブジェクトを追加しています。その後、apply_metrology_model関数で計測を実行し、get_metrology_object_result_contour関数で結果を取得します。

引数

  • MetrologyHandle
    計測モデルのハンドル。計測モデルの状態を管理します。
  • Shape
    追加する計測オブジェクトの形状タイプを指定します。使用できる形状には、circleellipserectangle2lineがあります。
  • ShapeParam
    計測オブジェクトの形状パラメータです。形状に応じて、座標やサイズ、角度などが指定されます。たとえば、の場合は中心座標と半径が必要です。
  • MeasureLength1
    計測領域の境界に垂直な方向の半辺長を指定します。
  • MeasureLength2
    計測領域の境界に接線方向の半辺長を指定します。
  • MeasureSigma
    画像のスムージングに使用されるガウス関数の標準偏差を指定します。
  • MeasureThreshold
    エッジの強度を決定するしきい値です。この値を超えるエッジのみが計測に使用されます。
  • GenParamName
    汎用パラメータの名前を指定します。特定の計測オブジェクトの詳細設定が可能です。
  • GenParamValue
    汎用パラメータの値を指定します。

戻り値

add_metrology_object_generic関数は、追加された計測オブジェクトのインデックスを返します。このインデックスを使用して、後続の計測処理や結果取得を行うことができます。

応用例

複数の計測オブジェクトの追加

この関数は、異なる形状の複数の計測オブジェクトを同時に追加することができます。たとえば、矩形と直線を同じモデルに追加し、同時に計測することが可能です。

* 複数のオブジェクトを同時に追加
add_metrology_object_generic(MetrologyHandle, ["rectangle2", "line"], [[100, 100, rad(0), 50, 20], [200, 100, 300, 200]], 20, 5, 1.0, 30, [], [], &Index)

このコードでは、矩形直線の計測オブジェクトを同時に追加し、同一の計測モデルで処理しています。

注意点

  • ShapeParamの設定は、選択したShapeの種類に基づいて慎重に行う必要があります。不適切な値を指定すると、正確な計測ができなくなる可能性があります。
  • MeasureSigmaの設定によってエッジ検出の精度が変わるため、適切な値を設定する必要があります。

まとめ

HALCONadd_metrology_object_generic関数は、計測モデルに対して多様な形状の計測オブジェクトを追加し、画像処理タスクにおいて正確な計測を行うための非常に有効なツールです。汎用性が高く、さまざまな形状を扱えるため、幅広い用途に適しています。

Recommend