问题描述
我如何将以下代码转换为实际的工作,而该工作是从许多具有文件名的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中。稍后使用该列表一个一个地获取名称并加载图像文件。