Преобразовать индивидуальное расположение лица в четыре раза в область изображения, содержащуюся в прямоугольнике, определенном этим четырехкратным - PullRequest
0 голосов
/ 08 октября 2018

Этот вопрос касается модуля python3 face_recognition.

Для frame из потокового видео у меня есть

face_locs = face_recognition.face_locations(frame)

Что я хочутеперь для каждого face в face_locs необходимо преобразовать face из четырехместного стиля (вверху, справа, внизу, влево) в область кадра (как изображение), ограниченную прямоугольником, определяемымэта четверка.

(соответствующая часть) мой код выглядит следующим образом:

for face in face_locs:
    # TODO: convert face to a comparable image first
    res = face_recognition.compare_faces(face_encs_in_DB, face)

В приведенном выше коде то, что я не могу сделать, обозначено TODO.

По моему мнению (и я могу ошибаться), я должен написать функцию fix_face(), которая принимает face, а np_arr - соответствующий массив numpy для face, функция должна возвращать face_recognition.face_encodings(np_arr)[0].

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 09 октября 2018

Я только что нашел решение своей проблемы после его изучения в течение нескольких часов.Не уверен, если я должен опубликовать это как ответ;если я ошибаюсь, пожалуйста, предупредите меня, чтобы я смог опустить его в комментарий.Я публикую это так, что если кто-то еще столкнется с той же проблемой, он может получить это решение.

Вместо

face_locs = face_recognition.face_locations(frame),

запись

curr_face_encs = face_recognition.face_encodings(frame).

Тогда

for face in curr_face_encs:
    res = face_recognition.compare_faces(face_encs_in_DB, face)

работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...