【HALCON】set_metrology_object_param 関数について - 計測オブジェクトのパラメータ設定

【HALCON】set_metrology_object_param 関数について - 計測オブジェクトのパラメータ設定

2024-09-10

2024-09-10

HALCONset_metrology_object_param関数は、計測オブジェクトに対して各種パラメータを設定し、エッジ検出や形状測定のパフォーマンスを最適化するための関数です。これにより、測定条件を柔軟に調整し、高精度な画像処理が可能になります。

set_metrology_object_param 関数の概要

set_metrology_object_param関数は、計測オブジェクトに対してエッジ検出や形状測定のためのパラメータを設定します。このパラメータ設定により、検出精度や測定範囲、スムージングの強さを調整し、ノイズの影響を軽減しながら高精度な計測が可能になります。

使用方法

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

set_metrology_object_param(MetrologyHandle, ObjectID, ParameterName, Value)
  • MetrologyHandle
    計測モデルのハンドルを指定します。
  • ObjectID
    計測オブジェクトのIDを指定します。このIDを使って特定のオブジェクトに対して設定を行います。
  • ParameterName
    設定するパラメータの名前を指定します。例として、'measure_length1''measure_sigma'などがあります。
  • Value
    パラメータに対する設定値を指定します。

* 計測オブジェクトのスムージング強度を設定
set_metrology_object_param(MetrologyHandle, ObjectID, 'measure_sigma', 1.2)

* 計測長150ピクセルに設定
set_metrology_object_param(MetrologyHandle, ObjectID, 'measure_length1', 50)

* 計測長220ピクセルに設定
set_metrology_object_param(MetrologyHandle, ObjectID, 'measure_length2', 20)

この例では、エッジ検出に対するスムージングの強さと、計測長1および計測長2の設定を行っています。

主なパラメータ

measure_length1(計測長1)

'measure_length1'は、エッジ検出時に使用する計測の長さ(直線の長さ)を指定します。このパラメータは、画像内のエッジの検出範囲に影響します。

measure_length2(計測長2)

'measure_length2'は、エッジの法線方向に対する測定幅を指定します。このパラメータは、エッジ検出の精度やノイズ耐性に影響を与えます。

measure_sigma(スムージングパラメータ)

'measure_sigma'は、エッジ検出におけるスムージングの強さを指定します。値が大きいほど、平滑化が強くなり、ノイズが軽減されますが、エッジのシャープさが失われる可能性があります。

num_instances(検出数)

'num_instances'は、計測オブジェクトのインスタンスの数を指定します。例えば、複数の同じオブジェクトを検出したい場合に、このパラメータを使用します。

応用例

エッジ検出の精度向上

計測オブジェクトのスムージング強度や測定範囲を適切に設定することで、エッジ検出の精度を向上させることができます。特に、ノイズの多い画像では、measure_sigmaを調整することで精度が高まります。

複数オブジェクトの同時検出

同じ形状の複数のオブジェクトを一度に検出したい場合、num_instancesを使用して同時に検出できるオブジェクトの数を設定できます。これにより、効率的な物体認識が可能です。

複雑な形状の測定

形状が複雑なオブジェクトを測定する際、measure_length1measure_length2を適切に調整することで、より正確な測定が可能になります。これにより、測定範囲を柔軟に調整して対応できます。

まとめ

HALCONset_metrology_object_param関数は、計測オブジェクトに対してさまざまなパラメータを設定し、エッジ検出や形状測定の精度を向上させるためのツールです。この関数を使用することで、ノイズの影響を抑えながら高精度な計測を実現し、効率的な画像処理が可能になります。

Recommend