Найти - Пользователи
Полная версия: Модуль распознования лиц
Начало » Python для новичков » Модуль распознования лиц
1
Vaisai
Здравствуйте! Нашел модуль для распознования лиц, очень точно и быстро распознает лица с 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"
marvellik
открываете папку считываете названия файлов в словарь в ключ заносите имя а в значения перекодированные данные
py.user.next
Vaisai
Подскажите пожалуйста, как можно сделать функцию, чтение всех .jpg из папки, имя файла присваивалось в переменную и записывалось в список с именами, чтоб не создавать для каждого человека в коде по две строчки кода?
Надо как минимум три функции сделать: одна функция должна для заданного файла возвращать пару (имя, объект); другая функция должна для заданной директории добывать имена файлов с изображениями; третья функция должна задействовать функцию добывания имён, полученные имена передавать в функцию создания пар и результат сохранять в список, который она и возвратит потом.
Vaisai
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)
py.user.next
Vaisai
 cur.execute("insert into PERSON (FACE_REC_IMAGE) values (?) WHERE ID=1;", (test_list))
Выражение в скобках - это не кортеж из одного элемента, это просто скобки, которые отбрасываются.
Кортеж из одного элемента делается с запятой
 (1,)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB