Programming/OpenCV
Haar Face Detection
매직블럭
2013. 4. 2. 19:25
HaarDetectObjects 함수를 이용하여 얼굴 검출하는 기능
실행하는 폴더내에 xml 파일이 있어야 거기서 특징점을 가져오고
그 특징에 해당하는 영역을 검출해서 Rectangle을 그려준다
CvHaarClassifierCascade* cascade;
CvMemStorage* storage;
char* filename = "haarcascade_frontalface_alt.xml";
cascade = (CvHaarClassifierCascade*)cvLoad(filename,0 ,0 ,0);
storage = cvCreateMemStorage(0);
CvSeq* faces = cvHaarDetectObjects(image2, cascade, storage, 2.0, 3, 0, cvSize(40,40) );
for(i=0; i< (faces ? faces->total : 0); i++)
{
CvRect* r = (CvRect*) cvGetSeqElem(faces, i);
cvRectangle(image2, cvPoint(r->x, r->y), cvPoint(r->x + r->width , r->y + r->height), CV_RGB(0, 255, 0), 2, 8, 0);
}