林从早上检测到新的面部,当计数的人数在实时网络摄像头忙到晚计数的人实时视频
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)
每次的PEOPLE_LIST计数增加。但是,每个镜头的people_list数量正在增加,而不是每个新的脸部。我怎样才能解决这个问题?
用户是否包含任何唯一标识符?如果是这样,请创建一组唯一标识符而不是列表。编辑:也许值得检查标识符是否已经在集合中,并跳过它,否则你的软件将不断插入数据到集合中,每次迭代 – AK47
不......他们没有一个...我必须分配它基于从早上 –
访问的人数那么这听起来像你需要重新评估你的用户存储方式。您如何知道特定用户是否离开? – AK47