Advertisement
thecplusplusguy

OpenCV facedetector

Feb 3rd, 2013
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. //http://www.youtube.com/user/thecplusplusguy
  2. //This OpenCV example recognize faces from the webcam image, and draws a red rectangle around it. Make sure, that you have the haarcascade_frontalface_default.xml file in your folder, this can be found in the OpenCV installation folder
  3.  #include <opencv2/opencv.hpp>
  4.   #include <opencv2/imgproc/imgproc.hpp>
  5.  #include <vector>
  6.  #include <string>
  7. using namespace cv;
  8.  
  9. CascadeClassifier face;
  10.  
  11. int main()
  12. {
  13.     VideoCapture vid(0);
  14.  Size s(vid.get(CV_CAP_PROP_FRAME_WIDTH),vid.get(CV_CAP_PROP_FRAME_HEIGHT));
  15.  double fps=vid.get(CV_CAP_PROP_FPS);
  16. //  namedWindow("window");
  17.     namedWindow("original");
  18.     //createTrackbar("Track1","window",&track1,2,NULL);
  19.     //createTrackbar("Track2","window",&track2,5,NULL);
  20.     //createTrackbar("Track3","window",&track3,12,NULL);
  21.     Mat image;
  22.     int kernelSize=3;
  23.     Mat prev;
  24.     face.load("haarcascade_frontalface_default.xml");
  25.  
  26.     while(1)
  27.     {
  28.         vid >> image;
  29.         image.copyTo(prev);
  30.         cvtColor(image,image,CV_BGR2GRAY);
  31.         std::vector<Rect> vec;
  32.         GaussianBlur(image,image,Size(7,7),0,0);
  33.         face.detectMultiScale(image,vec,1.3, 2, 0|CV_HAAR_SCALE_IMAGE, Size(100, 100) );
  34.         for(int i=0;i<vec.size();i++)
  35.         {
  36.             rectangle(prev,vec[i],Scalar(0,0,255));
  37.         }
  38.  
  39.         imshow("original",prev);
  40.         if(waitKey(30)==27) break;
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement