【HALCON】apply_sample_identifier 関数について - サンプル識別子の適用
2024-08-23
2024-08-23
HALCON
のapply_sample_identifier
関数は、サンプルベースの識別手法を使用して、画像内に含まれるオブジェクトを特定するための関数です。この関数は、事前に訓練されたSampleIdentifier
を用いて、入力画像から物体を識別し、対応するオブジェクトのインデックスとその評価値を返します。
使用例
以下の例では、apply_sample_identifier
関数を使用して、画像中の物体を識別する方法を示します。
* サンプル識別を適用
apply_sample_identifier(InputImage, SampleIdentifier, 1, 0.1, [], [], &ObjectIdx, &Rating)
この例では、InputImage
に対してサンプル識別を行い、最も高評価の物体のインデックスをObjectIdx
に、評価値をRating
に格納しています。
引数
-
Image
サンプル識別を適用する入力画像。
識別対象となるオブジェクトが含まれる画像を指定します。 -
SampleIdentifier
サンプル識別子のハンドル。
事前に訓練されたサンプルデータを格納している識別器です。 -
NumResults
識別結果として取得するオブジェクトの数。
取得したい結果の数を指定します(通常は1)。 -
RatingThreshold
識別の評価値の閾値。
この閾値以上の評価が得られたオブジェクトのみが結果に含まれます。 -
GenParamName
汎用パラメータ名のリスト。
識別時に指定する追加のパラメータ名です。 -
GenParamValue
汎用パラメータ値のリスト。
GenParamName
に対応するパラメータの値を指定します。
戻り値
-
ObjectIdx
識別されたオブジェクトのインデックス。
最も高評価のオブジェクトのインデックスが返されます。 -
Rating
識別されたオブジェクトの評価値。
識別の精度を示すスコアが返されます。
応用例
複数の結果に基づく処理
複数のオブジェクトを識別し、それに基づいて特定の処理を実行する例です。
* 複数の結果を取得
apply_sample_identifier(InputImage, SampleIdentifier, 3, 0.2, [], [], &ObjectIndices, &Ratings)
* 識別結果に基づいて処理を実行
foreach ObjectIndex in ObjectIndices
if (Ratings[ObjectIndex] > 0.5)
* 高評価のオブジェクトに対して特定の処理
endif
endfor
この例では、識別結果のリストObjectIndices
とその評価値Ratings
を取得し、高評価の物体に対して処理を行っています。
注意点
- 識別を行う前に、
train_sample_identifier
関数などを使用して、識別器のトレーニングを完了しておく必要があります。 - 複数のオブジェクトが画像内に含まれている場合、
NumResults
を調整することで複数の結果を取得できます。これにより、評価値に基づくフィルタリングや優先度の高いオブジェクトの識別が可能です。
まとめ
HALCON
のapply_sample_identifier
関数は、訓練済みのサンプル識別子を使用して、画像内のオブジェクトを自動的に識別する強力なツールです。パターン認識や物体の特定といったタスクにおいて、迅速かつ正確な識別を行うことができます。