fig. データマトリックス(FAST http://www.fast-corp.co.jp/)
fig. データマトリックスの構成(12×12セル(左)と52×52セル(右))
数字 | 英数字 | バイナリ | |
---|---|---|---|
最小情報量(シンボルサイズ10×10) | 6 | 3 | 1 |
最大情報量(シンボルサイズ144×144) | 3116 | 2335 | 1556 |
// エラー処理は省略しているので注意して下さい。 #include "fie.h" #include <stdio.h> INT main() { INT i; FHANDLE hdm = NULL; FHANDLE himg = NULL; const INT* undecoded_index = NULL; INT num_undecoded; const INT* decoded_index = NULL; INT num_decoded; const CHAR* message = NULL; FMATRIX* corner=NULL; INT size_cells_min, size_cells_max; DOUBLE width_cell_min, width_cell_max; // FIEライブラリの初期化処理 fnFIE_setup(); // 適当な8ビットグレイ画像を用意する - 画像ファイルは適宜用意すること fnFIE_load_bmp( "sample.bmp", &himg, F_COLOR_IMG_TYPE_UC8 ); // データマトリックスオブジェクト生成 fnFIE_dm_alloc_obj( &hdm ); // データマトリックス 検出対象シンボルサイズを適宜設定 size_cells_min = 32; size_cells_max = 32; fnFIE_dm_set_size_minmax( hdm, size_cells_min, size_cells_max ); // データマトリックス 検出対象シンボルセルサイズを適宜設定 width_cell_min = 5; width_cell_max = 10; fnFIE_dm_set_cellwidth_minmax( hdm, width_cell_min, width_cell_max ); // デコード実行 fnFIE_dm_execute( hdm, himg ); // デコード数とインデックス番号の参照 fnFIE_dm_query_decoded( hdm, &decoded_index, &num_decoded ); // デコード結果へのアクセス for( i=0; i<num_decoded; i++ ) { // デコードメッセージ取得 message = NULL; fnFIE_dm_query_message( hdm, decoded_index[i], &message, NULL ); // メッセージ表示 printf(message); // 必要に応じて、データマトリックスの情報を取得して下さい。 corner = NULL; fnFIE_dm_query_corner( hdm, decoded_index[i], &corner ); //... } // デコードに失敗した結果(検出はできた)へのアクセス fnFIE_dm_query_undecoded( hdm, &undecoded_index, &num_undecoded ); for( i=0; i<num_undecoded; i++ ){ //メッセージは存在しません。 // 必要に応じて、情報を取得してください corner = NULL; fnFIE_dm_query_corner( hdm, undecoded_index[i], &corner ); } // オブジェクト解放 fnFIE_free_object( hdm ); fnFIE_free_object( himg ); // FIEライブラリの終了処理 fnFIE_teardown(); return 0; }
列挙型 | |
enum | f_dm_color_type { F_DM_DARK_ON_LIGHT = 0, F_DM_LIGHT_ON_DARK = 1 } |
データマトリックス検出色 [詳細] | |
enum | f_dm_symbol_type { F_DM_SYMBOL_SQUARE = 1, F_DM_SYMBOL_RECTANGLE = 2, F_DM_SYMBOL_ALL = 3 } |
データマトリックス検出シンボル形状 [詳細] | |
関数 | |
INT FVALGAPI | fnFIE_dm_alloc_obj (FHANDLE *hdm) |
![]() | |
INT FVALGAPI | fnFIE_dm_execute (FHANDLE hdm, FHANDLE himg) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_decoded (FHANDLE hdm, const INT **decoded_index, INT *num_decoded) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_undecoded (FHANDLE hdm, const INT **undecoded_index, INT *num_undecoded) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_message (FHANDLE hdm, INT id, const CHAR **message, INT *message_length) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_center (FHANDLE hdm, INT id, DOUBLE *center_x, DOUBLE *center_y) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_size (FHANDLE hdm, INT id, INT *size_cells_x, INT *size_cells_y) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_cellwidth (FHANDLE hdm, INT id, DOUBLE *cell_width, DOUBLE *cell_height) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_cellones (FHANDLE hdm, INT id, FMATRIX **cell_ones) |
![]() | |
INT FVALGAPI | fnFIE_dm_query_corner (FHANDLE hdm, INT id, FMATRIX **corner) |
![]() | |
INT FVALGAPI | fnFIE_dm_add_offsets (FHANDLE hdm, INT offset_x, INT offset_y) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_slant_allowance (FHANDLE hdm, INT slant_allowance) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_slant_allowance (FHANDLE hdm, INT *slant_allowance) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_size_minmax (FHANDLE hdm, INT size_cells_min, INT size_cells_max) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_size_minmax (FHANDLE hdm, INT *size_cells_min, INT *size_cells_max) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_cellwidth_minmax (FHANDLE hdm, DOUBLE width_cell_min, DOUBLE width_cell_max) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_cellwidth_minmax (FHANDLE hdm, DOUBLE *width_cell_min, DOUBLE *width_cell_max) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_minvar (FHANDLE hdm, INT min_var) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_minvar (FHANDLE hdm, INT *min_var) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_color (FHANDLE hdm, enum f_dm_color_type color) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_color (FHANDLE hdm, enum f_dm_color_type *color) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_symbol_type (FHANDLE hdm, enum f_dm_symbol_type symbol_type) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_symbol_type (FHANDLE hdm, enum f_dm_symbol_type *symbol_type) |
![]() | |
INT FVALGAPI | fnFIE_dm_set_timeout (FHANDLE hdm, DOUBLE timeout) |
![]() | |
INT FVALGAPI | fnFIE_dm_get_timeout (FHANDLE hdm, DOUBLE *timeout) |
![]() |
enum f_dm_color_type |
enum f_dm_symbol_type |
INT FVALGAPI fnFIE_dm_alloc_obj | ( | FHANDLE * | hdm | ) |
データマトリックスオブジェクトの生成
[out] | hdm | データマトリックスオブジェクトハンドルへのポインタ。関数エントリー時には *hdm を NULL で初期化してください。 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NOMEMORY | メモリ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_execute | ( | FHANDLE | hdm, | |
FHANDLE | himg | |||
) |
データマトリックス デコード実行関数
本関数は データマトリックス読み取りの実行関数です。
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | himg | 入力画像(type:UC8/ch:1) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_IMAGE | 画像オブジェクトの異常 | |
F_ERR_NOMEMORY | メモリ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_decoded | ( | FHANDLE | hdm, | |
const INT ** | decoded_index, | |||
INT * | num_decoded | |||
) |
データマトリックス 検出数とインデックス配列の取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | decoded_index | 正常に読み取ることができたデータマトリックスインデックス番号の配列への参照ポインタ。関数エントリー時には *decoded_index を NULL で初期化してください。 |
[out] | num_decoded | 正常に読み取ることができたデータマトリックス数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_undecoded | ( | FHANDLE | hdm, | |
const INT ** | undecoded_index, | |||
INT * | num_undecoded | |||
) |
データマトリックス 検出したが、読み取ることができなかったデータマトリックス数とインデックス配列の取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | undecoded_index | 正常に読み取ることができなかったデータマトリックスインデックス配列の参照。関数エントリー時には *undecoded_index を NULL で初期化してください。 |
[out] | num_ndecoded | 正常に読み取ることができなかったデータマトリックス数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_message | ( | FHANDLE | hdm, | |
INT | id, | |||
const CHAR ** | message, | |||
INT * | message_length | |||
) |
データマトリックス指定したインデックス番号にあるデータマトリックスのメッセージを取得
デコードに成功したデータマトリックスのメッセージを参照します。
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | id | fnFIE_dm_query_decoded() によって得られたインデックス配列の参照値。 |
[out] | message | 読み取ったデータマトリックスメッセージ。関数エントリー時には *message を NULL で初期化してください。 |
[out] | message_length | 読み取ったデータマトリックスメッセージの文字列長。メッセージ自体に (終端文字)を含む可能性がある場合には文字列長を取得して message を使用してください。特に必要がないことがわかっている場合には message_length は NULL を指定可能です。 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NODATA | メッセージがありません(パラメータ id に、検出したがデコードに失敗したインデックス番号を指定しました) | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_center | ( | FHANDLE | hdm, | |
INT | id, | |||
DOUBLE * | center_x, | |||
DOUBLE * | center_y | |||
) |
データマトリックス読み取りに成功したデータマトリックスの中心位置を取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | id | fnFIE_dm_query_decoded() , fnFIE_dm_query_undecoded() によって得られたインデックス配列の参照値。 |
[out] | center_x | データマトリックスの中心 X 座標 |
[out] | center_y | データマトリックスの中心 Y 座標 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
fig. fnFIE_dm_query_center() によって得られた中心座標に対して×マークを描画した例
INT FVALGAPI fnFIE_dm_query_size | ( | FHANDLE | hdm, | |
INT | id, | |||
INT * | size_cells_x, | |||
INT * | size_cells_y | |||
) |
データマトリックス シンボルサイズの取得
8〜144 までのデータマトリックスのシンボルサイズを取得します。 得られるセルの数は、データマトリックスシンボルのファインダーパタンがL字を描くように配置された状態での値です。
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | id | fnFIE_dm_query_decoded() , fnFIE_dm_query_undecoded() によって得られたインデックス配列の参照値。 |
[out] | size_cells_x | 横方向セル数(必要の無い場合にはNULLを指定) |
[out] | size_cells_y | 縦方向セル数(必要の無い場合にはNULLを指定) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_cellwidth | ( | FHANDLE | hdm, | |
INT | id, | |||
DOUBLE * | cell_width, | |||
DOUBLE * | cell_height | |||
) |
データマトリックス セル幅の取得
データマトリックスシンボルの1セルの幅(画素)を取得します。 得られるセル幅は、データマトリックスシンボルのファインダーパタンがL字を描くように配置された状態での値です。
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | id | fnFIE_dm_query_decoded() , fnFIE_dm_query_undecoded() によって得られたインデックス配列の参照値。 |
[out] | cell_width | Xセル幅(画素) |
[out] | cell_height | Yセル幅(画素) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_query_cellones | ( | FHANDLE | hdm, | |
INT | id, | |||
FMATRIX ** | cell_ones | |||
) |
データマトリックス 読み取りに成功したデータマトリックスのセル位置情報の参照
セルが存在する位置情報(x,y)を取得します。
得られる位置情報はデータマトリックスを構成するセルのみです。つまりクワイエットゾーンと異なる色を持つ箇所のみ位置が得られます。 位置座標は、列ベクトル(3×n の行列で、n は列の数)として値を参照し、各列には、 のように座標が格納されます。
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | id | fnFIE_dm_query_decoded() , fnFIE_dm_query_undecoded() によって得られたインデックス配列の参照値。 |
[out] | cell_ones | セルが存在する位置情報(x,y)の列ベクトルの参照。関数エントリー時には *cell_ones を NULL で初期化してください。 なお、位置情報の格納順は、ファインダパタンL字の左上部から、タイミングパタンの方向(Lを基準にX方向)にラスタ走査を行うように格納されます。 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
// ※サンプルコードは結果の描画部のみの記述です。 ... decoded_index = NULL; fnFIE_dm_query_decoded( hdm, &decoded_index, &num_decoded ) ); for( i=0; i<num_decoded; i++ ){ //クワイエットゾーンと違う色を持つセル部描画情報の取得 cell_ones = NULL; fnFIE_dm_query_cellones( hdm, decoded_index[i], &cell_ones ); fnFIE_dm_query_cellwidth( hdm, decoded_index[i], &cell_width, &cell_height ); rc = (cell_width + cell_height)/4; //描画半径(任意) for( c=0; c<cell_ones->col; c++ ){ xc = cell_ones->m[0][c]; //各セルのX座標 yc = cell_ones->m[1][c]; //各セルのY座標 draw_circle( xc, yc, rc ); //描画関数(各自用意) } } ...
fig. fnFIE_dm_query_cellones() によって得られた点情報を中心にセルサイズを加味して円を描画した例
INT FVALGAPI fnFIE_dm_query_corner | ( | FHANDLE | hdm, | |
INT | id, | |||
FMATRIX ** | corner | |||
) |
データマトリックス シンボルのコーナー位置情報の取得
シンボルのコーナー位置情報4点 を取得します。
位置座標は、列ベクトル(3×4 の行列で、4 は列の数)として値を参照し、各列には、 のように座標が格納されます。
[in] | hdm | データマトリックスオブジェクト |
[in] | id | fnFIE_dm_query_decoded() , fnFIE_dm_query_undecoded() によって得られたインデックス配列の参照値。 |
[out] | corner | コーナー位置情報(x,y)の列ベクトルの参照。関数エントリー時には *corner を NULL で初期化してください。 なお、位置情報の格納順は、ファインダパタンL字の左上部から、そのままLを描く方向に一周するように格納されます。 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
// ※サンプルコードは結果の描画部のみの記述です。 ... decoded_index = NULL; fnFIE_dm_query_decoded( hdm, &decoded_index, &num_decoded ) ); for( i=0; i<num_decoded; i++ ){ //データマトリックスシンボル外周描画 corner = NULL; fnFIE_dm_query_corner( hdm, decoded_index[i], &corner ); for( c=0; c<corner->col; c++ ){ xs = corner->m[0][(c )%corner->col]; // 境界線始点X座標 ys = corner->m[1][(c )%corner->col]; // 境界線始点Y座標 xe = corner->m[0][(c+1)%corner->col]; // 境界線終点X座標 ye = corner->m[1][(c+1)%corner->col]; // 境界線終点Y座標 draw_line( xs, ys, xe, ye ); //描画関数(各自用意) } } ...
fig. fnFIE_dm_query_corner() の描画例(赤○マークは先頭位置)
INT FVALGAPI fnFIE_dm_add_offsets | ( | FHANDLE | hdm, | |
INT | offset_x, | |||
INT | offset_y | |||
) |
データマトリックス 検出位置に加味するオフセット量の設定
検出したすべてのデータマトリックスの検出位置(x,y)に、本関数で設定したオフセット量を足します。 例えば、チャイルド画像を使用してデータマトリックスの読み取りを行った場合に、本関数でチャイルド画像の切り出し始点位置をオフセット値として入力すると、ルート画像上での位置情報として回答を得ることができます。
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | offset_x | 検出位置に足されるオフセット量X |
[in] | offset_y | 検出位置に足されるオフセット量Y |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_slant_allowance | ( | FHANDLE | hdm, | |
INT | slant_allowance | |||
) |
データマトリックス 直交ずれ許容値の設定
データマトリックスのファインダーパタンは基本的に直交しています。 この値を変更することで、直交しないファインダーパタンにも対応することが可能です。 ただし、向かい合う辺同士の平行関係は保たれていなければなりません。
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | slant_allowance | 直交からの角度許容値(1≦slant_allowance≦45, 初期値10,単位:度) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_slant_allowance | ( | FHANDLE | hdm, | |
INT * | slant_allowance | |||
) |
データマトリックス 直交ずれ許容値の取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | slant_allowance | 直交からの角度許容値(1〜45度, 単位:度) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_size_minmax | ( | FHANDLE | hdm, | |
INT | size_cells_min, | |||
INT | size_cells_max | |||
) |
データマトリックス 検出するシンボルのシンボルサイズの設定
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | size_cells_min | 検出最小シンボルサイズ(8 ≦ size_cells_min, size_cells_min ≦ size_cells_max, 初期値:8, 単位:個) |
[in] | size_cells_max | 検出最大シンボルサイズ(size_cells_max ≦ 144, size_cells_min ≦ size_cells_max, 初期値:64, 単位:個) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_size_minmax | ( | FHANDLE | hdm, | |
INT * | size_cells_min, | |||
INT * | size_cells_max | |||
) |
データマトリックス 検出するシンボルサイズの取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | size_cells_min | 検出最小シンボルサイズ |
[out] | size_cells_max | 検出最大シンボルサイズ |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_cellwidth_minmax | ( | FHANDLE | hdm, | |
DOUBLE | width_cell_min, | |||
DOUBLE | width_cell_max | |||
) |
データマトリックス 検出するセル幅の設定
検出するデータマトリックスシンボルの1セルの大きさを指定します
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | width_cell_min | 検出最小セル幅(3 ≦ width_cell_min, width_cell_min ≦ width_cell_max, 初期値:4, 単位:画素) |
[in] | width_cell_max | 検出最大セル幅(width_cell_max ≦ 48, width_cell_min ≦ width_cell_max, 初期値15, 単位:画素) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_cellwidth_minmax | ( | FHANDLE | hdm, | |
DOUBLE * | width_cell_min, | |||
DOUBLE * | width_cell_max | |||
) |
データマトリックス 検出するセル幅の取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | width_cell_min | 検出最小セル幅(単位:画素) |
[out] | width_cell_max | 検出最大セル幅(単位:画素) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_minvar | ( | FHANDLE | hdm, | |
INT | min_var | |||
) |
データマトリックス シンボル検出のための濃度分散下限しきい値の設定
データマトリックスのシンボル検出に使用する、濃度分散の最小値を指定します。 ここで指定した分散下限しきい値以上の画素の情報をシンボル検出に使用します。
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | min_var | 分散しきい値 (初期値:1000, 0≦min_var) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_minvar | ( | FHANDLE | hdm, | |
INT * | min_var | |||
) |
データマトリックス シンボル検出のための濃度分散下限分散しきい値の取得
現在設定されている濃度分散下限しきい値を取得します。
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | min_var | 分散しきい値 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_color | ( | FHANDLE | hdm, | |
enum f_dm_color_type | color | |||
) |
データマトリックス 検出セル色の設定
データマトリックスシンボルの色を指定します。 シンボル黒(F_DM_DARK_ON_LIGHT)と、シンボル白(F_DM_LIGHT_ON_DARK)で指定します。
fig. データマトリックス色指定(左:シンボル黒,右シンボル白)
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | color | シンボルの色(初期値:F_DM_DARK_ON_LIGHT)
|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_color | ( | FHANDLE | hdm, | |
enum f_dm_color_type * | color | |||
) |
データマトリックス 検出セル色の取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | color | シンボルの色
|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_symbol_type | ( | FHANDLE | hdm, | |
enum f_dm_symbol_type | symbol_type | |||
) |
データマトリックス 検出シンボルタイプの設定
データマトリックスのシンボルタイプを指定します。 縦横のシンボルサイズ(単位:数)が同じ場合は正方形(F_DM_SYMBOL_SQUARE)、異なる場合は長方形(F_DM_SYMBOL_RECTANGLE)とします。 どちらも許す場合は両方(F_DM_SYMBOL_ALL)とします。
[in,out] | hdm | データマトリックスオブジェクトハンドル |
[in] | symbol_type | シンボルタイプ(初期値:F_DM_SYMBOL_SQUARE)
|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_symbol_type | ( | FHANDLE | hdm, | |
enum f_dm_symbol_type * | symbol_type | |||
) |
データマトリックス 検出シンボルタイプの取得
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | symbol_type | シンボルタイプ(初期値:F_DM_SYMBOL_SQUARE)
|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | データマトリックスオブジェクトの異常 | |
F_ERR_INVALID_PARAM | パラメータ異常 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_set_timeout | ( | FHANDLE | hdm, | |
DOUBLE | timeout | |||
) |
タイムアウトの設定
データマトリックスの認識を打ち切る制限時間を設定します。0を指定した場合はタイムアウトは行いません。
初期値:0ms タイムアウト無し
[in] | hdm | データマトリックスオブジェクトハンドル |
[in] | timeout | タイムアウト時間(ms) ( timeout >= 0.0 ) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 異常終了(パラメータが不正) | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトハンドルが渡されたため、異常終了。 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_dm_get_timeout | ( | FHANDLE | hdm, | |
DOUBLE * | timeout | |||
) |
タイムアウトの取得
指定したオブジェクトハンドルにて設定されているデータマトリックスの認識を打ち切る制限時間を取得します。
初期値:0ms タイムアウト無し
[in] | hdm | データマトリックスオブジェクトハンドル |
[out] | timeout | タイムアウト時間(ms) ( timeout >= 0.0 ) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 異常終了(パラメータが不正) | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトハンドルが渡されたため、異常終了。 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |