関数 | |
INT FVALGAPI | fnFIE_colorchart_calc_image (const FHANDLE hsrc, const FHANDLE hmask, F_COLOR_CHART *chart) |
色票の計算(画像指定) | |
INT FVALGAPI | fnFIE_colorchart_set_color (const DOUBLE *color, F_COLOR_CHART *chart) |
色票の計算(色指定) | |
INT FVALGAPI | fnFIE_colorchart_calc_norm (const F_COLOR_CHART *right, const F_COLOR_CHART *target, DOUBLE *norm, enum f_colorcheck_norm_type norm_type, const DOUBLE *weight) |
色票間のノルム計算 |
INT FVALGAPI fnFIE_colorchart_calc_image | ( | const FHANDLE | hsrc, | |
const FHANDLE | hmask, | |||
F_COLOR_CHART * | chart | |||
) |
色票の計算(画像指定)
入力画像の処理対象領域より、色票を計算します。 色票とは、処理対象領域の特徴量をまとめたものです。
[in] | hsrc | 入力画像(type:uc8,us16,double, ch:3) |
[in] | hmask | マスクオブジェクト(type:bin, ch:1の画像、またはリージョン) |
[out] | chart | 色票 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_IMAGE | 不正な画像オブジェクトが渡された | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_CALC_IMPOSSIBLE | 処理領域不足のため計算不能 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_colorchart_set_color | ( | const DOUBLE * | color, | |
F_COLOR_CHART * | chart | |||
) |
色票の計算(色指定)
指定した色情報が保持されます。 本関数は、ユーザーが指定した任意の色情報を色票に設定します。 分散共分散行列は計算されません。
[in] | color | 色情報 |
[out] | chart | 色票 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_colorchart_calc_norm | ( | const F_COLOR_CHART * | right, | |
const F_COLOR_CHART * | target, | |||
DOUBLE * | norm, | |||
enum f_colorcheck_norm_type | norm_type, | |||
const DOUBLE * | weight | |||
) |
色票間のノルム計算
色票間のノルムを計算します。 ノルムの詳細は、 f_colorcheck_norm_type を参照ください。
[in] | right | 基準色票 |
[in] | target | 対象色票 |
[out] | norm | ノルム |
[in] | norm_type | ノルムタイプ
|
[in] | weight | 重み付きユークリッドノルムの重み係数 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_IMAGE | 不正な画像オブジェクトが渡された | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
// エラー処理は省略しているので注意して下さい。 #include "fie.h" VOID color_chart() { F_COLOR_CHART chart1, chart2; FHANDLE hsrc = NULL; FHANDLE hchild = NULL; DOUBLE norm, weight[3]; // 画像ファイルを読み込む fnFIE_load_png( "fie_colorcheck1.png", &hsrc, F_COLOR_IMG_TYPE_UC8 ); // 色票を作成 hchild = fnFIE_img_child_alloc( hsrc, 165, 350, 25, 25 ); fnFIE_colorchart_calc_image( hchild, NULL, &chart1 ); fnFIE_free_object( hchild ); hchild = NULL; hchild = fnFIE_img_child_alloc( hsrc, 320, 215, 25, 25 ); fnFIE_colorchart_calc_image( hchild, NULL, &chart2 ); fnFIE_free_object( hchild ); hchild = NULL; weight[0] = 0.5; weight[1] = 1.0; weight[2] = 1.5; // 重み付きユークリッドノルムの計算 fnFIE_colorchart_calc_norm( &chart1, &chart2, &norm, F_CC_WEIGHTED_EUCLIDEAN, weight ); // マハラノビスノルムの計算(weightは必要ない) fnFIE_colorchart_calc_norm( &chart1, &chart2, &norm, F_CC_MAHALANOBIS, NULL ); fnFIE_free_object( hsrc ); fnFIE_free_object( hchild ); return; } INT main() { // FIEライブラリの使用前に必ずコールする必要があります。 fnFIE_setup(); color_chart(); // 終了処理 fnFIE_teardown(); return 0; }