特徴量計算
[2値ブローブ解析]


関数

INT FVALGAPI fnFIE_measure_get_perimeter (const FHANDLE hresult, UINT blobno, DOUBLE *perimeter)
 対象ブローブの周囲長の取得
INT FVALGAPI fnFIE_measure_get_boundary (const FHANDLE hresult, UINT blobno, PNT_T **pnts, UINT *pnum)
 周囲座標の取得
INT FVALGAPI fnFIE_measure_get_boundary_ex (const FHANDLE hresult, UINT blobno, INT connection, PNT_T **ext_pnts, UINT *ext_pnum, PNT_T **int_pnts, UINT *int_pnum)
 周囲座標の取得
INT FVALGAPI fnFIE_measure_get_color (const FHANDLE hresult, UINT blobno, UINT *color)
 色の取得
INT FVALGAPI fnFIE_measure_get_xyrange (const FHANDLE hresult, UINT blobno, INT *xmin, INT *ymin, INT *xmax, INT *ymax)
 xyrangeの取得
INT FVALGAPI fnFIE_measure_get_area (const FHANDLE hresult, UINT blobno, UINT *area)
 対象ブローブの面積の取得
INT FVALGAPI fnFIE_measure_get_maxminpos (const FHANDLE hresult, UINT blobno, INT *xmin_at_ymin, INT *xmax_at_ymax, INT *ymin_at_xmax, INT *ymax_at_xmin)
 座標の最大最小位置の取得
INT FVALGAPI fnFIE_measure_get_xydiff (const FHANDLE hresult, UINT blobno, INT *xdiff, INT *ydiff)
 外接矩形サイズの取得
INT FVALGAPI fnFIE_measure_get_rect1_area (const FHANDLE hresult, UINT blobno, UINT *rect1_area)
 外接矩形面積の取得
INT FVALGAPI fnFIE_measure_get_rect1_lratio (const FHANDLE hresult, UINT blobno, DOUBLE *rect1_lratio)
 外接矩形縦横比の取得
INT FVALGAPI fnFIE_measure_get_rect1_sratio (const FHANDLE hresult, UINT blobno, DOUBLE *rect1_sratio)
 外接矩形面積比の取得
INT FVALGAPI fnFIE_measure_get_moment1 (const FHANDLE hresult, UINT blobno, DLONG *sumx, DLONG *sumy)
 1次モーメントの取得
INT FVALGAPI fnFIE_measure_get_moment2 (const FHANDLE hresult, UINT blobno, UDLONG *sumx2, UDLONG *sumy2, DLONG *sumxy)
 2次モーメントの取得
INT FVALGAPI fnFIE_measure_get_central_moment2 (const FHANDLE hresult, UINT blobno, DOUBLE *mg20, DOUBLE *mg02, DOUBLE *mg11)
 重心2次モーメントの取得
INT FVALGAPI fnFIE_measure_get_moment3 (const FHANDLE hresult, UINT blobno, DOUBLE *m30, DOUBLE *m03, DOUBLE *m21, DOUBLE *m12)
 3次モーメントの取得
INT FVALGAPI fnFIE_measure_get_central_moment3 (const FHANDLE hresult, UINT blobno, DOUBLE *mg30, DOUBLE *mg03, DOUBLE *mg21, DOUBLE *mg12)
 重心3次モーメントの取得
INT FVALGAPI fnFIE_measure_get_moment (const FHANDLE hresult, UINT blobno, INT xn, INT yn, DOUBLE *m)
 N次モーメントの取得
INT FVALGAPI fnFIE_measure_get_central_moment (const FHANDLE hresult, UINT blobno, INT xn, INT yn, DOUBLE *mg)
 重心N次モーメントの取得
INT FVALGAPI fnFIE_measure_get_hu_moments (const FHANDLE hresult, UINT blobno, DOUBLE *h)
 Huモーメント不変量の取得
INT FVALGAPI fnFIE_measure_get_center (const FHANDLE hresult, UINT blobno, DOUBLE *centerx, DOUBLE *centery)
 重心の取得
INT FVALGAPI fnFIE_measure_get_equivalent_ellipse (const FHANDLE hresult, UINT blobno, DOUBLE *majoraxis, DOUBLE *minoraxis, DOUBLE *theta, DOUBLE *aratio)
 等価楕円の取得
INT FVALGAPI fnFIE_measure_get_equivalent_disk (const FHANDLE hresult, UINT blobno, DOUBLE *diameter)
 面積等価円の取得
INT FVALGAPI fnFIE_measure_get_rect2_size (const FHANDLE hresult, UINT blobno, DOUBLE *lsize, DOUBLE *wsize)
 外接長方形の取得
INT FVALGAPI fnFIE_measure_get_rect2_area (const FHANDLE hresult, UINT blobno, DOUBLE *rect2_area)
 外接長方形面積の取得
INT FVALGAPI fnFIE_measure_get_rect2_lratio (const FHANDLE hresult, UINT blobno, DOUBLE *rect2_lratio)
 外接長方形縦横比の取得
