X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=folded-ctf.git;a=blobdiff_plain;f=rich_image.cc;h=aa8b7e58ca943eadf15a6511c55f08ae3edecdc9;hp=f3b4b5465652b54a596890a53e96ca359dcc310f;hb=HEAD;hpb=d922ad61d35e9a6996730bec24b16f8bf7bc426c diff --git a/rich_image.cc b/rich_image.cc index f3b4b54..aa8b7e5 100644 --- a/rich_image.cc +++ b/rich_image.cc @@ -1,20 +1,26 @@ - -/////////////////////////////////////////////////////////////////////////// -// This program is free software: you can redistribute it and/or modify // -// it under the terms of the version 3 of the GNU General Public License // -// as published by the Free Software Foundation. // -// // -// This program is distributed in the hope that it will be useful, but // -// WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // -// General Public License for more details. // -// // -// 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 // -// Contact for comments & bug reports // -/////////////////////////////////////////////////////////////////////////// +/* + * folded-ctf is an implementation of the folded hierarchy of + * classifiers for object detection, developed by Francois Fleuret + * and Donald Geman. + * + * Copyright (c) 2008 Idiap Research Institute, http://www.idiap.ch/ + * Written by Francois Fleuret + * + * This file is part of folded-ctf. + * + * folded-ctf is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * folded-ctf is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with folded-ctf. If not, see . + * + */ #include @@ -143,22 +149,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) { + 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)]; + + *(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)]; + + *(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)) { @@ -384,11 +390,6 @@ void RichImage::compute_rich_structure() { delete[] scale_pixel_maps; } -void RichImage::crop(int xmin, int ymin, int width, int height) { - free(); - Image::crop(xmin, ymin, width, height); -} - RichImage::RichImage() : Image() { _width_at_scale = 0; _height_at_scale = 0;