Как я могу динамически вызывать имена известных лиц с face_recognition - PullRequest
0 голосов
/ 03 ноября 2018

Я использую face_recognition в качестве пакета fr в python. Я загружаю изображения из папки, используя пакет glob.

all_images = glob.glob('images/*.jpg')

И здесь я сокращаю его только до имен, а не всего пути.

for_images = ""

for images in all_images:
    images = images[7:-4]
    images = f'''"{images}",
'''
    for_images += images


for_images = for_images[:-2]
print(for_images)

Здесь я загружаю изображения одно за другим с пакетом face_recogniton как fr:

image           = fr.load_image_file("images/Asad.jpg")
face_encoding   = fr.face_encodings(image)[0]

asad_image = fr.load_image_file("images/Farhan.jpg")
asad_face_encoding = fr.face_encodings(asad_image)[0]

image_r           = fr.load_image_file("images/Kashif.jpg")
face_encoding_r   = fr.face_encodings(image_r)[0]

k_image = fr.load_image_file("images/Rameez.jpg")
k_face_encoding = fr.face_encodings(k_image)[0]

r_image           = fr.load_image_file("images/Rizwan.jpg")
r_face_encoding   = fr.face_encodings(r_image)[0]

# Create arrays of known face encodings and their names
known_face_encodings = [
    face_encoding,
    asad_face_encoding,
    face_encoding_r,
    k_face_encoding,
    r_face_encoding
]

Я давал им жестко запрограммированные имена, например:

known_face_names = [
    "Asad",
    "Farhan",
    "Kashif",
    "Rameez",
    "Rizwan"
]

Но сейчас я передаю это динамически:

known_face_names = [
    for_images
]

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

1 Ответ

0 голосов
/ 05 ноября 2018

Если вы сокращаете его только до точного имени файла, а не всего пути, вы должны сделать это так:

for_names = ""

for names in all_images:
    names = names[7:-4]
    names = f'{names},'
    for_names += names

for_names = for_names.split(',')

И так как это теперь элемент списка, и когда он динамически определяется для известных_лиц-имен, это должно быть сделано так:

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