X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=images%2Fconfig.c;h=4494348b303f2b7e9532b91246d8246fb22cc017;hb=0bdd67d0699f51198d917be1ef64293e39f89199;hp=63ac0da9a89f9ae50e623dae5129c010a613c968;hpb=7e4dac1f615aec04ab80d0592f51a03d561db89f;p=libucw.git diff --git a/images/config.c b/images/config.c index 63ac0da9..4494348b 100644 --- a/images/config.c +++ b/images/config.c @@ -9,10 +9,19 @@ #include "lib/lib.h" #include "lib/conf.h" #include "images/images.h" +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) #include "images/signature.h" +#endif #include +/* ImageLib section */ +uns image_trace; +uns image_max_dim = 0xffff; +uns image_max_bytes = ~0U; + +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) +/* ImageSig section */ uns image_sig_min_width; uns image_sig_min_height; uns *image_sig_prequant_thresholds; @@ -21,11 +30,23 @@ uns image_sig_postquant_max_steps; uns image_sig_postquant_threshold; double image_sig_border_size; int image_sig_border_bonus; +double image_sig_inertia_scale[3]; double image_sig_textured_threshold; int image_sig_compare_method; -uns image_sig_cmp_features_weights[IMAGE_VEC_F + IMAGE_REG_H]; +uns image_sig_cmp_features_weights[IMAGE_REG_F + IMAGE_REG_H]; +#endif + +static struct cf_section image_lib_config = { + CF_ITEMS{ + CF_UNS("Trace", &image_trace), + CF_UNS("ImageMaxDim", &image_max_dim), + CF_UNS("ImageMaxBytes", &image_max_bytes), + CF_END + } +}; -static struct cf_section sig_config = { +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) +static struct cf_section image_sig_config = { CF_ITEMS{ CF_UNS("MinWidth", &image_sig_min_width), CF_UNS("MinHeight", &image_sig_min_height), @@ -35,15 +56,20 @@ static struct cf_section sig_config = { CF_UNS("PostQuantThreshold", &image_sig_postquant_threshold), CF_DOUBLE("BorderSize", &image_sig_border_size), CF_INT("BorderBonus", &image_sig_border_bonus), + CF_DOUBLE_ARY("InertiaScale", image_sig_inertia_scale, 3), CF_DOUBLE("TexturedThreshold", &image_sig_textured_threshold), - CF_LOOKUP("CompareMethod", &image_sig_compare_method, ((byte *[]){"integrated", "fuzzy", NULL})), - CF_UNS_ARY("CompareFeaturesWeights", image_sig_cmp_features_weights, IMAGE_VEC_F + IMAGE_REG_H), + CF_LOOKUP("CompareMethod", &image_sig_compare_method, ((char *[]){"integrated", "fuzzy", "average", NULL})), + CF_UNS_ARY("CompareFeaturesWeights", image_sig_cmp_features_weights, IMAGE_REG_F + IMAGE_REG_H), CF_END } }; +#endif static void CONSTRUCTOR images_init_config(void) { - cf_declare_section("ImageSig", &sig_config, 0); + cf_declare_section("ImageLib", &image_lib_config, 0); +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) + cf_declare_section("ImageSig", &image_sig_config, 0); +#endif }