マッチング実行
[FPM(特徴点応用マッチング)]


関数

INT FVALGAPI fnFIE_fpm_matching_image (FHANDLE hfpm, FHANDLE himage, FHANDLE hmask_match, BOX_T window, enum f_fpm_featedge method, const F_FPM_FEATURE *pfeature_param, const F_FPM_MATCH *pmatching_param, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 FPM画像オブジェクトからのマッチング実行
INT FVALGAPI fnFIE_fpm_matching_feature (FHANDLE hfpm, FHANDLE hfeature, FHANDLE hmask_match, BOX_T window, const F_FPM_MATCH *pmatching_param, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 FPM特徴量オブジェクトからのマッチング実行
INT FVALGAPI fnFIE_fpm_matching_areascore (FHANDLE hfpm, FHANDLE htarget, const F_FPM_AREASCORE *pareascore_param, INT require_result_num, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 領域スコア再計算
INT FVALGAPI fnFIE_fpm_matching (FHANDLE hfpm, FHANDLE htarget, FHANDLE hmask_match, BOX_T window, enum f_fpm_featedge method, const F_FPM_FEATURE *pfeature_param, const F_FPM_MATCH *pmatching_param, const F_FPM_AREASCORE *pareascore_param, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 一連のマッチング実行
INT FVALGAPI fnFIE_fpm_matching_essential (FHANDLE hfpm, FHANDLE htarget, INT err_wide, INT threshold, INT require_result_num, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 不可欠領域スコア計算
INT FVALGAPI fnFIE_fpm_matching_recalc_with_edgeless_mask (FHANDLE hfpm, FHANDLE htarget, INT err_wide, DOUBLE noise_weight, INT threshold, INT require_result_num, F_SEARCH_RESULT *pmatching_result, INT *presult_num)
 特定領域エッジ減点スコア計算

関数

INT FVALGAPI fnFIE_fpm_matching_image ( FHANDLE  hfpm,
FHANDLE  himage,
FHANDLE  hmask_match,
BOX_T  window,
enum f_fpm_featedge  method,
const F_FPM_FEATURE pfeature_param,
const F_FPM_MATCH pmatching_param,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

FPM画像オブジェクトからのマッチング実行

引数:
[in,out] hfpm FPMオブジェクト
[in] himage マッチング対象となる画像オブジェクト(画像タイプ:uc8 のみ対応)
チャネル数は 1 でなければいけません。
[in] hmask_match マッチングエリアへのマスク情報
画像タイプ uc8 のみ対応し、チャネル数は 1 でなければいけません。
NULLが指定された場合はマスクを使用しません
[in] window マッチングエリア
[in] method 特徴量抽出手法
  • F_FPM_SOBEL_EDGE ソーベルによる特徴量抽出
  • F_FPM_CORR_EDGE 相関エッジによる特徴量抽出
  • F_FPM_SOBEL_MAX_EDGE 強度上限付ソーベルによる特徴量抽出
  • F_FPM_CORR_MAX_EDGE 強度上限付相関エッジによる特徴量抽出
  • F_FPM_GROOVE_EDGE 細線エッジによる特徴量抽出
[in] pfeature_param 特徴量計測パラメータ(NULLが指定された場合はマスターパタン登録時のパラメータを使用します)
[in] pmatching_param マッチングパラメータ
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_INVALID_IMAGE 引数画像オブジェクトが異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_FPM_NOFEATURE 特徴量が見つかりません。
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • 回答を格納するバッファは matching_param 内のメンバにて指定した検出数( require_result_num )の分だけ用意しておいてください。
  • himage から抽出し、マッチングに使用した特徴量はFPMオブジェクト内部で保持します。その際、前に保持していた特徴量データは削除されます。
  • 入力する画像オブジェクトの ステップサイズが 8で割り切れない場合には画像のコピーを行うため処理時間が余計にかかります。 特に、F_FPM_NORMAL_MODEで実行する場合, 画像オブジェクトを fnFIE_img_root_import_alloc() で確保した場合にはお気をつけください。
参照:
fnFIE_fpm_alloc()

INT FVALGAPI fnFIE_fpm_matching_feature ( FHANDLE  hfpm,
FHANDLE  hfeature,
FHANDLE  hmask_match,
BOX_T  window,
const F_FPM_MATCH pmatching_param,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

FPM特徴量オブジェクトからのマッチング実行

引数:
[in,out] hfpm FPMオブジェクト
[in] hfeature FPM特徴量オブジェクト(マッチング対象画像から得られた) 特徴量オブジェクト取得関数( fnFIE_fpm_feature_alloc(), fnFIE_fpm_feature_window_alloc() )によって生成したオブジェクトを指定します。
[in] hmask_match マッチングエリアへのマスク情報
画像タイプ uc8 のみ対応し、チャネル数は 1 でなければいけません。
NULLが指定された場合はマスクを使用しません
[in] window マッチングエリア
[in] pmatching_param マッチングパラメータ
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_FPM_NOFEATURE 特徴量が見つかりません。
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • 指定するFPMオブジェクトと特徴量オブジェクトは、同じマッチングモードで生成したものでなければなりません。
  • 回答を格納するバッファは matching_param 内のメンバにて指定した検出数(require_result_num)の分だけ用意しておいてください。
  • 本マッチング関数ではFPMオブジェクトに特徴量を保持するためにコピーを行います。その際、前に保持していた特徴量データは削除されます。
参照:
fnFIE_fpm_alloc(), fnFIE_fpm_feature_alloc(), fnFIE_fpm_feature_window_alloc()

INT FVALGAPI fnFIE_fpm_matching_areascore ( FHANDLE  hfpm,
FHANDLE  htarget,
const F_FPM_AREASCORE pareascore_param,
INT  require_result_num,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

領域スコア再計算

引数:
[in] hfpm FPMオブジェクト
[in] htarget 領域スコア計算に使用する特徴量情報が格納されたオブジェクト 特徴量オブジェクトが有効です。 NULLが指定された場合にはFPMオブジェクトに格納された(最後にマッチングに使用した)特徴量情報を使用します。
[in] pareascore_param 領域スコア再計算パラメータ
[in] require_result_num 結果取得数
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • FPMオブジェクトは、マッチング処理( fnFIE_fpm_matching_image() or fnFIE_fpm_matching_feature() or fnFIE_fpm_matching() )を実行済みのものを指定する必要があります。
  • 指定するFPMオブジェクトとターゲットオブジェクトに格納された特徴量は、同じマッチングモードで生成したものでなければなりません。
  • 回答を格納するバッファは、require_result_num にて指定した分だけ用意しておいてください。
  • 本関数の実行後、エリアスコアしきい値を下回るマッチング回答はFPMオブジェクトから削除されます。 スコア再計算前のマッチング回答を保持したい場合は、 fnFIE_copy_object() により予めFPMオブジェクトを複製するか、マッチング処理を再実行してください。
参照:
fnFIE_fpm_alloc(), fnFIE_fpm_matching_image(), fnFIE_fpm_matching_feature()

INT FVALGAPI fnFIE_fpm_matching ( FHANDLE  hfpm,
FHANDLE  htarget,
FHANDLE  hmask_match,
BOX_T  window,
enum f_fpm_featedge  method,
const F_FPM_FEATURE pfeature_param,
const F_FPM_MATCH pmatching_param,
const F_FPM_AREASCORE pareascore_param,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

一連のマッチング実行

引数:
[in,out] hfpm FPMオブジェクト
[in,out] htarget FPMでマッチング対象となる画像オブジェクト、もしくは対象画像から得られた特徴量が格納されたオブジェクトを指定します。
画像オブジェクト、特徴量オブジェクト、FPMオブジェクトが有効です。
画像オブジェクトが指定された場合には、画像タイプ uc8 のみ対応し、チャネル数は 1 でなければいけません。
[in] hmask_match マッチングエリアへのマスク情報
画像タイプ uc8 のみ対応し、チャネル数は 1 でなければいけません。 NULLが指定された場合はマスクを使用しません
[in] window マッチングエリア
[in] method 特徴量抽出手法
  • F_FPM_SOBEL_EDGE ソーベルによる特徴量抽出
  • F_FPM_CORR_EDGE 相関エッジによる特徴量抽出
  • F_FPM_SOBEL_MAX_EDGE 強度上限付ソーベルによる特徴量抽出
  • F_FPM_CORR_MAX_EDGE 強度上限付相関エッジによる特徴量抽出
  • F_FPM_GROOVE_EDGE 細線エッジによる特徴量抽出
[in] pfeature_param 特徴量計測パラメータ構造体へのポインタ
htargetに特徴量オブジェクトを指定した場合は使用しません。
htargetに画像オブジェクトが指定され、NULLが指定された場合はマスターパタン登録時のパラメータを使用します。
[in] pmatching_param マッチングパラメータ構造体へのポインタ
[in] pareascore_param 領域スコア再計算パラメータへのポインタ(領域スコア再計算を行わない場合にはNULLを指定)
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_INVALID_IMAGE 引数画像オブジェクトが異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_FPM_NOFEATURE 特徴量が見つかりません。
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • 回答を格納するバッファは matching_param 内のメンバにて指定した検出数(require_result_num)の分だけ用意しておいてください。
  • htarget から抽出し、マッチングに使用した特徴量はFPMオブジェクト内部で保持します。その際、前に保持していた特徴量データは削除されます。
  • 入力する画像オブジェクトの ステップサイズが 8で割り切れない場合には画像のコピーを行うため処理時間が余計にかかります。 特に F_FPM_NORMAL_MODE で実行する場合, 画像オブジェクトを fnFIE_img_root_import_alloc() で確保した場合にはお気をつけください。
参照:
fnFIE_fpm_alloc()

INT FVALGAPI fnFIE_fpm_matching_essential ( FHANDLE  hfpm,
FHANDLE  htarget,
INT  err_wide,
INT  threshold,
INT  require_result_num,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

不可欠領域スコア計算

指定された不可欠領域情報を使用して不可欠領域スコアを計算します。

不可欠領域の設定を行うと、通常のサーチ処理を行った後、不可欠領域エリアにある情報だけを使用してスコアを再計算します。 特に、下図のように大きなパタンの中に含まれる小さな領域に対してのスコアに差をつけたい場合に有効な処理です。

fpm_esse.png

fig.不可欠領域設定によるスコア

引数:
[in] hfpm FPMオブジェクト
[in] htarget 不可欠領域領域スコア計算に使用する特徴量情報が格納されたオブジェクト 特徴量オブジェクトが有効です。 NULLが指定された場合にはFPMオブジェクトに格納された(最後にマッチングに使用した)特徴量情報を使用します。
[in] err_wide 対応点誤差範囲(0≦err_wide)
[in] threshold スコアしきい値(0≦threshold≦100)
[in] require_result_num 結果取得数(1≦require_result_num)
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_FPM_NOFEATURE 特徴量がありません
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • 指定するFPMオブジェクトは、マッチング処理( fnFIE_fpm_matching_image() or fnFIE_fpm_matching_feature() or fnFIE_fpm_matching() )を実行済みのものを指定する必要があります。
  • 指定するFPMオブジェクトとターゲットオブジェクトに格納された特徴量は、同じマッチングモードで生成したものでなければなりません。
  • 回答を格納するバッファは、require_result_num にて指定した分だけ用意しておいてください。
  • 本関数の実行後、スコアしきい値を下回るマッチング回答はFPMオブジェクトから削除されます。 スコア再計算前のマッチング回答を保持したい場合は、 fnFIE_copy_object() により予めFPMオブジェクトを複製するか、マッチング処理を再実行してください。
参照:
fnFIE_fpm_set_pattern_essential(), fnFIE_fpm_get_pattern_essential(), fnFIE_fpm_alloc(), fnFIE_fpm_matching_image(), fnFIE_fpm_matching_feature()

INT FVALGAPI fnFIE_fpm_matching_recalc_with_edgeless_mask ( FHANDLE  hfpm,
FHANDLE  htarget,
INT  err_wide,
DOUBLE  noise_weight,
INT  threshold,
INT  require_result_num,
F_SEARCH_RESULT pmatching_result,
INT *  presult_num 
)

特定領域エッジ減点スコア計算

指定されたエッジ減点領域情報を使用して特定領域エッジ減点スコアを計算します。

特定領域エッジ減点スコアは、通常のサーチ処理を行った後、エッジ減点領域情報にあるエッジの分だけ減点処理を行いスコアを再計算します。 下図のように、大きなパタンの内側に含まれる余計なエッジを減点しつつ、パタンの外側にあるエッジは減点しない場合に有効な処理です。

fpm_edgeless_mask.png

fig.エッジ減点領域設定によるスコア

エッジ減点領域情報は fnFIE_fpm_set_pattern_edgeless_mask() により設定してください。

引数:
[in] hfpm FPMオブジェクト
[in] htarget 不可欠領域領域スコア計算に使用する特徴量情報が格納されたオブジェクト
特徴量オブジェクトが有効です。 NULLが指定された場合にはFPMオブジェクトに格納された(最後にマッチングに使用した)特徴量情報を使用します。
[in] err_wide 対応点誤差範囲(0≦err_wide)
[in] noise_weight エッジ減点重み係数(0≦noise_weight)
エッジ減点領域内の1つのエッジに対する減点値の重みを表します。
[in] threshold スコアしきい値(0≦threshold≦100)
[in] require_result_num 結果取得数(1≦require_result_num)
[out] pmatching_result マッチング結果
[out] presult_num マッチング結果個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 引数オブジェクトの種別が異常
F_ERR_NOMEMORY メモリ不足
F_ERR_INVALID_PARAM 引数異常
F_ERR_FPM_NOFEATURE 特徴量がありません
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
注意:
  • 指定するFPMオブジェクトは、マッチング処理( fnFIE_fpm_matching_image() or fnFIE_fpm_matching_feature() or fnFIE_fpm_matching() )を実行済みのものを指定する必要があります。
  • 指定するFPMオブジェクトとターゲットオブジェクトに格納された特徴量は、同じマッチングモードで生成したものでなければなりません。
  • 回答を格納するバッファは、require_result_num にて指定した分だけ用意しておいてください。
  • 本関数の実行後、スコアしきい値を下回るマッチング回答はFPMオブジェクトから削除されます。 スコア再計算前のマッチング回答を保持したい場合は、 fnFIE_copy_object() により予めFPMオブジェクトを複製するか、マッチング処理を再実行してください。
参照:
fnFIE_fpm_set_pattern_edgeless_mask(), fnFIE_fpm_get_pattern_edgeless_mask()


Documentation copyright © 2009-2024 FAST Corporation.
Generated on Fri Aug 9 16:38:47 2024 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2