Я настраиваю новое приложение и хочу поддерживать его в своем приложении, где мне нужно изменить свой код. Как обрабатывать обнаружение нескольких пользователей в одном окне, а затем открывать только те пользовательские веб-страницы, которые находятся в моем фреймеа также, кто бы ни посетил первый раз во фрейме, если они выходят за пределы фрейма и возвращаются снова, откройте веб-страницу соответствующих пользователей, если 2 или 3 пользователя остаются в фрейме непрерывно, он не может открывать несколько вкладок непрерывно, он открывается по крайней мере один раз в текущемокно обнаружения
Я не могу написать правильную логику для этого ..
Извините за глупый вопрос, я новичок в python
Я попробовал этот код
if new_val not in faceRecognized:
print("Code to call the webservice")
new_list = new_val.split (",")
print ("list: ", new_list)
print (format(url)+ format(new_list[1])+"/" + format(new_list[2]))
a_website = format(url)+ format(new_list[1])+"/" + format(new_list[2])
webbrowser.open_new_tab(a_website)
prev_val = new_val
faceRecognized.append(new_val)
continue
else:
cv2.putText(im,'not recognized',(x-10, y-10), cv2.FONT_HERSHEY_PLAIN,1,(0, 255, 0))
window = cv2.namedWindow('View Video', cv2.WINDOW_NORMAL)
cv2.imshow('View Video',im)
так же, как я думал, мы использовали список, если обнаружение первого кадра затем открывает соответствующую веб-страницу и помещает ее в список, после того, как второе лицо обнаружит правильно, затем откройте веб-страницу второго лица и сравните с существующим списком, если онне открывайте веб-страницу, если она новая, а затем открывайте веб-страницу ..
prev_val = None
while True:
(_, im) = webcam.read()
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
print('IN for loop')
cv2.rectangle(im,(x,y),(x+w,y+h),(255,0,0),2)
face = gray[y:y + h, x:x + w]
face_resize = cv2.resize(face, (width, height))
# Try to recognize the face
prediction = model.predict(face_resize)
cv2.rectangle(im, (x, y), (x + w, y + h), (0, 255, 0), 3)
new_val = names[prediction[0]]
print("The prediction value is "+ format(new_val) + " and score is " + format(prediction[1]) )
if prediction[1]>50:
print("In prediction[1]>60 ")
cv2.putText(im,'%s ' % (new_val.split (",")[0]),(x-10, y-10), cv2.FONT_HERSHEY_PLAIN,1,(0, 255, 0))
#cv2.putText(im,'%s -Score is %.0f' % (names[prediction[0]],prediction[1]),(x-10, y-10), cv2.FONT_HERSHEY_PLAIN,1,(0, 255, 0))
#if prev_val is not new_val:
if new_val not in faceRecognized:
print("Code to call the webservice")
new_list = new_val.split (",")
print ("list: ", new_list)
print (format(url)+ format(new_list[1])+"/" + format(new_list[2]))
a_website = format(url)+ format(new_list[1])+"/" + format(new_list[2])
webbrowser.open_new_tab(a_website)
prev_val = new_val
faceRecognized.append(new_val)
continue
else:
cv2.putText(im,'not recognized',(x-10, y-10), cv2.FONT_HERSHEY_PLAIN,1,(0, 255, 0))
window = cv2.namedWindow('View Video', cv2.WINDOW_NORMAL)
cv2.imshow('View Video',im)
if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.destroyWindow('View Video')
break
Я хочу открывать только те пользовательские веб-страницы, которыеch в моем окне