画像特徴量計算
[リージョン処理]


関数

INT FVALGAPI fnFIE_img_histogram (FHANDLE hImg, FHANDLE hreg, INT iChaNo, UINT **unppHist, INT *ipHistLen)
 リージョン内の画像ヒストグラム作成
INT FVALGAPI fnFIE_img_sumpixel (FHANDLE himg, FHANDLE hreg, DOUBLE *sumpixel)
 画像特徴量:輝度値の総和
INT FVALGAPI fnFIE_img_minpixel (FHANDLE himg, FHANDLE hreg, DOUBLE *minpixel)
 画像特徴量:輝度値の最小値
INT FVALGAPI fnFIE_img_maxpixel (FHANDLE himg, FHANDLE hreg, DOUBLE *maxpixel)
 画像特徴量:輝度値の最大値
INT FVALGAPI fnFIE_img_meanpixel (FHANDLE himg, FHANDLE hreg, DOUBLE *meanpixel)
 画像特徴量:輝度値の平均値
INT FVALGAPI fnFIE_img_sumpixel_square (FHANDLE himg, FHANDLE hreg, DOUBLE *sumpixel2)
 画像特徴量:輝度値の2乗和
INT FVALGAPI fnFIE_img_sigmapixel (FHANDLE himg, FHANDLE hreg, DOUBLE *sigma)
 画像特徴量:輝度値の標準偏差
INT FVALGAPI fnFIE_img_pixelmoment1 (FHANDLE himg, FHANDLE hreg, DOUBLE *pixelsumx, DOUBLE *pixelsumy)
 画像特徴量:1次濃淡モーメント
INT FVALGAPI fnFIE_img_pixelmoment2 (FHANDLE himg, FHANDLE hreg, DOUBLE *pixelsumx2, DOUBLE *pixelsumy2, DOUBLE *pixelsumxy)
 画像特徴量:2次濃淡モーメント
INT FVALGAPI fnFIE_img_pixelcenter (FHANDLE himg, FHANDLE hreg, DOUBLE *centerx, DOUBLE *centery)
 画像特徴量:濃淡重心を求めます
INT FVALGAPI fnFIE_img_pixelmoment (FHANDLE himg, FHANDLE hreg, DOUBLE orgnx, DOUBLE orgny, DOUBLE *M10, DOUBLE *M01, DOUBLE *M20, DOUBLE *M02, DOUBLE *M11)
 画像特徴量:指定座標を原点とする濃淡モーメント

関数

INT FVALGAPI fnFIE_img_histogram ( FHANDLE  hImg,
FHANDLE  hreg,
INT  iChaNo,
UINT **  unppHist,
INT *  ipHistLen 
)

リージョン内の画像ヒストグラム作成

リージョン領域内の画像のヒストグラムを作ります。

作成されたヒストグラムは unppHist に出力されますが、 外部でヒストグラム用に確保したメモリのアドレスを *unppHist に指定した場合は、そのメモリに出力します。 逆に、メモリを確保せず *unppHist にNULLを渡した場合は、 関数内部で必要なメモリを確保して、そのアドレスを *unppHist に返します。 この場合は *unppHist に返されたメモリはユーザーが fnOAL_free() で解放しなければいけません。

ヒストグラム *unppHist に必要なメモリ量は、入力画像型によって異なり、それぞれ下記のようになります。

  • 入力画像のタイプが F_IMG_UC8 の場合 256 x sizeof(UINT) byte以上
  • 入力画像のタイプが F_IMG_US16及びF_IMG_S16 の場合 65536 x sizeof(UINT) byte以上
  • それ以外の画像タイプには対応しません。

入力画像の型が F_IMG_S16 の場合、Histogramの最初の位置((*unppHist)[0])は 濃度値S16_MIN に対応し、 最後の位置((*unppHist)[65535])は 濃度値S16_MAX に対応しています。

