faces.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_CLASSIFIERS_FACES_H_
00025 #define __FIREVISION_CLASSIFIERS_FACES_H_
00026
00027 #include <classifiers/classifier.h>
00028
00029 struct CvHaarClassifierCascade;
00030 struct CvMemStorage;
00031 typedef struct _IplImage IplImage;
00032
00033 namespace firevision {
00034 #if 0
00035 }
00036 #endif
00037
00038 class FacesClassifier : public Classifier
00039 {
00040 public:
00041 FacesClassifier(const char *haarcascade_file,
00042 unsigned int pixel_width, unsigned int pixel_height,
00043 IplImage *image = 0,
00044 float haar_scale_factor = 1.1, int min_neighbours = 3, int flags = 0);
00045
00046 virtual ~FacesClassifier();
00047
00048 virtual std::list< ROI > * classify();
00049
00050 private:
00051 CvHaarClassifierCascade *__cascade;
00052 CvMemStorage *__storage;
00053 IplImage *__image;
00054 float __haar_scale_factor;
00055 int __min_neighbours;
00056 int __flags;
00057 bool __own_image;
00058 };
00059
00060 }
00061
00062 #endif