INT FVALGAPI fnFIE_measure_get_rect2_sratio (const FHANDLE hresult, UINT blobno, DOUBLE *rect2_sratio)
 外接長方形面積比の取得
INT FVALGAPI fnFIE_measure_get_feret_diameter (const FHANDLE hresult, UINT blobno, DOUBLE theta, INT mode, DOUBLE *diameter)
 フェレ径の取得
INT FVALGAPI fnFIE_measure_get_convex2d (const FHANDLE hresult, UINT blobno, PNT_T **ppHull, UINT *verNum)
 凸包の取得
INT FVALGAPI fnFIE_measure_get_circmcircle (const FHANDLE hresult, UINT blobno, DPNT_T *center, DOUBLE *radius)
 最小外接円の取得
INT FVALGAPI fnFIE_measure_get_feret_diameter_maxmin (const FHANDLE hresult, UINT blobno, DOUBLE *feretmax, DOUBLE *fmax_theta, DOUBLE *feretmin, DOUBLE *fmin_theta)
 最大フェレ径、最小フェレ径の取得
INT FVALGAPI fnFIE_measure_get_rect2pos (const FHANDLE hresult, UINT blobno, DPNT_T *points)
 外接長方形の頂点座標の取得
INT FVALGAPI fnFIE_measure_get_bounding_rotated_rect_pos (const FHANDLE hresult, UINT blobno, DOUBLE theta, DPNT_T *points)
 指定角度外接長方形の頂点座標の取得
INT FVALGAPI fnFIE_measure_get_equivalent_circle (const FHANDLE hresult, UINT blobno, DOUBLE *diameter_equicircle)
 周囲長等価円の取得
INT FVALGAPI fnFIE_measure_get_convexfeature (const FHANDLE hresult, UINT blobno, DOUBLE *convex_area, DOUBLE *convex_perim)
 凸包面積・周囲長の取得
INT FVALGAPI fnFIE_measure_get_convexratio (const FHANDLE hresult, UINT blobno, DOUBLE *convex_arearatio, DOUBLE *convex_perimratio)
 凸包面積比・周囲長比の取得
INT FVALGAPI fnFIE_measure_get_distance_to_boundary (const FHANDLE hresult, UINT blobno, DOUBLE *dpmax, DOUBLE *dpmin, DOUBLE *dpave, DOUBLE *dpsigma)
 外周距離の取得
INT FVALGAPI fnFIE_measure_get_circularity1 (const FHANDLE hresult, UINT blobno, DOUBLE *circularity1)
 真円度#1の取得
INT FVALGAPI fnFIE_measure_get_circularity2 (const FHANDLE hresult, UINT blobno, DOUBLE *circularity2)
 真円度#2の取得
INT FVALGAPI fnFIE_measure_get_circularity3 (const FHANDLE hresult, UINT blobno, DOUBLE *circularity3)
 真円度#3の取得
INT FVALGAPI fnFIE_measure_get_hole_num (const FHANDLE hresult, UINT blobno, UINT *holes)
 穴数の取得
INT FVALGAPI fnFIE_measure_get_sibling_num (const FHANDLE hresult, UINT blobno, UINT *sibling_num)
 兄弟ブローブ数の取得
INT FVALGAPI fnFIE_measure_get_hole_area (const FHANDLE hresult, UINT blobno, UINT *sc)
 穴面積の取得
INT FVALGAPI fnFIE_measure_get_area_with_hole (const FHANDLE hresult, UINT blobno, UINT *st)
 面積(穴面積含む)の取得
INT FVALGAPI fnFIE_measure_get_hole_ratio (const FHANDLE hresult, UINT blobno, DOUBLE *hratio)
 穴面積比の取得
INT FVALGAPI fnFIE_measure_get_distance_to_childs (const FHANDLE hresult, UINT blobno, DOUBLE *dcmax, DOUBLE *dcmin, DOUBLE *dcave)
 子供距離の取得
INT FVALGAPI fnFIE_measure_get_pps (const FHANDLE hresult, UINT blobno, DOUBLE *pps)
 面積周囲長比(pps)の取得
INT FVALGAPI fnFIE_measure_get_distance_to_siblings (const FHANDLE hresult, UINT blobno, DOUBLE *dsmax, DOUBLE *dsmin, DOUBLE *dsave)
 隣接エリア(兄弟ブローブ)間距離の取得
INT FVALGAPI fnFIE_measure_get_blobno_on_xy (const FHANDLE hresult, INT x, INT y, UINT *blobno)
 座標(x,y)の位置のブローブ番号取得

関数

INT FVALGAPI fnFIE_measure_get_perimeter ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  perimeter 
)

対象ブローブの周囲長の取得

対象ブローブの周囲長を計算します。

ブローブの境界点列のユークリッド距離を周囲長と定義し、その値を計算します。 連結モードによって得られる周囲長は異なる。連結モードによる周囲座標点列のとりかたの 違いについては fnFIE_measure_get_boundary() のドキュメントを参照して下さい。

  • 4連結の場合、(面積/1.51)≦UI32_MAX (←左辺整数)でない場合は正しく計算できない可能性があります。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] perimeter 周囲長
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足により異常終了
F_ERR_INVALID_OBJECT hresult に不正なハンドルが渡された。
F_ERR_INVALID_PARAM blobno に不正なブローブ番号が渡された, パラメータに NULL ポインタが渡された。
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_boundary ( const FHANDLE  hresult,
UINT  blobno,
PNT_T **  pnts,
UINT *  pnum 
)

