/home/fwph/code/wurde/modules/visionModule/Operators/face/haar.cpp File Reference

Go to the source code of this file.

Classes

struct  PixelInfo

Defines

#define LINEAR_INTERPOLATION
#define sum_elem_ptr(sum, row, col)   ((sumtype*)CV_MAT_ELEM_PTR_FAST((sum),(row),(col),sizeof(sumtype)))
#define sqsum_elem_ptr(sqsum, row, col)   ((sqsumtype*)CV_MAT_ELEM_PTR_FAST((sqsum),(row),(col),sizeof(sqsumtype)))
#define calc_sum(rect, offset)   ((rect).p0[offset] - (rect).p1[offset] - (rect).p2[offset] + (rect).p3[offset])
#define _MAX_PATH   1024
#define ICV_HAAR_SIZE_NAME   "size"
#define ICV_HAAR_STAGES_NAME   "stages"
#define ICV_HAAR_TREES_NAME   "trees"
#define ICV_HAAR_FEATURE_NAME   "feature"
#define ICV_HAAR_RECTS_NAME   "rects"
#define ICV_HAAR_TILTED_NAME   "tilted"
#define ICV_HAAR_THRESHOLD_NAME   "threshold"
#define ICV_HAAR_LEFT_NODE_NAME   "left_node"
#define ICV_HAAR_LEFT_VAL_NAME   "left_val"
#define ICV_HAAR_RIGHT_NODE_NAME   "right_node"
#define ICV_HAAR_RIGHT_VAL_NAME   "right_val"
#define ICV_HAAR_STAGE_THRESHOLD_NAME   "stage_threshold"
#define ICV_HAAR_PARENT_NAME   "parent"
#define ICV_HAAR_NEXT_NAME   "next"

Functions

static CvHaarClassifierCascade * icvCreateHaarClassifierCascade (int stage_count)
static void icvReleaseHidHaarClassifierCascade (CvHidHaarClassifierCascade **_cascade)
CvHidHaarClassifierCascadeicvCreateHidHaarClassifierCascade (CvHaarClassifierCascade *cascade)
CV_IMPL void cvSetImagesForHaarClassifierCascade (CvHaarClassifierCascade *_cascade, const CvArr *_sum, const CvArr *_sqsum, const CvArr *_tilted_sum, double scale)
CV_INLINE double icvEvalHidHaarClassifier (CvHidHaarClassifier *classifier, double variance_norm_factor, size_t p_offset)
CV_IMPL int cvRunHaarClassifierCascade (CvHaarClassifierCascade *_cascade, CvPoint pt, int start_stage)
CV_IMPL CvSeq * cvHaarDetectObjects (const CvArr *_img, CvHaarClassifierCascade *cascade, CvMemStorage *storage, double scale_factor, int min_neighbors, int flags, CvSize min_size)
static CvHaarClassifierCascade * icvLoadCascadeCART (const char **input_cascade, int n, CvSize orig_window_size)
CV_IMPL CvHaarClassifierCascade * cvLoadHaarClassifierCascade (const char *directory, CvSize orig_window_size)
CV_IMPL void cvReleaseHaarClassifierCascade (CvHaarClassifierCascade **_cascade)
static int icvIsHaarClassifier (const void *struct_ptr)
static void * icvReadHaarClassifier (CvFileStorage *fs, CvFileNode *node)
static void icvWriteHaarClassifier (CvFileStorage *fs, const char *name, const void *struct_ptr, CvAttrList attributes)
static void * icvCloneHaarClassifier (const void *struct_ptr)
static int icvRegisterHaarClassifierType ()
static int GetXPixel (double Wx, double Wy, double Wz, double pan, double tilt)
static int GetYPixel (double Wx, double Wy, double Wz, double pan, double tilt)
static void GetDistances (PixelInfo *pPixelMap, double *pData, double pan, double tilt, double pMinHeight, double pMaxHeight, double pMinSize, double pMaxSize)
bool CouldBeFace (int x, int y, PixelInfo &data, int width)
CvSeq * myHaarDetectObjects (const CvArr *_img, CvHaarClassifierCascade *cascade, CvMemStorage *storage, double scale_factor, int min_neighbors, int flags, CvSize min_size, double *pRanges, double pPan, double pTilt, double pMinHeight, double pMaxHeight, IplImage *pImg, double pMinSize, double pMaxSize)

Variables

icvHaarClassifierInitAlloc_32f_t icvHaarClassifierInitAlloc_32f_p = 0
icvHaarClassifierFree_32f_t icvHaarClassifierFree_32f_p = 0
icvApplyHaarClassifier_32s32f_C1R_t icvApplyHaarClassifier_32s32f_C1R_p = 0
icvRectStdDev_32s32f_C1R_t icvRectStdDev_32s32f_C1R_p = 0
const float icv_stage_threshold_bias = 0.0001f
static int icv_register_haar_classifier_type = icvRegisterHaarClassifierType()


