Распечатать и сделать http-запрос только один раз в скрипте распознавания лиц python? - PullRequest
0 голосов
/ 28 мая 2020

Прежде всего, я хотел бы sh крепкого здоровья всем!

Я хочу создать «приветствующего вечеринку», похожего на этот: https://robotzero.one/face-recognition-party-greeter-raspberry-pi/ , но с использованием моей IP-камеры и ОС Ubuntu. Намерение состоит в том, чтобы сделать веб-запрос, когда лицо распознается. Веб-запрос заставит эхо-точку что-то сказать, используя IFTTT.

Я использую этот скрипт для распознавания лиц: https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_ipcamera_knn.py

Я прокомментировал строку 210, потому что я не нужно видеть потоковое видео, и вставил функцию печати, которая показывает имя найденного человека:

        for name, (top, right, bottom, left) in predictions:
          print("- Found {}".format(name))

Проблема в том, что при обнаружении лица он продолжает печатать сообщение в консоли . Несколько секунд отображения лица приводят к появлению в консоли десятков строк с одним и тем же сообщением.

Мне нужно как-то ограничить это и сделать так, чтобы сообщение отображалось только один раз. HTTP-запрос тоже нужно отправлять только один раз.

Кто-нибудь может мне с этим помочь?

1 Ответ

0 голосов
/ 28 мая 2020

Измените его на что-то вроде этого:

found_name = None
for name, (top, right, bottom, left) in predictions:
    if name == some_condition:
       found_name = name
       break
print("- Found {}".format(found_name))
...