周囲座標の取得

対象ブローブの境界点列を抽出します。 特徴量の意味は ここ を参照して下さい。 領域の境界にはexternal boundaryとinternal boundaryの2種類ありますが、 本関数ではexternal boundaryのみを抽出します。(下図参照)

fie_region_boundary_01.png

得られる境界点列は fnFIE_measure_execute() 実行時の連結モード指定(param.neighborhood)によって異なります。 4連結モードの場合、前景ブローブは4連結の座標点列、背景ブローブは8連結の座標点列になります。 8連結モードの場合は、前景ブローブは8連結の座標点列、背景ブローブは4連結の座標点列になります。

fie_region_boundary_02.png

ブローブの境界を画像座標系で反時計回りに探索(右手の法則)します。 また、始点と終点は必ず同一点となります(座標点列の最初と最後に同じ座標が入る)。 配列の最後には I32_MIN が格納された点をストッパとして入れます。 pnum に代入される点数は、このストッパを含んだ個数になります。

fie_region_boundary_03.png

出力用のメモリは関数内で確保されるため *pnts には NULL を入れておいて下さい。 得られた点列(*pnts)は、不要になった後に fnOAL_free() を使用して解放して下さい。

注意:
  • xdiff, ydiffがそれぞれ2以上65535以下のブローブで、4連結で境界点抽出を行った場合の *pnum の最大値は面積の1.5〜1.6倍となります。
  • 8連結の場合は xdiff, ydiff が65535以下であれば *pnum がUI32_MAXを超えることはないと考えられます。(ただし証明していない。)
  • FVLなどの旧来のFAST境界点抽出ライブラリとは得られる結果が異なります。
  • 関数エントリー時 *pnts == NULL でなければいけません。
  • 背景ブローブ(blobno==0)を処理することは出来ません。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] pnts 出力点列の先頭ポインタを格納するアドレス(*pnts = NULL)
[out] pnum 出力点列の点の数
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足により異常終了
F_ERR_INVALID_OBJECT hresult に不正なハンドルが渡された。
F_ERR_INVALID_PARAM パラメータエラー
  • blobno に不正なブローブ番号が渡された
  • パラメータに NULL ポインタが渡された。
  • pnts が NULL でない
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
抽出例
fie_measure_boundary_04.png
上図のブローブ(前景)を8連結モードで境界点列を生成したときの 結果を以下に示します。ただしPNT_Tの値を(x,y)と表記します。
	pnum : 13
	pnts : (1,1)(1,2)(1,3)(2,3)(3,3)(4,3)(5,3)(4,3)(3,2)(3,1)(2,1)(1,1)(I32_MIN,I32_MIN)
	
上図を4連結モードで境界点列を生成したときの結果を以下に示します。
	pnum : 14
	pnts : (1,1)(1,2)(1,3)(2,3)(3,3)(4,3)(5,3)(4,3)(3,3)(3,2)(3,1)(2,1)(1,1)(I32_MIN,I32_MIN)
	

INT FVALGAPI fnFIE_measure_get_boundary_ex ( const FHANDLE  hresult,
UINT  blobno,
INT  connection,
PNT_T **  ext_pnts,
UINT *  ext_pnum,
PNT_T **  int_pnts,
UINT *  int_pnum 
)

周囲座標の取得

対象ブローブの境界点列を抽出します。 特徴量の意味は ここ を参照して下さい。 領域の境界にはexternal boundaryとinternal boundaryの2種類ありますが、 本関数ではその両方が取得できる fnFIE_measure_get_boundary() の拡張版です。(下図参照) external boundaryのみが取得できればいい場合は fnFIE_measure_get_boundary() をお使いください。

fie_region_boundary_01.png

得られる境界点列は connection パラメータの値によって異なります。 0を指定すると fnFIE_measure_execute() 実行時の連結モード指定(param.neighborhood)に従います。 この場合、出力される点列の連結性は次の通りになります。

  • 4連結モードの場合、前景ブローブは4連結の座標点列、背景ブローブは8連結の座標点列になります。
  • 8連結モードの場合は、前景ブローブは8連結の座標点列、背景ブローブは4連結の座標点列になります。
4または8を指定した場合は指定した連結モードでの出力となります。

注意:
  • 領域にinternal boundaryが無い(穴がない)ブローブの場合は、 *int_pnts は NULL , *int_pnum は0となります。
  • xdiff, ydiffがそれぞれ2以上65535以下のブローブで、4連結で境界点抽出を行った場合の *ext_pnum の最大値は面積の1.5〜1.6倍となります。
  • 8連結の場合はxdiff,ydiffが65535以下であれば *ext_pnum がUI32_MAXを超えることはないと考えられます。(ただし証明していない。)
  • FVLなどの旧来のFAST境界点抽出ライブラリとは得られる結果が異なります。
  • *ext_pnts は関数エントリー時 *ext_pnts == NULL でなければいけません。( ext_pnts != NULL の場合 )
  • *int_pnts は関数エントリー時 *int_pnts == NULL でなければいけません。( int_pnts != NULL の場合 )
  • 背景ブローブ(blobno==0)を処理することは出来ません。
