Menu

Showing posts with label face. Show all posts
Showing posts with label face. Show all posts

Friday, June 7, 2013

[OpenCV] วิธีการตรวจจับใบหน้า โดยใช้ Haar Cascade Classifier
[OpenCV] How to Detect Face using Haar Cascade Classifier

สมมติว่า img เป็นภาพสีสำหรับตรวจจับใบหน้า
Assume that img is color image for face detection

  1. const char* cascade_name = "haarcascade_frontalface_alt.xml";
  2. static CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name );
  3. static CvMemStorage* storage = cvCreateMemStorage(0);

  4. CvSeq* detectFace(IplImage* img){
  5.      
  6.      static IplImage* gray=0;
  7.      if(gray && (gray->width!=img->width || gray->height!= img->height)){
  8.           cvReleaseImage(&gray);
  9.           gray=0;
  10.      }
  11.      if(!gray)
  12.           gray=cvCreateImage(cvGetSize(img),8,1);

  13.      cvCvtColor(img,gray,CV_BGR2GRAY);
  14.      cvClearMemStorage( storage );
  15.      CvSeq* faces = cvHaarDetectObjects( gray, cascade, storage, 1.1, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(100, 100) );
  16.      return faces;
  17. }