2016-05-24 43 views
-1

Ich habe Skript in Python mit opencv2 Gesicht zu erkennen. Ich nehme Video in meiner Webcam und benutze Haar Cascade um Gesichter zu erkennen. Ich möchte aus der Anzahl der erkannten Gesichter in einem Rahmen herauskommen. Ich verstehe, dass dies getan werden kann, indem Rechtecke gezählt werden, wenn ein Gesicht gefunden wird. wie es geht? Wie zähle ich Rechtecke in einem Frame?zählen Gesichter mit Python und opencv

import cv2 
import sys 

faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml") 

video_capture = cv2.VideoCapture(0) 


while True: 
    # Capture frame-by-frame 
    ret, frame = video_capture.read() 

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 

    faces = faceCascade.detectMultiScale(
     gray, 
     scaleFactor=1.1, 
     minNeighbors=5, 
     minSize=(30, 30), 
     flags=cv2.CASCADE_SCALE_IMAGE 
    ) 

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



    # Display the resulting frame 
    cv2.imshow('Video', frame) 


    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

# When everything is done, release the capture 
video_capture.release() 
cv2.destroyAllWindows() 
+0

versuchte nie diese lib, aber haben Sie versucht, len (Gesichter) zu benutzen? – KimKulling

+0

@KimKulling Danke, es funktioniert! –

Antwort

2

gut, ich glaube, dass len(faces) gibt die Anzahl des Gesichts