tips
背景ブローブ(blobno==0)のinternal boundaryを取得したい場合は、 fnFIE_measure_get_region() にて一端リージョンとして取得した後、 そのリージョンの周囲座標を fnFIE_region_calc_boundary_ex() を使用して 計算すれば取得することが出来ます。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[in] connection 連結条件
  • 0: ブローブ解析したときの設定に従う
  • 4: 4連結にて処理する
  • 8: 8連結にて処理する
[out] ext_pnts external boundary の出力点列の先頭ポインタを格納するアドレス
不要な場合は ext_pnts に NULL を渡す。ext_pnts != NULL の場合、 関数エントリー時 *ext_pnts == NULL でなければなりません
[out] ext_pnum ext_pnts に出力された点の数
ext_pnts == NULL の場合、このパラメータは参照されません
[out] int_pnts 出力点列の先頭ポインタを格納するアドレス
不要な場合は int_pnts に NULL を渡す。int_pnts != NULL の場合、 関数エントリー時 *int_pnts == NULL でなければなりません
[out] int_pnum int_pnts に出力された点の数
int_pnts == NULL の場合、このパラメータは参照されません
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足により異常終了
F_ERR_INVALID_OBJECT hresult に不正なハンドルが渡された。
F_ERR_INVALID_PARAM パラメータエラー
  • blobno に不正なブローブ番号が渡された
  • パラメータに NULL ポインタが渡された。
  • ext_pntsint_pnts がともに NULL
  • *ext_pnts 又は *int_pnts が NULL でない
  • ext_pnum 又は int_pnum が NULL
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
抽出例
fie_measure_boundary_ex.png
上図のブローブ(前景)を8連結モードで境界点列を生成したときの 結果を以下に示します。ただしPNT_Tの値を(x,y)と表記します。
	ext_pnum : 20
	ext_pnts : (0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,4),(4,4),(5,4),(6,4),
	           (6,3),(6,2),(6,1),(5,1),(4,1),(3,1),(2,1),(1,1),(0,1),(I32_MIN,I32_MIN)
	int_pnum : 19
	int_pnts : (0,2),(1,1),(2,1),(3,2),(3,3),(2,4),(1,4),(0,3),(0,2),(I32_MIN,I32_MIN)
	           (3,2),(4,1),(5,2),(6,3),(5,4),(4,4),(3,3),(3,2),(I32_MIN,I32_MIN)
	
上図を4連結モードで境界点列を生成したときの結果を以下に示します。
	ext_pnum : 20
	ext_pnts : (0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,4),(4,4),(5,4),(6,4),
	           (6,3),(6,2),(6,1),(5,1),(4,1),(3,1),(2,1),(1,1),(0,1),(I32_MIN,I32_MIN)
	int_pnum : 28
	int_pnts : (0,2),(0,1),(1,1),(2,1),(3,1),(3,2),(3,3),(3,4),(2,4),(1,4),(0,4),(0,3),(0,2),(I32_MIN,I32_MIN)
	           (3,2),(3,1),(4,1),(5,1),(5,2),(6,2),(6,3),(6,4),(5,4),(4,4),(3,4),(3,3),(3,2),(I32_MIN,I32_MIN)
	

INT FVALGAPI fnFIE_measure_get_color ( const FHANDLE  hresult,
UINT  blobno,
UINT *  color 
)

色の取得

対象ブローブのブローブ色を取得する。

対象ブローブ番号が有効なブローブ番号範囲(0〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は color の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] color ブローブ色 0==黒, 1==白
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, color に NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_xyrange ( const FHANDLE  hresult,
UINT  blobno,
INT *  xmin,
INT *  ymin,
INT *  xmax,
INT *  ymax 
)

xyrangeの取得

対象ブローブのxyrangeを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は xmin, ymin, xmax, ymax の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] xmin x座標最小値
[out] ymin y座標最小値
[out] xmax x座標最大値
[out] ymax y座標最大値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_area ( const FHANDLE  hresult,
UINT  blobno,
UINT *  area 
)

対象ブローブの面積の取得

対象ブローブの面積(area)を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は area の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] area 面積
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_maxminpos ( const FHANDLE  hresult,
UINT  blobno,
INT *  xmin_at_ymin,
INT *  xmax_at_ymax,
INT *  ymin_at_xmax,
INT *  ymax_at_xmin 
)

座標の最大最小位置の取得

対象ブローブのx,y座標の最大最小位置を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は xmin_at_ymin, xmax_at_ymax, ymin_at_xmax, ymax_at_xmin の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] xmin_at_ymin yの最小位置におけるxの最小値
[out] xmax_at_ymax yの最大位置におけるxの最大値
[out] ymin_at_xmax xの最大位置におけるyの最小値
[out] ymax_at_xmin xの最小位置におけるyの最大値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_xydiff ( const FHANDLE  hresult,
UINT  blobno,
INT *  xdiff,
INT *  ydiff 
)