入力画像のチャネル数が1以上の場合は、指定チャネルのヒストグラムのみを作成します。 また、ヒストグラムはUINT型にて作成されるため、入力画像サイズが2^32画素以上の場合には オーバーフローの可能性があります。

引数:
[in] hImg 入力画像のハンドル (type: uc8, s16, us16)
[in] hreg リージョンのハンドル
[in] iChaNo 処理したいチャネルの番号
[out] unppHist ヒストグラムのメモリ
[in,out] ipHistLen メモリ確保した場合はそのメモリの量を入力(UINT数単位)
メモリ確保しなかった場合は関数内部確保のメモリの量を出力(UINT数単位)
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足で確保に失敗した
F_ERR_INVALID_IMAGE 不正な画像が渡された
F_ERR_INVALID_OBJECT 不正なオブジェクトが渡された( hreg が不正 )
F_ERR_INVALID_PARAM パラメータ不正
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参照:
fnFIE_make_histogram()

INT FVALGAPI fnFIE_img_sumpixel ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  sumpixel 
)

画像特徴量:輝度値の総和

画像と領域の共通部分で、画像の輝度総和を求めます。

\[sumpixel = \sum_{y}\sum_{x}{f(x,y)} \]

  • f(x,y):座標(x,y)における輝度値

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合はオーバーフローし sumpixel が無限大(±INF)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] sumpixel 輝度総和
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_minpixel ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  minpixel 
)

画像特徴量:輝度値の最小値

画像と領域の共通部分で、画像の輝度最小値を求めます。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] minpixel 輝度最小値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_maxpixel ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  maxpixel 
)

画像特徴量:輝度値の最大値

画像と領域の共通部分で、画像の輝度最大値を求めます。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] maxpixel 輝度最大値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_meanpixel ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  meanpixel 
)

画像特徴量:輝度値の平均値

画像と領域の共通部分で、画像の輝度平均値を求めます。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合はオーバーフローし meanpixel が無限大(±INF)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] meanpixel 輝度平均値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_sumpixel_square ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  sumpixel2 
)

画像特徴量:輝度値の2乗和

画像と領域の共通部分で、画像の輝度値の2乗和を求めます。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度2乗和がDBL64_MAXを超えるような場合はオーバーフローし sumpixel2 が無限大(INF)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] sumpixel2 輝度2乗和
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_sigmapixel ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  sigma 
)

画像特徴量:輝度値の標準偏差

画像と領域の共通部分で、画像の輝度値の標準偏差を求めます。

\[sigma = \sqrt{ \frac{ \sum_{i \in hreg}\left(f_i - \bar{f}\right)^2 }{N} } \]

  • $ f $ : himg の輝度値
  • $ \bar{f} $ : 領域内の輝度平均値
  • N : 領域内の画素数

  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和がDBL64_MAXを超えるような場合はオーバーフローし sigma が無限大(INF)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] sigma 標準偏差
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_pixelmoment1 ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  pixelsumx,
DOUBLE *  pixelsumy 
)

画像特徴量:1次濃淡モーメント

画像と領域の共通部分で、1次の濃淡モーメントを求めます。

\[pixelsumx = \sum_{y}\sum_{x}{\left(x f(x,y)\right)} \]

\[pixelsumy = \sum_{y}\sum_{x}{\left(y f(x,y)\right)} \]

  • f(x,y):座標(x,y)における輝度値
  • ΣΣ:画像と領域の共通部分での和

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下かつ -65534≦(x,y)≦65534 の条件で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合はオーバーフローし、計算結果が無限大(±INF)または非数(NAN)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] pixelsumx X方向1次濃淡モーメント
[out] pixelsumy Y方向1次濃淡モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_pixelmoment2 ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  pixelsumx2,
DOUBLE *  pixelsumy2,
DOUBLE *  pixelsumxy 
)

画像特徴量:2次濃淡モーメント

画像と領域の共通部分で、2次の濃淡モーメントを求めます。

