cvHaarDetectObjects 分类器结构以及操作函数


/*********************** Haar-like Object Detection structures **************************/ #define CV_HAAR_MAGIC_VAL    0x42500000 #define CV_TYPE_NAME_HAAR    "opencv-haar-classifier"  #define CV_IS_HAAR_CLASSIFIER( haar )                                                    \     ((haar) != NULL &&                                                                   \     (((const CvHaarClassifierCascade*)(haar))->flags & CV_MAGIC_MASK)==CV_HAAR_MAGIC_VAL)  #define CV_HAAR_FEATURE_MAX  3  typedef struct CvHaarFeature    //一个 harr 特征由 2-3 个具有相应权重的矩形组成 {     int  tilted;     struct     {         CvRect r;         float weight;     } rect[CV_HAAR_FEATURE_MAX]; } CvHaarFeature;  typedef struct CvHaarClassifier  /分类器 {     int count;     CvHaarFeature* haar_feature;     float* threshold;     int* left;     int* right;     float* alpha; } CvHaarClassifier;  typedef struct CvHaarStageClassifier // {     int  count;     float threshold;     CvHaarClassifier* classifier;      int next;     int child;     int parent; } CvHaarStageClassifier;  typedef struct CvHidHaarClassifierCascade CvHidHaarClassifierCascade;  typedef struct CvHaarClassifierCascade {     int  flags;     int  count;     CvSize orig_window_size;     CvSize real_window_size;     double scale;     CvHaarStageClassifier* stage_classifier;     CvHidHaarClassifierCascade* hid_cascade; } CvHaarClassifierCascade;  typedef struct CvAvgComp  //检测图像中的目标 {     CvRect rect;     int neighbors; } CvAvgComp;  struct CvFeatureTree;  #endif /*_CVTYPES_H_*/  /* End of file. */