Assume that img is color image for face detection
- const char* cascade_name = "haarcascade_frontalface_alt.xml";
- static CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name );
- static CvMemStorage* storage = cvCreateMemStorage(0);
- CvSeq* detectFace(IplImage* img){
- static IplImage* gray=0;
- if(gray && (gray->width!=img->width || gray->height!= img->height)){
- cvReleaseImage(&gray);
- gray=0;
- }
- if(!gray)
- gray=cvCreateImage(cvGetSize(img),8,1);
- cvCvtColor(img,gray,CV_BGR2GRAY);
- cvClearMemStorage( storage );
- CvSeq* faces = cvHaarDetectObjects( gray, cascade, storage, 1.1, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(100, 100) );
- return faces;
- }