]> mj.ucw.cz Git - libucw.git/blobdiff - images/sig-txt.c
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
[libucw.git] / images / sig-txt.c
index 0202e601d2ff294bdb51e48b9884a265abd917f2..1e2a9cd31e41c326e3c1afa901b3ea005d2c3b35 100644 (file)
@@ -9,7 +9,7 @@
 
 #undef LOCAL_DEBUG
 
-#include "sherlock/sherlock.h"
+#include "lib/lib.h"
 #include "images/images.h"
 #include "images/signature.h"
 #include "images/math.h"
 void
 image_sig_detect_textured(struct image_sig_data *data)
 {
+  if (image_sig_textured_threshold <= 0)
+    {
+      DBG("Zero textured threshold.");
+      return;
+    }
+
   uns cols = data->cols;
   uns rows = data->rows;
   uns cell_cols = MIN((cols + 1) / 2, MAX_CELLS_COLS);
@@ -38,7 +44,7 @@ image_sig_detect_textured(struct image_sig_data *data)
     }
 
   DBG("Detecting textured image... cols=%u rows=%u cell_cols=%u cell_rows=%u", cols, rows, cell_cols, cell_rows);
-  
+
   /* Compute cells boundaries */
   for (i = 1, j = 0; i < cell_cols; i++)
     cell_x[i] = fast_div_u32_u8(j += cols, cell_cols);
@@ -53,7 +59,7 @@ image_sig_detect_textured(struct image_sig_data *data)
   for (uns i = 0; i < data->regions_count; i++)
     for (struct image_sig_block *block = data->regions[i].blocks; block; block = block->next)
       block->region = i;
-  
+
   /* Process cells */
   double e = 0;
   for (uns j = 0; j < cell_rows; j++)
@@ -73,7 +79,7 @@ image_sig_detect_textured(struct image_sig_data *data)
          }
        for (uns k = 0; k < data->regions_count; k++)
          {
-           int a = data->blocks_count * cnt[k] - cell_area * data->regions[k].count; 
+           int a = data->blocks_count * cnt[k] - cell_area * data->regions[k].count;
            e += (double)a * a / ((double)isqr(data->regions[k].count) * cell_area);
          }
       }
@@ -81,7 +87,7 @@ image_sig_detect_textured(struct image_sig_data *data)
   DBG("Coefficient=%g", (double)e / (data->regions_count * data->blocks_count));
 
   /* Threshold */
-  if (e <= image_sig_textured_threshold * data->regions_count * data->blocks_count)
+  if (e < image_sig_textured_threshold * data->regions_count * data->blocks_count)
     {
       data->flags |= IMAGE_SIG_TEXTURED;
       DBG("Image is textured.");