外接矩形サイズの取得

対象ブローブの外接矩形の横サイズ(xdiff)と縦サイズ(ydiff)を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返す。 なお、エラー発生時は xdiff, ydiff の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] xdiff 外接矩形横サイズ
[out] ydiff 外接矩形縦サイズ
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect1_area ( const FHANDLE  hresult,
UINT  blobno,
UINT *  rect1_area 
)

外接矩形面積の取得

対象ブローブの外接矩形の面積(rect1_area)を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect1_area の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect1_area 外接矩形面積
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect1_lratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  rect1_lratio 
)

外接矩形縦横比の取得

対象ブローブの外接矩形縦横比を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect1_lratio の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect1_lratio 外接矩形縦横比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect1_sratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  rect1_sratio 
)

外接矩形面積比の取得

対象ブローブの外接矩形面積比を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect1_sratio の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect1_sratio 外接矩形面積比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_moment1 ( const FHANDLE  hresult,
UINT  blobno,
DLONG *  sumx,
DLONG *  sumy 
)

1次モーメントの取得

対象ブローブの1次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は sumx, sumy の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] sumx x方向1次モーメント
[out] sumy y方向1次モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_moment2 ( const FHANDLE  hresult,
UINT  blobno,
UDLONG *  sumx2,
UDLONG *  sumy2,
DLONG *  sumxy 
)

2次モーメントの取得

対象ブローブの2次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は sumx2, sumy2, sumxy の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] sumx2 x方向2次モーメント
[out] sumy2 y方向2次モーメント
[out] sumxy xy方向2次モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_central_moment2 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  mg20,
DOUBLE *  mg02,
DOUBLE *  mg11 
)

重心2次モーメントの取得

対象ブローブの重心2次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は mg20, mg02, mg11 の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] mg20 x方向2次モーメント
[out] mg02 y方向2次モーメント
[out] mg11 xy方向2次モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_moment3 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  m30,
DOUBLE *  m03,
DOUBLE *  m21,
DOUBLE *  m12 
)

3次モーメントの取得

対象ブローブの3次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は m30, m03, m21, m12 の値は変更されません。

注意:
内部計算は DOUBLE型変数にて行いますが、型精度の都合で、 大きなブローブや座標値の大きいブローブ ( 左上座標が(0,0)の正方ブローブを想定したとき、xdiff または ydiff が 1800程度以上が目安 ) では桁落ちによる計算誤差が発生します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] m30 $ M_{30} $
[out] m03 $ M_{03} $
[out] m21 $ M_{21} $
[out] m12 $ M_{12} $
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_central_moment3 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  mg30,
DOUBLE *  mg03,
DOUBLE *  mg21,
DOUBLE *  mg12 
)

重心3次モーメントの取得

対象ブローブの重心3次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は mg30, mg03, mg21, mg12 の値は変更されません。

注意:
内部計算は DOUBLE型変数にて行いますが、型精度の都合で、 大きなブローブ( xdiff または ydiff が 1800程度以上が目安 ) では桁落ちによる計算誤差が発生します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] mg30 $ MG_{30} $
[out] mg03 $ MG_{03} $
[out] mg21 $ MG_{21} $
[out] mg12 $ MG_{12} $
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_moment ( const FHANDLE  hresult,
UINT  blobno,
INT  xn,
INT  yn,
DOUBLE *  m 
)

N次モーメントの取得

対象ブローブのN次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は m の値は変更されません。

注意:
内部計算は DOUBLE型変数にて行いますが、型精度の都合で、 大きなブローブでは桁落ちによる計算誤差が発生します。 (桁数は指定次数によって変わるため、どの程度のサイズで桁落ちが発生するかは不明です)
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[in] xn xの次数( 0以上 )
[in] yn yの次数( 0以上 )
[out] m $ M_{pq} $
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM 以下のいずれかの理由によりパラメータエラー
  • blobno に指定されたブローブ番号が不正
  • パラメータに NULL pointer が渡された
  • xn または yn が0より小さい
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_central_moment ( const FHANDLE  hresult,
UINT  blobno,
INT  xn,
INT  yn,
DOUBLE *  mg 
)

重心N次モーメントの取得

対象ブローブの重心N次モーメントを取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は mg の値は変更されません。

注意:
内部計算は DOUBLE型変数にて行いますが、型精度の都合で、 大きなブローブでは桁落ちによる計算誤差が発生します。 (桁数は指定次数によって変わるため、どの程度のサイズで桁落ちが発生するかは不明です)
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[in] xn xの次数( 0以上 )
[in] yn yの次数( 0以上 )
[out] mg $ MG_{pq} $
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM 以下のいずれかの理由によりパラメータエラー
  • blobno に指定されたブローブ番号が不正
  • パラメータに NULL pointer が渡された
  • xn または yn が0より小さい
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_hu_moments ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  h 
)

