从一个文件夹中读取多个jpg文件3000及其文件名到我的代码中

问题描述

我如何将以下代码转换为实际的工作,而该工作是从许多具有文件名的jpg文件的目录中进行的,如下面的代码中称为“已知的面孔名称”一样?目前,以下代码可用于两张人脸图像,但我无法对3000张人脸图像重复这些行。

# Load a sample picture and learn how to recognize it.

sai_image = face_recognition.load_image_file("sai.jpg")

sai_face_encoding = face_recognition.face_encodings(sai_image)[0]


# Load a second sample picture and learn how to recognize it.

robert_image = face_recognition.load_image_file("robert.jpeg")

robert_face_encoding = face_recognition.face_encodings(robert_image)[0]

# Create arrays of kNown face encodings and their names

kNown_face_encodings = [

sai_face_encoding,robert_face_encoding

]

kNown_face_names = [

"SAI MULPURU","ROBERT DE NIRO"

]

解决方法

据我了解,您希望从具有循环的目录中读取3000张图像。

import os
path_Folder = r'C:\\Users\\write_your_foldername'
filenames = os.listdir(path_Folder)
for filename in filenames:
   nameList.append(filename)
basename = os.path.basename(file)
for eachimage in nameList: 
   sai_image = face_recognition.load_image_file(eachimage)
   sai_face_encoding = face_recognition.face_encodings(sai_image)[0]

首先读取目录中的所有文件名。然后将它们附加在nameList中。稍后使用该列表一个一个地获取名称并加载图像文件。