Opencv Python-program for ansiktsgjenkjenning

Opencv Python-program for ansiktsgjenkjenning

Målet med programmet som er gitt er å oppdage objekt av interesse (ansikt) i sanntid og å holde sporing av det samme objektet. Dette er et enkelt eksempel på hvordan du kan oppdage ansikt i Python. Du kan prøve å bruke treningsprøver av et hvilket som helst annet objekt du velger for å bli oppdaget ved å trene klassifisereren på nødvendige objekter. Her er trinnene for å laste ned kravene nedenfor.

Trinn:

  1. Last ned Python 2.7.x versjon numpy og Opencv 2.7.x versjon. Sjekk om din Windows enten 32 bit eller 64 bit er kompatibel og installer deretter.
  2. Pass på at numpy kjører i pythonen din, og prøv å installere opencv.
  3. Legg filene haarcascade_eye.xml og haarcascade_frontalface_default.xml i samme mappe (lenker gitt i koden nedenfor).

Implementering

Python
   # OpenCV program to detect face in real time   # import libraries of python OpenCV    # where its functionality resides   import   cv2   # load the required trained XML classifiers   # https://github.com/opencv/opencv/tree/master   # data/haarcascades/haarcascade_frontalface_default.xml   # Trained XML classifiers describes some features of some   # object we want to detect a cascade function is trained   # from a lot of positive(faces) and negative(non-faces)   # images.   face_cascade   =   cv2  .  CascadeClassifier  (  'haarcascade_frontalface_default.xml'  )   # https://github.com/opencv/opencv/tree/master   # /data/haarcascades/haarcascade_eye.xml   # Trained XML file for detecting eyes   eye_cascade   =   cv2  .  CascadeClassifier  (  'haarcascade_eye.xml'  )   # capture frames from a camera   cap   =   cv2  .  VideoCapture  (  0  )   # loop runs if capturing has been initialized.   while   1  :   # reads frames from a camera   ret     img   =   cap  .  read  ()   # convert to gray scale of each frames   gray   =   cv2  .  cvtColor  (  img     cv2  .  COLOR_BGR2GRAY  )   # Detects faces of different sizes in the input image   faces   =   face_cascade  .  detectMultiScale  (  gray     1.3     5  )   for   (  x    y    w    h  )   in   faces  :   # To draw a rectangle in a face    cv2  .  rectangle  (  img  (  x    y  )(  x  +  w    y  +  h  )(  255    255    0  )  2  )   roi_gray   =   gray  [  y  :  y  +  h     x  :  x  +  w  ]   roi_color   =   img  [  y  :  y  +  h     x  :  x  +  w  ]   # Detects eyes of different sizes in the input image   eyes   =   eye_cascade  .  detectMultiScale  (  roi_gray  )   #To draw a rectangle in eyes   for   (  ex    ey    ew    eh  )   in   eyes  :   cv2  .  rectangle  (  roi_color  (  ex    ey  )(  ex  +  ew    ey  +  eh  )(  0    127    255  )  2  )   # Display an image in a window   cv2  .  imshow  (  'img'    img  )   # Wait for Esc key to stop   k   =   cv2  .  waitKey  (  30  )   &   0xff   if   k   ==   27  :   break   # Close the window   cap  .  release  ()   # De-allocate any associated memory usage   cv2  .  destroyAllWindows  ()   

Produksjon:

produksjon

Neste artikkel:

Opencv C++ Program for ansiktsgjenkjenning Lag quiz