Huモーメント不変量の取得

対象ブローブの7つのHuモーメント不変量を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は h の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] h Huモーメント不変量の出力先配列。サイズは7
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_center ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  centerx,
DOUBLE *  centery 
)

重心の取得

対象ブローブの重心を取得します。 特徴量の意味は ここ を参照してください。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は centerx, centery の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] centerx 重心のx座標
[out] centery 重心のy座標
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_equivalent_ellipse ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  majoraxis,
DOUBLE *  minoraxis,
DOUBLE *  theta,
DOUBLE *  aratio 
)

等価楕円の取得

対象ブローブの面積と等価な楕円の主軸半径・副軸半径・傾き・主軸副軸長比を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は majoraxis, minoraxis, theta, aratio の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] majoraxis 慣性等価楕円 主軸長
[out] minoraxis 慣性等価楕円 副軸長
[out] theta 慣性等価楕円 主軸傾き( -π/2 <= theta <= π/2 )
[out] aratio 慣性等価楕円 主軸副軸長比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_equivalent_disk ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  diameter 
)

面積等価円の取得

BLOBの面積と等価な円の直径を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は diameter の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] diameter 面積等価円直径
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect2_size ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  lsize,
DOUBLE *  wsize 
)

外接長方形の取得

対象ブローブの外接長方形を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は lsize, wsize の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] lsize 外接長方形横長
[out] wsize 外接長方形縦長
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect2_area ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  rect2_area 
)

外接長方形面積の取得

対象ブローブの外接長方形面積を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect2_area の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect2_area 外接長方形面積
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect2_lratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  rect2_lratio 
)

外接長方形縦横比の取得

対象ブローブの外接長方形縦横比を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect2_lratio の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect2_lratio 外接長方形縦横比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_rect2_sratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  rect2_sratio 
)

外接長方形面積比の取得

対象ブローブの外接長方形面積比を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は rect2_sratio の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] rect2_sratio 外接長方形面積比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_feret_diameter ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE  theta,
INT  mode,
DOUBLE *  diameter 
)

フェレ径の取得

対象ブローブの指定角度におけるフェレ径を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は diameter の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[in] theta 計測角度(ラジアン)
[in] mode 画素領域モード
  • 0 : 点で計測
  • 1 : 矩形の広がりを持つ点で計測
[out] diameter フェレ径
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_convex2d ( const FHANDLE  hresult,
UINT  blobno,
PNT_T **  ppHull,
UINT *  verNum 
)

凸包の取得

対象ブローブに外接する凸包を取得します。 特徴量の意味は ここ を参照して下さい。

出力される凸包の頂点は、画像座標系で時計回りに連結します。 最初と最後の頂点は同じ点で出力するため、出力される凸包の頂点数は実の頂点数プラス1になります。 凸包保存用点配列のメモリは関数内部で確保するため、引数の *ppHull の値は NULL でなければいけません。 また、不要になったら fnOAL_free() を使用してメモリ解放をユーザー側で行ってください。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。

注意:
  • 領域全点を入力して fnFIE_convex2d_monochain() にて凸包を求めた結果とは、開始点の位置が異なる場合があります。
  • ブローブの全点が一直線上にある場合は凸包が生成できないため、F_ERR_CALC_IMPOSSIBLEとなります。
  • ブローブのラン数が非常に多い場合( (ランの数+1)*2*sizeof(PNT_T)≧UI32_MAX となる場合) は凸包が計算できず、エラーになります。
  • 関数エントリー時 *ppHull==NULL でなければいけません。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] ppHull 出力される凸包の頂点列(*ppHullは必ずNULLでなければならない)
[out] verNum 出力される凸包の頂点の個数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM パラメータエラー
  • blobno に指定されたブローブ番号が不正
  • パラメータに NULL pointer が渡された
  • *ppHull がNULLで無い
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参照:
fnFIE_convex2d_monochain(), fnFIE_region_convex2d()

INT FVALGAPI fnFIE_measure_get_circmcircle ( const FHANDLE  hresult,
UINT  blobno,
DPNT_T center,
DOUBLE *  radius 
)

最小外接円の取得

対象ブローブの最小外接円(最小包含円とも呼ばれる)を取得します。 特徴量の意味は ここ を参照して下さい。

領域内の点の2点または3点に接する(点を通る)円で、かつ領域内のすべての点を内包する円のうち最小のものを求めます。 領域内の点が1点以下の場合はエラーとなります。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は center, radius の値は変更されません。

注意:
ブローブのラン数が非常に多い場合( (ランの数+1)*2*sizeof(PNT_T)≧UI32_MAX となる場合) は内部で利用する凸包が計算できず、エラーになります。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] center 最小外接円の中心
[out] radius 最小外接円の半径
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参考文献:
「コンピュータ・ジオメトリ 計算幾何学:アルゴリズムと応用」近代科学社(ISBN4-7649-0277-X) P105-110

INT FVALGAPI fnFIE_measure_get_feret_diameter_maxmin ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  feretmax,
DOUBLE *  fmax_theta,
DOUBLE *  feretmin,
DOUBLE *  fmin_theta 
)