Define Documentation

#define _MAX_PATH   1024

Definition at line 1213 of file haar.cpp.

Referenced by cvLoadHaarClassifierCascade().

#define calc_sum ( rect,
offset   )     ((rect).p0[offset] - (rect).p1[offset] - (rect).p2[offset] + (rect).p3[offset])

Definition at line 315 of file haar.cpp.

Referenced by cvRunHaarClassifierCascade(), and icvEvalHidHaarClassifier().

#define ICV_HAAR_FEATURE_NAME   "feature"

Definition at line 1323 of file haar.cpp.

Referenced by icvReadHaarClassifier(), and icvWriteHaarClassifier().

#define ICV_HAAR_LEFT_NODE_NAME   "left_node"

Definition at line 1327 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_LEFT_VAL_NAME   "left_val"

Definition at line 1328 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_NEXT_NAME   "next"

Definition at line 1333 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_PARENT_NAME   "parent"

Definition at line 1332 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_RECTS_NAME   "rects"

Definition at line 1324 of file haar.cpp.

Referenced by icvReadHaarClassifier(), and icvWriteHaarClassifier().

#define ICV_HAAR_RIGHT_NODE_NAME   "right_node"

Definition at line 1329 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_RIGHT_VAL_NAME   "right_val"

Definition at line 1330 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_SIZE_NAME   "size"

Definition at line 1320 of file haar.cpp.

Referenced by icvReadHaarClassifier(), and icvWriteHaarClassifier().

#define ICV_HAAR_STAGE_THRESHOLD_NAME   "stage_threshold"

Definition at line 1331 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_STAGES_NAME   "stages"

Definition at line 1321 of file haar.cpp.

Referenced by icvReadHaarClassifier(), and icvWriteHaarClassifier().

#define ICV_HAAR_THRESHOLD_NAME   "threshold"

Definition at line 1326 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_TILTED_NAME   "tilted"

Definition at line 1325 of file haar.cpp.

Referenced by icvWriteHaarClassifier().

#define ICV_HAAR_TREES_NAME   "trees"

Definition at line 1322 of file haar.cpp.

Referenced by icvReadHaarClassifier(), and icvWriteHaarClassifier().

#define LINEAR_INTERPOLATION

Definition at line 1 of file haar.cpp.

#define sqsum_elem_ptr ( sqsum,
row,
col   )     ((sqsumtype*)CV_MAT_ELEM_PTR_FAST((sqsum),(row),(col),sizeof(sqsumtype)))

Definition at line 312 of file haar.cpp.

Referenced by cvSetImagesForHaarClassifierCascade().

#define sum_elem_ptr ( sum,
row,
col   )     ((sumtype*)CV_MAT_ELEM_PTR_FAST((sum),(row),(col),sizeof(sumtype)))

Definition at line 309 of file haar.cpp.

Referenced by cvSetImagesForHaarClassifierCascade().


Function Documentation

bool CouldBeFace ( int  x,
int  y,
PixelInfo data,
int  width 
) [inline]

Definition at line 2099 of file haar.cpp.

CV_IMPL CvSeq* cvHaarDetectObjects ( const CvArr *  _img,
CvHaarClassifierCascade *  cascade,
CvMemStorage *  storage,
double  scale_factor,
int  min_neighbors,
int  flags,
CvSize  min_size 
)

Definition at line 724 of file haar.cpp.

References cvRunHaarClassifierCascade(), cvSetImagesForHaarClassifierCascade(), icv_object_win_border, icvApplyHaarClassifier_32s32f_C1R_p, icvCreateHidHaarClassifierCascade(), and icvRectStdDev_32s32f_C1R_p.

CV_IMPL CvHaarClassifierCascade* cvLoadHaarClassifierCascade ( const char *  directory,
CvSize  orig_window_size 
)

Definition at line 1217 of file haar.cpp.

References _MAX_PATH, cvReleaseHaarClassifierCascade(), icvLoadCascadeCART(), and size.

CV_IMPL void cvReleaseHaarClassifierCascade ( CvHaarClassifierCascade **  _cascade  ) 

Definition at line 1294 of file haar.cpp.

References icvReleaseHidHaarClassifierCascade().

Referenced by cvLoadHaarClassifierCascade(), and icvRegisterHaarClassifierType().

CV_IMPL int cvRunHaarClassifierCascade ( CvHaarClassifierCascade *  _cascade,
CvPoint  pt,
int  start_stage 
)

Definition at line 574 of file haar.cpp.

