2016-05-24 2 views
-1

Je script python en utilisant opencv2 pour détecter le visage. Je prends des vidéos dans ma webcam et utilise Haar Cascade pour détecter les visages. Je veux sortir du nombre de visages détectés dans une image. Je comprends que cela peut être fait en comptant les rectangles quand un visage est trouvé. comment faire? Comment compter les rectangles dans un cadre?python avec comptage des visages et 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

jamais essayé lib, mais vous avez essayé d'utiliser len (faces)? Merci – KimKulling

+0

@KimKulling ça marche! –

Répondre

2
bien

, j'imagine que len(faces) retourner le nombre de visage