2 * folded-ctf is an implementation of the folded hierarchy of
3 * classifiers for object detection, developed by Francois Fleuret
6 * Copyright (c) 2008 Idiap Research Institute, http://www.idiap.ch/
7 * Written by Francois Fleuret <francois.fleuret@idiap.ch>
9 * This file is part of folded-ctf.
11 * folded-ctf is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 3 as
13 * published by the Free Software Foundation.
15 * folded-ctf is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with folded-ctf. If not, see <http://www.gnu.org/licenses/>.
27 A PiFeatures is the central new idea of this approach. It is a
28 feature which can be evaluated on a pair image / referential, where
29 the referential is computed from a pose cell.
38 #include "rich_image.h"
39 #include "pi_referential.h"
45 PF_EDGE_HISTOGRAM_COMPARISON,
46 PF_GRAYSCALE_HISTOGRAM_COMPARISON,
49 int _tag, _edge_scale;
50 Rectangle _window_a, _window_b;
51 int _registration_a, _registration_b;
53 int random_registration_mode(int level);
54 void randomize_window(int registration_mode, Rectangle *window);
55 void draw_window(RGBImage *image, int registration_mode, Rectangle *window);
59 scalar_t response_edge_thresholding(RichImage *image, PiReferential *referential);
60 void draw_edge_thresholding(RGBImage *image, int r, int g, int b,
61 PiReferential *referential);
62 void print_edge_thresholding(ostream *os);
64 // EDGE ORIENTATION HISTOGRAM COMPARISON
66 scalar_t response_edge_histogram_comparison(RichImage *image, PiReferential *referential);
67 void draw_edge_histogram_comparison(RGBImage *image, int r, int g, int b,
68 PiReferential *referential);
69 void print_edge_histogram_comparison(ostream *os);
71 // GRAYSCALE HISTOGRAM COMPARISON
73 scalar_t response_grayscale_histogram_comparison(RichImage *image, PiReferential *referential);
74 void draw_grayscale_histogram_comparison(RGBImage *image,
76 PiReferential *referential);
77 void print_grayscale_histogram_comparison(ostream *os);
81 void randomize(int level);
83 scalar_t response(RichImage *image, PiReferential *referential);
85 void draw(RGBImage *image,
87 PiReferential *referential);
89 void print(ostream *os);