【HALCON】apply_sample_identifier 関数について - サンプル識別子の適用

【HALCON】apply_sample_identifier 関数について - サンプル識別子の適用

2024-08-23

2024-08-23

HALCONapply_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を調整することで複数の結果を取得できます。これにより、評価値に基づくフィルタリングや優先度の高いオブジェクトの識別が可能です。

まとめ

HALCONapply_sample_identifier関数は、訓練済みのサンプル識別子を使用して、画像内のオブジェクトを自動的に識別する強力なツールです。パターン認識や物体の特定といったタスクにおいて、迅速かつ正確な識別を行うことができます。

Recommend