X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=rich_image.cc;h=a728950e8510702e555b16e46535947b5365aa6a;hb=cd28e9c7489bae20e3abf67331efd1cab45d83df;hp=e1d21128040bfd1eb4b31badc290b25958f24d7c;hpb=33852c7b378d419be75d15a9663ee6b071c2f534;p=folded-ctf.git diff --git a/rich_image.cc b/rich_image.cc index e1d2112..a728950 100644 --- a/rich_image.cc +++ b/rich_image.cc @@ -12,7 +12,9 @@ // You should have received a copy of the GNU General Public License // // along with this program. If not, see . // // // -// Written by Francois Fleuret, (C) IDIAP // +// Written by Francois Fleuret // +// (C) Idiap Research Institute // +// // // Contact for comments & bug reports // /////////////////////////////////////////////////////////////////////////// @@ -88,7 +90,7 @@ void RichImage::compute_one_scale_edge_maps(int width, int height, } } - const int var_square_size = 16; + const unsigned int var_square_size = 16; int k00 = - 2 + width * (- 2); int k01 = - 1 + width * (- 2); @@ -143,22 +145,22 @@ void RichImage::compute_one_scale_edge_maps(int width, int height, scale_edge_map[first_gray_tag + (local_pixel_map[0] / gray_bin_width)][0][d]++; - if(x - int(var_square_size/2) >= 0 && - x + int(var_square_size/2) < width && - y - int(var_square_size/2) >= 0 && - y + int(var_square_size/2) < height) { - - int s = - + local_sum_pixel_map[ - var_square_size/2 + width * ( - var_square_size / 2)] - + local_sum_pixel_map[ + var_square_size/2 + width * ( + var_square_size / 2)] - - local_sum_pixel_map[ - var_square_size/2 + width * ( + var_square_size / 2)] - - local_sum_pixel_map[ + var_square_size/2 + width * ( - var_square_size / 2)]; - - int s_sq = - + local_sum_sq_pixel_map[ - var_square_size/2 + width * ( - var_square_size / 2)] - + local_sum_sq_pixel_map[ + var_square_size/2 + width * ( + var_square_size / 2)] - - local_sum_sq_pixel_map[ - var_square_size/2 + width * ( + var_square_size / 2)] - - local_sum_sq_pixel_map[ + var_square_size/2 + width * ( - var_square_size / 2)]; + if(x - int(var_square_size / 2) >= 0 && + x + int(var_square_size / 2) < width && + y - int(var_square_size / 2) >= 0 && + y + int(var_square_size / 2) < height) { + + unsigned int s = + + *(local_sum_pixel_map - var_square_size / 2 + width * ( - var_square_size / 2)) + + *(local_sum_pixel_map + var_square_size / 2 + width * ( + var_square_size / 2)) + - *(local_sum_pixel_map - var_square_size / 2 + width * ( + var_square_size / 2)) + - *(local_sum_pixel_map + var_square_size / 2 + width * ( - var_square_size / 2)); + + unsigned int s_sq = + + *(local_sum_sq_pixel_map - var_square_size / 2 + width * ( - var_square_size / 2)) + + *(local_sum_sq_pixel_map + var_square_size / 2 + width * ( + var_square_size / 2)) + - *(local_sum_sq_pixel_map - var_square_size / 2 + width * ( + var_square_size / 2)) + - *(local_sum_sq_pixel_map + var_square_size / 2 + width * ( - var_square_size / 2)); if(sq(var_square_size) * s_sq - sq(s) >= 100 * sq(var_square_size) * (sq(var_square_size) - 1)) {