Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 1, 2018 19:44:19

Vaisai
Зарегистрирован: 2013-03-09
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль распознования лиц

Здравствуйте! Нашел модуль для распознования лиц, очень точно и быстро распознает лица с ip-камеры, но в примере к модулю идет скрипт, где фотографии людей заносятся вручную прям в код, для каждой фотографии создается переменная перекодированными данными и список с этими переменными и список с именами людей. Подскажите пожалуйста, как можно сделать функцию, чтение всех .jpg из папки, имя файла присваивалось в переменную и записывалось в список с именами, чтоб не создавать для каждого человека в коде по две строчки кода?
К сожалению, уровень знания питона очень низок.

  
#Load a sample picture and learn how to recognize it.
obama_image = face_recognition.load_image_file("obama.jpg")
obama_face_encoding = face_recognition.face_encodings(obama_image)[0]
# Load a second sample picture and learn how to recognize it.
biden_image = face_recognition.load_image_file("biden.jpg")
biden_face_encoding = face_recognition.face_encodings(biden_image)[0]
# Create arrays of known face encodings and their names
known_face_encodings = [
    obama_face_encoding,
    biden_face_encoding
]
known_face_names = [
    "Barack Obama",
    "Joe Biden"

Прикреплённый файлы:
attachment facerec_from_webcam_faster.py (3,6 KБ)

Офлайн

#2 Сен. 1, 2018 19:58:57

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Модуль распознования лиц

открываете папку считываете названия файлов в словарь в ключ заносите имя а в значения перекодированные данные

Офлайн

#3 Сен. 2, 2018 03:04:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Модуль распознования лиц

Vaisai
Подскажите пожалуйста, как можно сделать функцию, чтение всех .jpg из папки, имя файла присваивалось в переменную и записывалось в список с именами, чтоб не создавать для каждого человека в коде по две строчки кода?
Надо как минимум три функции сделать: одна функция должна для заданного файла возвращать пару (имя, объект); другая функция должна для заданной директории добывать имена файлов с изображениями; третья функция должна задействовать функцию добывания имён, полученные имена передавать в функцию создания пар и результат сохранять в список, который она и возвратит потом.



Отредактировано py.user.next (Сен. 2, 2018 03:06:04)

Офлайн

#4 Сен. 3, 2018 22:20:58

Vaisai
Зарегистрирован: 2013-03-09
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль распознования лиц

marvellik
py.user.next

Спасибо с этим разобрался, к сожалению совсем забыл про словари.
Сейчас пробую все эти данные записать в БД Firebird, в базе создал поле типа BLOB и хочу в него записать этот список (список получается довольно большой более 1100 элементов на одну фотку)
Пробую как написано в инструкции драйвера Python к Firebird, но что-то не получается, даже с маленький списком из 5 элементов.
 test_list = [1, 2, 3, 4, 5]
cur.execute("insert into PERSON (FACE_REC_IMAGE) values (?);", (test_list))
     total_size = len(value)
TypeError: object of type 'int' has no len()

Пробовал указать в какую именно строчку надо записывать, что собственно мне и нужно:
 cur.execute("insert into PERSON (FACE_REC_IMAGE) values (?) WHERE ID=1;", (test_list))
 fdb.fbcore.DatabaseError: ('Error while preparing SQL statement:\n- SQLCODE: -104\n- Dynamic SQL Error\n- SQL error code = -104\n- Token unknown - line 1, column 47\n- WHERE', -104, 335544569)

Офлайн

#5 Сен. 4, 2018 02:34:26

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Модуль распознования лиц

Vaisai
 cur.execute("insert into PERSON (FACE_REC_IMAGE) values (?) WHERE ID=1;", (test_list))
Выражение в скобках - это не кортеж из одного элемента, это просто скобки, которые отбрасываются.
Кортеж из одного элемента делается с запятой
 (1,)



Отредактировано py.user.next (Сен. 4, 2018 02:34:39)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version