Riconoscimento volto con opencv in python


Riconoscimento del volto tramite una Webcam con opencv (python)

opencv, riconoscimento volto

opencv, riconoscimento volto

from opencv import cv as opencv
from opencv import highgui
import sys

print "Inizializzazione webcam"
camera = highgui.cvCreateCameraCapture(-1)
if (camera):
  print "Camera inizializzata"
else:
  sys.exit("Camera NON inizializzata")

im = highgui.cvQueryFrame(camera)
if (im):
  print "Acquisizione FRAME"
else:
  sys.exit("Errore acquisizione FRAME da webcam")

filexml ="haarcascade_frontalface_default.xml"
print "Caricamento file xml:"+filexml
cascade = opencv.cvLoadHaarClassifierCascade(filexml, opencv.cvSize(1,1))
if (cascade):
  print "Caricato"
else:
  sys.exit("Non caricato")
storage = opencv.cvCreateMemStorage(0)
loop = True
while(loop):
  frame = highgui.cvQueryFrame(camera)
  if (frame == None):
    break;
  grayscale = opencv.cvCreateImage(opencv.cvSize(frame.width, frame.height), 8, 1)
  opencv.cvCvtColor(frame, grayscale, opencv.CV_BGR2GRAY)

  faces = opencv.cvHaarDetectObjects(grayscale, cascade, storage, 1.2, 2,opencv.CV_HAAR_DO_CANNY_PRUNING, opencv.cvSize(50,50))
  if faces:
    #print 'face detected!'
    for face in faces:
      opencv.cvRectangle(grayscale, opencv.cvPoint( int(face.x), int(face.y)),
                         opencv.cvPoint(int(face.x + face.width), int(face.y + face.height)),
                         opencv.CV_RGB(127, 255, 0), 2) # RGB #7FFF00 width=2
  highgui.cvShowImage("Finestra", grayscale)
  char = highgui.cvWaitKey(33)
  if (char != -1):
    if (ord(char) == 27):
      loop = False
highgui.cvDestroyWindow("Finestra")

Lascia un commento