最大フェレ径、最小フェレ径の取得

領域の最大フェレ径と最小フェレ径を取得します。 特徴量の意味は ここ を参照して下さい。

角度は-π/2≦θ<π/2の範囲で得られます。 フェレ径が最大、または最小となる角度は複数ある可能性がありますが、そのうちのどの角度が得られるかは不定です。 領域が1点のみの時は、最大フェレ径、最小フェレ径、最大フェレ径角度、最小フェレ径角度はすべて0.0となります。 領域が直線状になる場合(面積が2以上で凸包が求まらない場合)の最小フェレ径の値は0.0となります。

本関数では、点が広がりを持たない場合のフェレ径の最大・最小値を計算しています。点が広がりを持つ場合も計算可能ですが、処理を 高速に行なうことを優先して、そのような仕様としています。点の広がりについては ここ を参照してください。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は feretmax, fmax_theta, feretmin, fmin_theta の値は変更されません。

注意:
ブローブのラン数が非常に多い場合( (ランの数+1)*2*sizeof(PNT_T)≧UI32_MAX となる場合) は内部で利用する凸包が計算できず、エラーになります。
覚え書き:
本関数の角度範囲はFVALG ver1.7より -π/2≦θ<π/2 に変更されました。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] feretmax 最大フェレ径
[out] fmax_theta 最大フェレ径の角度( -π/2 <= fmax_theta < π/2 )
[out] feretmin 最小フェレ径
[out] fmin_theta 最小フェレ径の角度( -π/2 <= fmin_theta < π/2 )
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参照:
fnFIE_measure_get_feret_diameter(), fnFIE_measure_get_convex2d()

INT FVALGAPI fnFIE_measure_get_rect2pos ( const FHANDLE  hresult,
UINT  blobno,
DPNT_T points 
)

外接長方形の頂点座標の取得

対象ブローブの外接長方形(rect2)の4頂点座標を取得します。 特徴量の意味は ここ を参照して下さい。

座標点列は、0度のときに画像座標系で左上となる点を始点に、 時計回りに頂点を返します。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は points の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] points 外接長方形の4頂点の点列。サイズは4
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_bounding_rotated_rect_pos ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE  theta,
DPNT_T points 
)

指定角度外接長方形の頂点座標の取得

対象ブローブの指定した傾きをもった外接長方形の4頂点座標を取得します。 特徴量の意味は 外接長方形の頂点座標(指定角) を参照して下さい。

座標点列は、0度のときに画像座標系で左上となる点を始点に、 時計回りに頂点を返します。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は points の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[in] theta 外接長方形の角度(外接長方形のある一辺とx軸がなす角度)単位:ラジアン
[out] points 外接長方形の4頂点の点列。サイズは4
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_equivalent_circle ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  diameter_equicircle 
)

周囲長等価円の取得

対象ブローブの周囲長と円周が等価な円の直径を取得します。 特徴量の意味は ここ を参照して下さい。

周囲長が0の場合(ブローブが1点のみの場合)には直径が0となります。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は diameter_equicircle の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] diameter_equicircle 周囲長等価円直径
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参照:
fnFIE_measure_get_perimeter()

INT FVALGAPI fnFIE_measure_get_convexfeature ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  convex_area,
DOUBLE *  convex_perim 
)

凸包面積・周囲長の取得

対象ブローブの凸包の面積と周囲長を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は convex_area, convex_perim の値は変更されません。

注意:
凸包の計算できないブローブの場合(ブローブの構成点が1直線上にある場合)は エラーとなり、F_ERR_CALC_IMPOSSIBLE を返します。 また、ブローブのラン数が非常に多い場合( (ランの数+1)*2*sizeof(PNT_T)≧UI32_MAX となる場合) は内部で利用する凸包が計算できず、エラーになります。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] convex_area 凸包面積
[out] convex_perim 凸包周囲長
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参照:
fnFIE_measure_get_convex2d()

INT FVALGAPI fnFIE_measure_get_convexratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  convex_arearatio,
DOUBLE *  convex_perimratio 
)

凸包面積比・周囲長比の取得

凸包の面積比:(領域の面積/凸包面積)、凸包の周囲長比:(領域の周囲長/凸包周囲長)を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は convex_arearatio, convex_perimratio の値は変更されません。

注意:
ブローブのラン数が非常に多い場合( (ランの数+1)*2*sizeof(PNT_T)≧UI32_MAX となる場合) は内部で利用する凸包が計算できず、エラーになります。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] convex_arearatio 凸包面積比
[out] convex_perimratio 凸包周囲長比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_distance_to_boundary ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  dpmax,
DOUBLE *  dpmin,
DOUBLE *  dpave,
DOUBLE *  dpsigma 
)

外周距離の取得

対象ブローブの重心と境界点列の距離最小値、距離最大値、距離平均値、距離標準偏差値を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は dpmax, dpmin, dpave, dpsigma の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] dpmax 外周距離最大値
[out] dpmin 外周距離最小値
[out] dpave 外周距離平均値
[out] dpsigma 外周距離標準偏差値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_circularity1 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  circularity1 
)

