関数 | |
FHANDLE FVALGAPI | fnFIE_calib_open (DPNT_T *model, INT num_model, INT *status) |
![]() | |
INT FVALGAPI | fnFIE_calib_add_data (FHANDLE hcalib, DPNT_T *points, INT num_points) |
![]() | |
INT FVALGAPI | fnFIE_calib_get_model_points (FHANDLE hcalib, DPNT_T **model, INT *num_model) |
![]() | |
INT FVALGAPI | fnFIE_calib_get_marker_points (FHANDLE hcalib, INT view_num, DPNT_T **points, INT *num_points) |
![]() | |
INT FVALGAPI | fnFIE_calib_get_num_view (FHANDLE hcalib, INT *num_view) |
![]() | |
INT FVALGAPI | fnFIE_calib_get_num_model (FHANDLE hcalib, INT *num_model) |
![]() | |
FHANDLE FVALGAPI | fnFIE_calib_open2 (INT type, INT n, DOUBLE unit, DPNT_T offset, INT *status) |
![]() | |
INT FVALGAPI | fnFIE_calib_detect (FHANDLE hcalib, FHANDLE image, DPNT_T **points, INT *num_points) |
![]() | |
INT FVALGAPI | fnFIE_calib_add_data2 (FHANDLE hcalib, FHANDLE image) |
![]() |
FHANDLE FVALGAPI fnFIE_calib_open | ( | DPNT_T * | model, | |
INT | num_model, | |||
INT * | status | |||
) |
カメラキャリブレーションデータオブジェクトの作成
カメラキャリブレーションに使用する基準モデル座標列とその個数を与え、 カメラキャリブレーションデータオブジェクトを作成します。 座標値はワールド座標系の単位で与えてください。
基準モデル
[in] | model | 基準モデル座標列 |
[in] | num_model | model 配列が含む座標の個数 (4以上) |
[out] | status | エラーコードを格納する変数のポインタ。 必要のない場合はNULLを入れてください。
|
INT FVALGAPI fnFIE_calib_add_data | ( | FHANDLE | hcalib, | |
DPNT_T * | points, | |||
INT | num_points | |||
) |
モデル撮像結果の追加
撮像結果から得られたモデル座標列を カメラキャリブレーションデータオブジェクトに追加します。
points にて与える座標列は fnFIE_calib_open() で設定した 基準モデル座標列と同じ数でなければなりません。 またその順序は、基準モデル座標列の指定時と同じ順序でなければなりません。 なお、points の座標はカメラ画像の座標系 (画像左上を原点として単位はピクセル)で与えてください。
特徴点の追加
[in,out] | hcalib | カメラキャリブレーションデータオブジェクト |
[in] | points | 画像から検出したモデル座標の配列 |
[in] | num_points | points の要素数 |
F_ERR_NONE | 正常終了 | |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_INVALID_OBJECT | 引数オブジェクト異常 | |
F_ERR_INVALID_PARAM | 引数異常
| |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_get_model_points | ( | FHANDLE | hcalib, | |
DPNT_T ** | model, | |||
INT * | num_model | |||
) |
基準モデル座標列の取得
カメラキャリブレーションデータオブジェクトから基準モデル座標列の複製を取得します。 *model はNULLで初期化して与えてください。 内部でメモリ確保した配列を返します。基準モデル座標列が不要になった場合は fnOAL_free() で解放してください。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[out] | model | 基準モデル座標配列 |
[out] | num_model | model 配列が含む座標の個数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | オブジェクト異常 | |
F_ERR_INVALID_PARAM | パラメータ異常
| |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_get_marker_points | ( | FHANDLE | hcalib, | |
INT | view_num, | |||
DPNT_T ** | points, | |||
INT * | num_points | |||
) |
格納済みモデル撮像結果座標列の取得
カメラキャリブレーションデータオブジェクトから、格納済みのモデル撮像結果座標列の複製を取得します。 *points で得たモデル撮像結果座標列のn番目と fnFIE_calib_get_model_points() で得た基準モデル座標配列のn番目は対応した座標データになります。 *points はNULLで初期化して与えてください。 内部でメモリ確保した配列を返します。モデル撮像結果座標列が不要になった場合は fnOAL_free() で解放してください。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[in] | view_num | hcalib に何番目に追加したデータを取得するか. (0 <= view_num < fnFIE_calib_add_data() を呼んだ回数) |
[out] | points | モデル撮像結果座標配列 |
[out] | num_points | points が含む座標の個数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | オブジェクト異常 | |
F_ERR_INVALID_PARAM | パラメータ異常
| |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_get_num_view | ( | FHANDLE | hcalib, | |
INT * | num_view | |||
) |
モデル撮像結果の格納回数の取得
カメラキャリブレーションデータオブジェクトから、 モデル撮像結果座標列を今までに fnFIE_calib_add_data() や fnFIE_calib_add_data2() で何回追加したかを取得します。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[out] | num_view | モデル撮像結果の格納回数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | オブジェクト異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_get_num_model | ( | FHANDLE | hcalib, | |
INT * | num_model | |||
) |
基準モデル座標列の座標点数を取得
カメラキャリブレーションデータオブジェクトから、 基準モデル座標列の座標点数を取得します。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[out] | num_model | 基準モデル座標列の座標点数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | オブジェクト異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
FHANDLE FVALGAPI fnFIE_calib_open2 | ( | INT | type, | |
INT | n, | |||
DOUBLE | unit, | |||
DPNT_T | offset, | |||
INT * | status | |||
) |
カメラキャリブレーションデータオブジェクトの作成2
カメラキャリブレーションに使用する基準モデルのデータを与え、 カメラキャリブレーションデータオブジェクトを作成します。 利用を終了するなどしてカメラキャリブレーションデータオブジェクトが 不要になった場合は fnFIE_free_object() で解放してください。
円モデルのキャリブレーションテンプレート
[in] | type | モデルの種別 (下記の値を指定してください。)
|
[in] | n | 円の縦横方向個数
|
[in] | unit | モデルの単位長さ。ワールド座標系の単位(ミリメートル等)で与えます。 ( unit > 0.0 ) |
[in] | offset | モデル原点とワールド座標系原点のオフセット。ワールド座標系の単位(ミリメートル等)で与えます。 |
[out] | status | エラーコード。不要な場合はNULLを指定してください。
|
NULL | 異常終了 | |
NULL以外 | カメラキャリブレーションデータオブジェクト | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_detect | ( | FHANDLE | hcalib, | |
FHANDLE | image, | |||
DPNT_T ** | points, | |||
INT * | num_points | |||
) |
特徴点の検出
カメラキャリブレーションデータオブジェクトに設定されているモデル種別に従って、 濃淡画像から基準モデル座標列に対応する特徴点座標を検出します。 カラー画像を与えた場合は内部で濃淡画像に変換してから処理をしています。
カメラキャリブレーションデータオブジェクトを fnFIE_calib_open2() で作成したときのみ検出できます。 fnFIE_calib_open() で作成されていた場合には処理を実行せず、 F_ERR_INVALID_OBJECT を返して終了します。
fnFIE_calib_open2() で F_CALIB_MODEL_CIRCLE のモデルでオブジェクトを作成していた場合、キャリブレーションテンプレートは白地に黒色の円と枠でなければなりません。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[in] | image | 入力画像 ( type:uc8 / ch:1,3, type:rgbq,s16,us16 / ch:1 ) |
[out] | points | 検出したモデル座標列。 points をNULLに初期化して入力すると内部でメモリ確保した配列を返します。 不要になった場合は fnOAL_free() で解放してください。 |
[out] | num_points | points のサイズ |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_IMAGE | 画像オブジェクト異常 | |
F_ERR_CALC_IMPOSSIBLE | 計算不能エラー
| |
F_ERR_INVALID_OBJECT | オブジェクト異常
| |
F_ERR_INVALID_PARAM | パラメータ不正
| |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_calib_add_data2 | ( | FHANDLE | hcalib, | |
FHANDLE | image | |||
) |
特徴点の検出と追加
カメラキャリブレーションデータオブジェクトに設定されているモデル種別に従って、 濃淡画像から基準モデル座標列に対応する特徴点座標を検出し、カメラキャリブレーションデータオブジェクトに追加します。 カラー画像を与えた場合は内部で濃淡画像に変換してから処理をしています。
カメラキャリブレーションデータオブジェクトを fnFIE_calib_open2() で作成したときのみデータを追加できます。 fnFIE_calib_open() で作成されていた場合には処理を実行せず、 F_ERR_INVALID_OBJECT を返して終了します。
fnFIE_calib_open2() で F_CALIB_MODEL_CIRCLE のモデルでオブジェクトを作成していた場合、キャリブレーションテンプレートは白地に黒色の円と枠でなければなりません。
[in] | hcalib | カメラキャリブレーションデータオブジェクト |
[in] | image | 入力画像 ( type:uc8 / ch:1,3, type:rgbq,s16,us16 / ch:1 ) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | オブジェクト異常
| |
F_ERR_INVALID_IMAGE | 画像オブジェクト異常 | |
F_ERR_CALC_IMPOSSIBLE | 計算不能エラー
| |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |