2016-05-24 4 views
-1

У меня есть сценарий в python с помощью opencv2 для обнаружения лица. Я снимаю видео в своей веб-камере и использую Haar Cascade для обнаружения лиц. Я хочу выйти из числа обнаруженных лиц в одном кадре. Я понимаю, что это можно сделать путем подсчета прямоугольников, когда лицо найдено. как это сделать? Как подсчитать прямоугольники в одном кадре?count лица с python и 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

Никогда не пробовали этот LIB, но вы пробовали использовать LEN (лицо)? – KimKulling

+0

@KimKulling Спасибо, что это работает! –

ответ

2

хорошо, я полагаю, что len(faces) возвращает количество лица