def scan(): global AddQ, personMTS, nameMTS, feet nameMTS = feet.get() #str(random.randint(1, 100)) print("********") print("n " + nameMTS) db.add_person(nameMTS) answer, personMTS = db.search_person(nameMTS) FaceAlgo.name(nameMTS, personMTS) CameraWindow2.WindowsCamera(cap, True) regreg.destroy()
def f_2(): global istate, lmain, cap, var0, mashtab, count_frame, detect_faces_opencv, AddQ, nameMTS, personMTS, statusMTS, Rtime, Btime statusMTS = "Ok" bluure = 5 mashtab = 0.5 print("Thread2") face_cascade = cv2.CascadeClassifier( 'C:\CV_Start\haarcascades\haarcascade_frontalface_default.xml') count_frame = 0 detect_faces_opencv = False flag_opencv = False cap = cv2.VideoCapture(0) var0 = 1 # while 1: # time.sleep(1) # print("------") while True: _, frame = cap.read() count_frame += 1 frame, face_descriptors = FaceAlgo.find_faces_in_image( frame, bluure, False) person_name = "no_name" #print('preparing for recognize') for face_descriptor in face_descriptors: #print('recognizing') # отрисовываем и проверяем все найденные лица ret, dist = FaceAlgo.compare_face(face_descriptor[0]) #print(ret, dist) if ret: if len(ret) > 0: d = face_descriptor[1] cv2.putText(frame, str(str(round(dist, 2)) + " " + str(ret[2])), (d.left(), d.top()), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 2) #print("Похож на ", ret[2]) person_name = str(ret[2]) # evt = threading.Event() # q.put((person_name, evt)) # print('Waiting for data to be doubled') # evt.wait() else: if statusMTS == "Er": print("Error") continue # if (Btime) - (int(time.time())) > 0: # print("Error") # Btime -= int(time.time()) # continue else: print("Create new person") nameMTS = input() db.add_person(nameMTS) answer, personMTS = db.search_person(nameMTS) FaceAlgo.name(nameMTS, personMTS) frame, face_descriptors = FaceAlgo.find_faces_in_image( frame, bluure, nameMTS, True) tstart = int(time.time()) while ((tstart + 15) - (int(time.time())) > 0): _, frame = cap.read() frame, face_descriptors = FaceAlgo.find_faces_in_image( frame, bluure, nameMTS, True) Rtime = (tstart + 15) - (int(time.time())) print((tstart + 15) - (int(time.time()))) # time.sleep(8) if person_name != "no_name": print(person_name)