Need help coding with the Face_recognition library

Viewed 24

What code should I add here to print the statement print("Hello") when the unknown person is seen, for example

import face_recognition
import cv2
import numpy as np    

video_capture = cv2.VideoCapture(0)

admin_image = face_recognition.load_image_file("admin.jpg")
admin_face_encoding = face_recognition.face_encodings(admin_image)[0]



known_face_encodings = [
    admin_face_encoding,
  ]
known_face_names = [
    "  Admin",

  ]

face_locations = []
face_encodings = []
face_names = []
process_this_frame = False

while True:
    ret, frame = video_capture.read()

    if process_this_frame:
        small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)

        rgb_small_frame = small_frame[:, :, ::-1]
        
        face_locations = face_recognition.face_locations(rgb_small_frame)
        face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)

        face_names = []
        for face_encoding in face_encodings:
            matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
            name = "Unknown"
      


            face_distances = face_recognition.face_distance(known_face_encodings, face_encoding)
            best_match_index = np.argmin(face_distances)
            if matches[best_match_index]:
                name = known_face_names[best_match_index]

            face_names.append(name)
         
        
    process_this_frame = not process_this_frame


    for (top, right, bottom, left), name in zip(face_locations, face_names):
        top *= 4
        right *= 4
        bottom *= 4
        left *= 4

        cv2.rectangle(frame, (left, top), (right, bottom), (0, 225, 0), 2)

        cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 225 , 0), cv2.FILLED)
        font = cv2.FONT_HERSHEY_DUPLEX
        cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (0, 0, 0), 1)

    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

The problem is that wherever you write an order for unknown people, the order is executed continuously and for all people, whether they are anonymous or admin! For example, take the following code: print() For after seeing unknown people, as soon as anyone is seen, even the admin starts executing the conditional order .

HELP ME.

0 Answers
Related