Opencv Python programma sejas noteikšanai

Opencv Python programma sejas noteikšanai

Dotās programmas mērķis ir noteikt interesējošo objektu (seju) reāllaikā un turpināt izsekot tam pašam objektam. Šis ir vienkāršs piemērs, kā Python noteikt seju. Varat mēģināt izmantot jebkura cita jūsu izvēlēta objekta apmācības paraugus, lai tos atklātu, apmācot klasifikatoru uz nepieciešamajiem objektiem. Tālāk ir norādītas darbības, lai lejupielādētu prasības.

Darbības:

  1. Lejupielādējiet Python 2.7.x versiju numpy un Opencv 2.7.x versiju. Pārbaudiet, vai jūsu Windows 32 bitu vai 64 bitu versija ir saderīga, un attiecīgi instalējiet.
  2. Pārliecinieties, vai jūsu python darbojas numpy, pēc tam mēģiniet instalēt opencv.
  3. Ievietojiet haarcascade_eye.xml un haarcascade_frontalface_default.xml failus tajā pašā mapē (saites norādītas tālāk kodā).

Īstenošana

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  ()   

Izvade:

izvade

Nākamais raksts:

Opencv C++ programma sejas noteikšanai Izveidojiet viktorīnu