真円度#1の取得

対象ブローブの真円度#1を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は circularity1 の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] circularity1 真円度#1
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_circularity2 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  circularity2 
)

真円度#2の取得

対象ブローブの真円度#2を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は circularity2 の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] circularity2 真円度#2
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_circularity3 ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  circularity3 
)

真円度#3の取得

対象ブローブの真円度#3を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は circularity3 の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] circularity3 真円度#3
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_hole_num ( const FHANDLE  hresult,
UINT  blobno,
UINT *  holes 
)

穴数の取得

対象ブローブの穴数を取得します。 特徴量の説明は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は holes の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 穴数を計算できません。そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] holes 穴数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_sibling_num ( const FHANDLE  hresult,
UINT  blobno,
UINT *  sibling_num 
)

兄弟ブローブ数の取得

対象ブローブの兄弟ブローブ数を取得します。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は sibling_num の値は変更されません。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 全てのブローブが背景ブローブ(0番ブローブ)を親とするブローブになり、同じ兄弟関係にあります。 そのため、本関数で取得される値は全有効ブローブ数( fnFIE_measure_get_real_blobnum() で返される値) と等しくなります。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] sibling_num 兄弟ブローブ数
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_hole_area ( const FHANDLE  hresult,
UINT  blobno,
UINT *  sc 
)

穴面積の取得

対象ブローブの穴面積を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は sc の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 穴面積を計算できません。そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] sc 穴面積
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_area_with_hole ( const FHANDLE  hresult,
UINT  blobno,
UINT *  st 
)

面積(穴面積含む)の取得

対象ブローブの穴を含んだ面積を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は st の値は変更されません。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 穴面積を計算できません。そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] st 穴を含んだブローブ面積
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_hole_ratio ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  hratio 
)

穴面積比の取得

対象ブローブの穴面積比を取得します。 特徴量の意味は ここ を参照してください。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返す。 なお、エラー発生時は hratio の値は変更されない。

本特徴量は結果保存特徴量です。一度計算を実行すると結果値が保存され、 以降、同じブローブに対する計算が行われたときは最初に計算した値を返します。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 穴面積を計算できません。そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] hratio 穴面積比
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_distance_to_childs ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  dcmax,
DOUBLE *  dcmin,
DOUBLE *  dcave 
)

子供距離の取得

対象ブローブの子供ブローブ間距離を取得します。 特徴量の意味は ここ を参照してください。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は dcmax, dcmin, dcave の値は変更されません。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 子供が存在せず、子供間距離を計算できません。 そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] dcmax 子供距離最大値
[out] dcmin 子供距離最小値
[out] dcave 子供距離平均値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_pps ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  pps 
)

面積周囲長比(pps)の取得

対象ブローブの面積周囲長比(pps)を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は pps の値は変更されません。

引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] pps PPS
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_NOMEMORY メモリ不足
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_distance_to_siblings ( const FHANDLE  hresult,
UINT  blobno,
DOUBLE *  dsmax,
DOUBLE *  dsmin,
DOUBLE *  dsave 
)

隣接エリア(兄弟ブローブ)間距離の取得

対象ブローブの兄弟ブローブ間距離を取得します。 特徴量の意味は ここ を参照して下さい。

対象ブローブ番号が背景ブローブ(ブローブ番号0番)か、 有効なブローブ番号範囲(1〜( fnFIE_measure_get_blobnum() で取得される数-1))外か、 または無効ブローブである場合はエラーとなり F_ERR_INVALID_PARAM を返します。 なお、エラー発生時は dsmax, dsmin, dsave の値は変更されません。

単色解析モードの場合
単色解析モード 時は親子関係を構築しないため、 子供が存在せず、子供間距離を計算できません。 そのため、本関数は常に F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] blobno 対象ブローブのブローブ番号
[out] dsmax 隣接間距離最大値
[out] dsmin 隣接間距離最小値
[out] dsave 隣接間距離平均値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM blobno に指定されたブローブ番号が不正, パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE 計算不可
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_measure_get_blobno_on_xy ( const FHANDLE  hresult,
INT  x,
INT  y,
UINT *  blobno 
)

座標(x,y)の位置のブローブ番号取得

座標( x, y ) を領域内に含むブローブのブローブ番号を返します。

単色解析モードの場合
単色解析モード 時はブローブの存在しない 領域が発生するため、その座標が指定された場合には F_ERR_CALC_IMPOSSIBLE を返します。
引数:
[in] hresult ブローブ解析結果ハンドル
[in] x ブローブ番号を取得するX座標
[in] y ブローブ番号を取得するY座標
[out] blobno ブローブ番号
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT hresult に指定されたオブジェクトハンドルが不正
F_ERR_INVALID_PARAM パラメータエラー、以下のいずれか。
  • x, y に渡された座標がブローブ解析をした領域外
  • または パラメータに NULL pointer が渡された
F_ERR_CALC_IMPOSSIBLE ( x, y ) を含むブローブが無い。
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー


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