関数 | |
INT FVALGAPI | fnFIE_texture_first_order_statistics (FHANDLE hsrc, DOUBLE *ave, DOUBLE *sgm2, DOUBLE *skewness, DOUBLE *kurtosis) |
濃淡ヒストグラムの算出 | |
INT FVALGAPI | fnFIE_texture_coocurrence_matrix (FHANDLE hsrc, INT dx, INT dy, INT gray_level, FMATRIX *mat) |
同時生起行列の算出 | |
INT FVALGAPI | fnFIE_texture_calc_gcm_entropy (const FMATRIX *mat, DOUBLE *entropy) |
同時生起行列を用いたエントロピーの算出 | |
INT FVALGAPI | fnFIE_texture_calc_gcm_energy (const FMATRIX *mat, DOUBLE *energy) |
同時生起行列を用いたエネルギーの算出 | |
INT FVALGAPI | fnFIE_texture_calc_gcm_inertia (const FMATRIX *mat, DOUBLE *inertia) |
同時生起行列を用いた慣性の算出 | |
INT FVALGAPI | fnFIE_texture_calc_gcm_local_homogeneity (const FMATRIX *mat, DOUBLE *lh) |
同時生起行列を用いた局所一様性の算出 |
INT FVALGAPI fnFIE_texture_first_order_statistics | ( | FHANDLE | hsrc, | |
DOUBLE * | ave, | |||
DOUBLE * | sgm2, | |||
DOUBLE * | skewness, | |||
DOUBLE * | kurtosis | |||
) |
濃淡ヒストグラムの算出
1次統計量である平均値(μ)、分散()、そして特徴量の歪度(Skewness)、尖度(Kurtosis) を全体が1となるように正規化されたヒストグラムから算出します。 テクスチャ解析では濃淡ヒストグラムと呼ばれる手法です。 関数内部でのヒストグラムの作成には fnFIE_make_histogram() が利用されています。
歪度、尖度を求める式はそれぞれ
となります。 ここで、歪度は、尖度は、それぞれ重心まわりの3次および4次モーメントとなります。 なお、歪度、尖度の計算にはσによる除算が必要ですが、σが0の場合は、skewness と kurtosis には0が代入されます。
なお ave, sgm2, skewness, kurtosis のうち、 取得する必要のない統計量がある場合は、そのパラメータに NULL を指定してください。 ただし、これら4つのすべてに NULL が指定された場合は F_ERR_INVALID_PARAM エラーとなります。
[in] | hsrc | 入力画像( type: uc8, us16 / ch : 1 ) |
[out] | ave | 平均値(μ) |
[out] | sgm2 | 分散(![]() |
[out] | skewness | 歪度(Skewness) |
[out] | kurtosis | 尖度(Kurtosis) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_IMAGE | 不正な画像オブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された
| |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_texture_coocurrence_matrix | ( | FHANDLE | hsrc, | |
INT | dx, | |||
INT | dy, | |||
INT | gray_level, | |||
FMATRIX * | mat | |||
) |
同時生起行列の算出
指定した領域の同時生起行列 を求めます。 同時生起行列とは、画像(領域)内の濃淡iのある基準点から ( dx , dy ) だけ 離れた点の濃淡がjである確率をij成分とする行列のことです。 本関数では、上記確率に濃淡iの点から( -dx , -dy )だけ離れた点の濃淡が jである確率を加えており、求められる行列は対称行列となります。 なお、 | dx | と | dy | は、画像の幅と高さを width 、 height とした場合、 以下の条件を満たしている必要があります。 つまり、 ( dx , dy ) だけ離れた点が、画像内のどのような基準点にも存在しない場合は、 エラーとなります。
同時生起行列を求めるための、簡単な例を示します。 画像が以下のように与えられたものとします。
この場合、階調数は4となり、同時生起行列は4×4となります。 ここで、 dx=1 , dy=0 を考えます。 注目画素が では濃度値が0、
の濃度値は1であるため、 同時生起行列を
とすると、
と
に それぞれ1を加えます。 この処理を有効な画素に対して繰り返します。
参考のために、 上記画像データに対して、 dx と dy を変化されたいくつかの同時生起行列を示します。 なお、下記の例では各要素の値をわかり易くするために整数値で表していますが、本関数で取得される実際の行列の 要素はすべて確率となっています。つまり、下記の例で示した行列の各値を要素の総数で割った値が実際の要素の値になります。
dx=1 , dy=0
dx=0 , dy=1
dx=1 , dy=1
dx=-1 , dy=1
[in] | hsrc | 入力画像( type : uc8, us16 / ch : 1 )
|
[in] | dx | 水平方向パラメータ |
[in] | dy | 垂直方向パラメータ |
[in] | gray_level | 入力画像の階調数(1以上) |
[out] | mat | 同時生起行列
|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_IMAGE | 不正な画像が渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された
| |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_texture_calc_gcm_entropy | ( | const FMATRIX * | mat, | |
DOUBLE * | entropy | |||
) |
同時生起行列を用いたエントロピーの算出
fnFIE_texture_coocurrence_matrix() にて求めた 同時生起行列 を用いて エントロピー( entropy )を計算します。
[in] | mat | 同時生起行列
|
[out] | entropy | エントロピー |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_texture_calc_gcm_energy | ( | const FMATRIX * | mat, | |
DOUBLE * | energy | |||
) |
同時生起行列を用いたエネルギーの算出
fnFIE_texture_coocurrence_matrix() にて求めた 同時生起行列 を用いて エネルギー( energy )を計算します。
[in] | mat | 同時生起行列
|
[out] | energy | エネルギー |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_texture_calc_gcm_inertia | ( | const FMATRIX * | mat, | |
DOUBLE * | inertia | |||
) |
同時生起行列を用いた慣性の算出
fnFIE_texture_coocurrence_matrix() にて求めた 同時生起行列 を用いて 慣性( inertia )を計算します。
[in] | mat | 同時生起行列
|
[out] | inertia | 慣性 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_texture_calc_gcm_local_homogeneity | ( | const FMATRIX * | mat, | |
DOUBLE * | lh | |||
) |
同時生起行列を用いた局所一様性の算出
fnFIE_texture_coocurrence_matrix() にて求めた 同時生起行列 を用いて 局所一様性( LH )を計算します。
[in] | mat | 同時生起行列
|
[out] | lh | 局所一様性 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |