Im en utilisant le code suivant pour compter le nombre de personnes en webcam en temps réel du matin au soirCOUNT en vidéo en temps réel
people_list = []
while True:
_, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray, 1.3, 5)
detections = faceCascade.detectMultiScale(gray, 1.15, 5)
for i in range(len(detections)):
face_i = detections[i]
x, y, w, h = face_i
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 222, 0), 1)
font = cv2.FONT_HERSHEY_SIMPLEX
people_list.insert(len(people_list)+1,i)
cv2.putText(frame, "id: "+str (people_list[i]), (x, y), font, 2, (255, 255, 255), 2, cv2.LINE_AA)
# Display the resulting frame
cv2.imshow('Video', frame)
chaque fois que lorsqu'un nouveau visage est détecté, les augmentations de comptage de PEOPLE_LIST. Cependant, le compte people_list est augmenté pour chaque image au lieu de chaque nouvelle. Comment puis-je être en mesure de régler cela?
Les utilisateurs contiennent-ils des identifiants uniques? Si c'est le cas, créez un ensemble d'identifiants uniques au lieu d'une liste. Edit: Il peut également être utile de vérifier si l'identifiant est déjà dans l'ensemble et l'ignorer, sinon votre logiciel insérera constamment des données dans l'ensemble pour chaque itération – AK47
non ... ils n'en ont pas ... je dois assigner il est basé sur le nombre de personnes visitées à partir du matin –
Eh bien, il semble que vous avez besoin de réévaluer votre façon de stocker les utilisateurs. Comment saurez-vous si un utilisateur spécifique quitte? – AK47