如何检测文件夹中的多张图像

时间:2019-09-03 04:20:08

标签: python python-3.x

我想对许多人脸图像进行排序以制作出良好的人脸图像数据。因此,我希望图像数据中的一幅图像中没有模糊,没有多张面孔。

我已经尝试了代码,但是我的代码只能一次检查单个图像

image = face_recognition.load_image_file("./pictures/image.jpg")
face_locations = face_recognition.face_locations(image)
print(face_locations)

是否有任何代码可以使我的代码一次检测到多个图像?我将不胜感激。预先感谢!

2 个答案:

答案 0 :(得分:0)

face_recognition中没有API调用,可以按时加载多个图像。
该页面的API文档位于readthedocs

所以我认为您必须从目录中加载图像列表,然后在循环中使用它来获取图像对象。

这是一个很棒的SO线程,回答如何使用Python从目录中加载文件列表:Find all files in a directory with extension .txt in Python

答案 1 :(得分:0)

我不知道您使用的是哪个框架或库,您也不具体。 如标签所示,我将以pythonic方式进行操作。

遍历当前目录并按扩展名查找和过滤文件。

import os

def getfiles():
    for root, dirs, files in os.walk("."):
        for name in files:
            yield os.path.join(root, name)

files = filter(lambda image: (image[-3:] == '.jpg' or image[-3:] == '.png'), getfiles())

# now you can loop your image detection api call.
for file in files
    image = face_recognition.load_image_file(file)
    face_locations = face_recognition.face_locations(image)
    print(face_locations)