References calc_sum, CvHidHaarStageClassifier::child, CvHidHaarStageClassifier::classifier, CvHidHaarStageClassifier::count, icvEvalHidHaarClassifier(), CvHidHaarClassifierCascade::inv_window_area, CvHidHaarClassifierCascade::is_tree, CvHidHaarStageClassifier::next, CvHidHaarStageClassifier::parent, CvHidHaarClassifierCascade::pq0, CvHidHaarClassifierCascade::pq1, CvHidHaarClassifierCascade::pq2, CvHidHaarClassifierCascade::pq3, CvHidHaarClassifierCascade::sqsum, CvHidHaarClassifierCascade::stage_classifier, CvHidHaarClassifierCascade::sum, and CvHidHaarStageClassifier::threshold.

Referenced by cvHaarDetectObjects(), and myHaarDetectObjects().

CV_IMPL void cvSetImagesForHaarClassifierCascade ( CvHaarClassifierCascade *  _cascade,
const CvArr *  _sum,
const CvArr *  _sqsum,
const CvArr *  _tilted_sum,
double  scale 
)

Definition at line 320 of file haar.cpp.

References CvHidHaarStageClassifier::classifier, CvHidHaarClassifier::count, CvHidHaarStageClassifier::count, CV_ADJUST_FEATURES, CvHidHaarTreeNode::feature, CvHidHaarClassifierCascade::has_tilted_features, icvCreateHidHaarClassifierCascade(), CvHidHaarClassifierCascade::inv_window_area, CvHidHaarClassifier::node, CvHidHaarClassifierCascade::p0, CvHidHaarClassifierCascade::p1, CvHidHaarClassifierCascade::p2, CvHidHaarClassifierCascade::p3, CvHidHaarClassifierCascade::pq0, CvHidHaarClassifierCascade::pq1, CvHidHaarClassifierCascade::pq2, CvHidHaarClassifierCascade::pq3, CvHidHaarClassifierCascade::sqsum, sqsum_elem_ptr, CvHidHaarClassifierCascade::stage_classifier, CvHidHaarClassifierCascade::sum, sum_elem_ptr, and CvHidHaarClassifierCascade::tilted.

Referenced by cvHaarDetectObjects(), and myHaarDetectObjects().

static void GetDistances ( PixelInfo pPixelMap,
double *  pData,
double  pan,
double  tilt,
double  pMinHeight,
double  pMaxHeight,
double  pMinSize,
double  pMaxSize 
) [inline, static]

Definition at line 1968 of file haar.cpp.

References PixelInfo::dist, GetXPixel(), GetYPixel(), PixelInfo::maxHeight, PixelInfo::maxSize, PixelInfo::minHeight, and PixelInfo::minSize.

static int GetXPixel ( double  Wx,
double  Wy,
double  Wz,
double  pan,
double  tilt 
) [inline, static]

Definition at line 1945 of file haar.cpp.

Referenced by GetDistances().

static int GetYPixel ( double  Wx,
double  Wy,
double  Wz,
double  pan,
double  tilt 
) [inline, static]

Definition at line 1956 of file haar.cpp.

Referenced by GetDistances().

static void* icvCloneHaarClassifier ( const void *  struct_ptr  )  [static]

Definition at line 1817 of file haar.cpp.

References icvCreateHaarClassifierCascade().

Referenced by icvRegisterHaarClassifierType().

static CvHaarClassifierCascade* icvCreateHaarClassifierCascade ( int  stage_count  )  [static]

Definition at line 20 of file haar.cpp.

Referenced by icvCloneHaarClassifier(), icvLoadCascadeCART(), and icvReadHaarClassifier().

CvHidHaarClassifierCascade* icvCreateHidHaarClassifierCascade ( CvHaarClassifierCascade *  cascade  ) 

Definition at line 67 of file haar.cpp.

References icvApplyHaarClassifier_32s32f_C1R_p, icvHaarClassifierFree_32f_p, icvHaarClassifierInitAlloc_32f_p, and icvRectStdDev_32s32f_C1R_p.

Referenced by cvHaarDetectObjects(), cvSetImagesForHaarClassifierCascade(), and myHaarDetectObjects().

CV_INLINE double icvEvalHidHaarClassifier ( CvHidHaarClassifier classifier,
double  variance_norm_factor,
size_t  p_offset 
)

Definition at line 550 of file haar.cpp.

References CvHidHaarClassifier::alpha, calc_sum, CvHidHaarTreeNode::feature, CvHidHaarTreeNode::left, CvHidHaarClassifier::node, CvHidHaarFeature::p0, CvHidHaarFeature::rect, CvHidHaarTreeNode::right, CvHidHaarTreeNode::threshold, and CvHidHaarFeature::weight.

Referenced by cvRunHaarClassifierCascade().

static int icvIsHaarClassifier ( const void *  struct_ptr  )  [static]

