2016-06-14 1 views
0

j'ai ce codereconnaissance des visages sur une vidéo en utilisant python

import cv2 
import sys 

# Get user supplied values 
imagePath = sys.argv[1] 
cascPath = sys.argv[2] 

# Create the haar cascade 
faceCascade = cv2.CascadeClassifier(cascPath) 

# Read the image 
image = cv2.imread(imagePath) 
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Detect faces in the image 
faces = faceCascade.detectMultiScale(
    gray, 
    scaleFactor=1.1, 
    minNeighbors=5, 
    minSize=(30, 30), 
    flags = cv2.cv.CV_HAAR_SCALE_IMAGE 
) 

print "Found {0} faces!".format(len(faces)) 

# Draw a rectangle around the faces 
for (x, y, w, h) in faces: 
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) 

cv2.imshow("Faces found", image) 
cv2.waitKey(0) 

qui est utilisé pour détecter les visages et de faire un rectangle autour d'eux en utilisant ma came. je veux prendre le visage détecté comme une image et l'enregistrer dans un dossier/test /1.jpg avec la même taille de rectangle .. afin de le comparer avec des photos enregistrées .. et obtenir le nom des personnes comment cela arrive-t-il?

Répondre

0

Voici la façon d'enregistrer l'image

for (x, y, w, h) in faces: 
    if(x<0 and y<0): 
     face= frame[ 0:h, 0:h,:] 
    elif(y<0): 
     face= frame[ 0:0+h, x:w,:] 
    elif(x<0): 
     face= frame[ y:h, 0:0+w,:] 
    else: 
     face= frame[ y:h, x:w,:] 
cv2.imwrite("folder /test/1.jpg", face)