Fawkes API Fawkes Development Version
sift.h
1
2/***************************************************************************
3 * sift.h - Feature-based classifier using OpenCV structures
4 *
5 * Created: Mon Mar 15 15:47:11 2008
6 * Copyright 2008 Stefan Schiffer [stefanschiffer.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#ifndef _FIREVISION_CLASSIFIERS_SIFT_H_
25#define _FIREVISION_CLASSIFIERS_SIFT_H_
26
27#ifndef HAVE_SIFT
28# error SIFT not available, you may not use the SiftClassifier
29#endif
30
31#include <fvclassifiers/classifier.h>
32
33//#ifdef FEAT_TIMETRACKER
34namespace fawkes {
35class TimeTracker;
36}
37//#endif
38
39struct CvMemStorage;
40typedef struct _IplImage IplImage;
41
42struct feature;
43
44namespace firevision {
46{
47public:
48 SiftClassifier(const char * features_file,
49 unsigned int pixel_width,
50 unsigned int pixel_height,
51 int kdtree_bbf_max_nn_chks = 200,
52 float nn_sq_dist_ratio_thr = 0.49,
53 int flags = 0);
54
55 virtual ~SiftClassifier();
56
57 virtual std::list<ROI> *classify();
58
59private:
60 const char **features_files_;
61
62 IplImage *obj_img_;
63 feature * obj_features_;
64 int obj_num_features_;
65
66 CvMemStorage *storage_;
67 IplImage * image_;
68
69 feature *img_features_;
70
71 float nn_sq_dist_ratio_thr_;
72 int kdtree_bbf_max_nn_chks_;
73 int flags_;
74
75 //#ifdef FEAT_TIMETRACKER
77 unsigned int loop_count_;
78 unsigned int ttc_objconv_;
79 unsigned int ttc_objfeat_;
80 unsigned int ttc_imgconv_;
81 unsigned int ttc_imgfeat_;
82 unsigned int ttc_matchin_;
83 unsigned int ttc_roimerg_;
84 //#endif
85};
86
87} // end namespace firevision
88
89#endif
Time tracking utility.
Definition: tracker.h:37
Classifier to extract regions of interest.
Definition: classifier.h:36
SIFT classifier.
Definition: sift.h:46
SiftClassifier(const char *features_file, unsigned int pixel_width, unsigned int pixel_height, int kdtree_bbf_max_nn_chks=200, float nn_sq_dist_ratio_thr=0.49, int flags=0)
Constructor.
Definition: sift.cpp:74
virtual ~SiftClassifier()
Destructor.
Definition: sift.cpp:128
virtual std::list< ROI > * classify()
Classify image.
Definition: sift.cpp:136
Fawkes library namespace.