Definition at line 1336 of file haar.cpp.

Referenced by icvRegisterHaarClassifierType().

static CvHaarClassifierCascade* icvLoadCascadeCART ( const char **  input_cascade,
int  n,
CvSize  orig_window_size 
) [static]

Definition at line 1101 of file haar.cpp.

References icvCreateHaarClassifierCascade(), and threshold.

Referenced by cvLoadHaarClassifierCascade().

static void* icvReadHaarClassifier ( CvFileStorage *  fs,
CvFileNode *  node 
) [static]

Definition at line 1342 of file haar.cpp.

References ICV_HAAR_FEATURE_NAME, ICV_HAAR_RECTS_NAME, ICV_HAAR_SIZE_NAME, ICV_HAAR_STAGES_NAME, ICV_HAAR_TREES_NAME, and icvCreateHaarClassifierCascade().

Referenced by icvRegisterHaarClassifierType().

static int icvRegisterHaarClassifierType (  )  [static]

Definition at line 1889 of file haar.cpp.

References cvReleaseHaarClassifierCascade(), icvCloneHaarClassifier(), icvIsHaarClassifier(), icvReadHaarClassifier(), and icvWriteHaarClassifier().

static void icvReleaseHidHaarClassifierCascade ( CvHidHaarClassifierCascade **  _cascade  )  [static]

Definition at line 46 of file haar.cpp.

References CvHidHaarClassifierCascade::count, icvHaarClassifierFree_32f_p, and CvHidHaarClassifierCascade::ipp_stages.

Referenced by cvReleaseHaarClassifierCascade().

static void icvWriteHaarClassifier ( CvFileStorage *  fs,
const char *  name,
const void *  struct_ptr,
CvAttrList  attributes 
) [static]

Definition at line 1700 of file haar.cpp.

References ICV_HAAR_FEATURE_NAME, ICV_HAAR_LEFT_NODE_NAME, ICV_HAAR_LEFT_VAL_NAME, ICV_HAAR_NEXT_NAME, ICV_HAAR_PARENT_NAME, ICV_HAAR_RECTS_NAME, ICV_HAAR_RIGHT_NODE_NAME, ICV_HAAR_RIGHT_VAL_NAME, ICV_HAAR_SIZE_NAME, ICV_HAAR_STAGE_THRESHOLD_NAME, ICV_HAAR_STAGES_NAME, ICV_HAAR_THRESHOLD_NAME, ICV_HAAR_TILTED_NAME, and ICV_HAAR_TREES_NAME.

Referenced by icvRegisterHaarClassifierType().

CvSeq* myHaarDetectObjects ( const CvArr *  _img,
CvHaarClassifierCascade *  cascade,
CvMemStorage *  storage,
double  scale_factor,
int  min_neighbors,
int  flags,
CvSize  min_size,
double *  pRanges,
double  pPan,
double  pTilt,
double  pMinHeight,
double  pMaxHeight,
IplImage *  pImg,
double  pMinSize,
double  pMaxSize 
)

Definition at line 2120 of file haar.cpp.

References cvRunHaarClassifierCascade(), cvSetImagesForHaarClassifierCascade(), WURDE::g_logdebug, icv_object_win_border, icvApplyHaarClassifier_32s32f_C1R_p, icvCreateHidHaarClassifierCascade(), and icvRectStdDev_32s32f_C1R_p.


Variable Documentation

int icv_register_haar_classifier_type = icvRegisterHaarClassifierType() [static]

Definition at line 1911 of file haar.cpp.

const float icv_stage_threshold_bias = 0.0001f

Definition at line 17 of file haar.cpp.

icvApplyHaarClassifier_32s32f_C1R_t icvApplyHaarClassifier_32s32f_C1R_p = 0

Definition at line 14 of file haar.cpp.

Referenced by cvHaarDetectObjects(), icvCreateHidHaarClassifierCascade(), and myHaarDetectObjects().

icvHaarClassifierFree_32f_t icvHaarClassifierFree_32f_p = 0

Definition at line 13 of file haar.cpp.

Referenced by icvCreateHidHaarClassifierCascade(), and icvReleaseHidHaarClassifierCascade().

icvHaarClassifierInitAlloc_32f_t icvHaarClassifierInitAlloc_32f_p = 0

Definition at line 12 of file haar.cpp.

Referenced by icvCreateHidHaarClassifierCascade().

icvRectStdDev_32s32f_C1R_t icvRectStdDev_32s32f_C1R_p = 0

Definition at line 15 of file haar.cpp.

Referenced by cvHaarDetectObjects(), icvCreateHidHaarClassifierCascade(), and myHaarDetectObjects().


Generated on Thu Feb 1 15:31:54 2007 for WURDE by  doxygen 1.5.1