\[pixelsumx2 = \sum_{y}\sum_{x}{\left(x^2 f(x,y)\right)} \]

\[pixelsumy2 = \sum_{y}\sum_{x}{\left(y^2 f(x,y)\right)} \]

\[pixelsumxy = \sum_{y}\sum_{x}{\left(x y f(x,y)\right)} \]

  • f(x,y):座標(x,y)における輝度値
  • ΣΣ:画像と領域の共通部分での和

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下かつ -65534≦(x,y)≦65534 の条件で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合はオーバーフローし、計算結果が無限大(±INF)または非数(NAN)になることがあります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] pixelsumx2 X方向2次濃淡モーメント
[out] pixelsumy2 Y方向2次濃淡モーメント
[out] pixelsumxy XY方向濃淡モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_pixelcenter ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE *  centerx,
DOUBLE *  centery 
)

画像特徴量:濃淡重心を求めます

画像と領域の共通部分の濃淡重心を求めます。 X方向1次濃淡モーメントをpsumx、Y方向1次濃淡モーメントをpsumy、輝度総和をMとすると、 centerx = psumx/M, centery = psumy/M で輝度重心を求めます。 なお、輝度総和が0の時はエラー終了となります。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下かつ -65534≦(x,y)≦65534 の条件で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合、計算結果は非数(NAN)になります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[out] centerx 濃淡重心のX座標
[out] centery 濃淡重心のY座標
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_img_pixelmoment ( FHANDLE  himg,
FHANDLE  hreg,
DOUBLE  orgnx,
DOUBLE  orgny,
DOUBLE *  M10,
DOUBLE *  M01,
DOUBLE *  M20,
DOUBLE *  M02,
DOUBLE *  M11 
)

画像特徴量:指定座標を原点とする濃淡モーメント

画像と領域の共通部分で、指定座標を原点とする1次・2次濃淡モーメントを求めます。 原点として指定する座標の値を変えても画像と領域の共通部分は変わりません。

\[M10 = \sum_{y}\sum_{x}{\left((x-orgnx) f(x,y)\right)} \]

\[M01 = \sum_{y}\sum_{x}{\left((y-orgny) f(x,y)\right)} \]

\[M20 = \sum_{y}\sum_{x}{\left((x-orgnx)^2 f(x,y)\right)} \]

\[M02 = \sum_{y}\sum_{x}{\left((y-orgny)^2 f(x,y)\right)} \]

\[M11 = \sum_{y}\sum_{x}{\left((x-orgnx)(y-orgny) f(x,y)\right)} \]

  • f(x,y):座標(x,y)における輝度値
  • ΣΣ:画像と領域の共通部分での和。

注意:
  • 処理対象画像のチャネル数は1でなければなりません。
  • 領域がない場合や、画像と領域の共通部分がない場合はエラー終了となります。
  • 領域の xdiff, ydiff が65535以下かつ -65534≦(x,y)≦65534 の条件で使用することを想定した計算アルゴリズムとなっています。それ以外の場合はオーバーフローの可能性があります。
  • 画像がDOUBLE型の時、輝度総和が±DBL64_MAXを超えるような場合、計算結果は非数(NAN)になります。
引数:
[in] himg 処理対象画像( type: uc8, s16, us16, double )
[in] hreg 領域
[in] orgnx 濃淡モーメントを求めるときに原点とするX座標
[in] orgny 濃淡モーメントを求めるときに原点とするY座標
[out] M10 X方向1次濃淡モーメント
[out] M01 Y方向1次濃淡モーメント
[out] M20 X方向2次濃淡モーメント
[out] M02 Y方向2次濃淡モーメント
[out] M11 XY方向2次濃淡モーメント
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像オブジェクト
F_ERR_INVALID_OBJECT 領域が不正なハンドル
F_ERR_CALC_IMPOSSIBLE 計算不能
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー


Documentation copyright © 2009-2023 FAST Corporation.
Generated on Fri Jan 13 11:09:33 2023 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2