具体步骤

使用Python和OpenCV库

  • 首先,确保已在Mac上安装了Python和pip(Python包管理器)。安装OpenCV库。在终端中输入以下命令:

    pip3 install opencv-python
    pip3 install opencv-python-headless
    
  • 安装face_recognition库。在终端中输入以下命令:

    pip install face_recognition
    
  • 创建一个Python脚本(例如:face_classification.py)并输入以下代码:

    import face_recognition
    import cv2
    import os
    
    def classify_faces(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for image_name in os.listdir(input_folder):
        image_path = os.path.join(input_folder, image_name)
        image = face_recognition.load_image_file(image_path)
        face_locations = face_recognition.face_locations(image)
    
        for face_index, face_location in enumerate(face_locations):
            top, right, bottom, left = face_location
            face_image = image[top:bottom, left:right]
            face_image = cv2.cvtColor(face_image, cv2.COLOR_RGB2BGR)
    
            face_folder = os.path.join(output_folder, f"face_{face_index}")
            if not os.path.exists(face_folder):
                os.makedirs(face_folder)
    
            output_path = os.path.join(face_folder, image_name)
            cv2.imwrite(output_path, face_image)
    
    if __name__ == "__main__":
    input_folder = "path/to/your/input/folder"
    output_folder = "path/to/your/output/folder"
    classify_faces(input_folder, output_folder)
    

    请注意将path/to/your/input/folder和path/to/your/output/folder替换为实际的输入和输出文件夹路径

保存Python脚本,然后在终端中导航到脚本所在的文件夹。例如,如果你的脚本位于/Users/username/Documents文件夹中,可以输入以下命令:

cd /Users/username/Documents

运行Python脚本。在终端中输入以下命令:

python (脚本的绝对路径)

此脚本将遍历输入文件夹中的所有图片,识别人脸并将它们保存在输出文件夹中的对应子文件夹内。每个子文件夹都将包含一个单独的人脸,以“face_x”的形式命名,其中x是人脸的索引。

注意:这个脚本将所有相似的脸部放在同一个子文件夹中。然而,它不会根据身份对脸部进行分类。你需要在输出文件夹中手动检查并重命名子文件夹,以便根据需要对脸部进行分类

总结

  1. 安装Python和pip(Python包管理器)。
  2. 安装OpenCV库。
  3. 安装face_recognition库。
  4. 创建一个Python脚本,输入示例代码。
  5. 保存脚本并在终端中导航到脚本所在的文件夹。
  6. 运行Python脚本。

脚本将识别输入文件夹中图片的人脸并将它们按索引保存在输出文件夹中的对应子文件夹内。请注意,这个脚本并不会根据身份对人脸进行分类,你需要手动检查输出文件夹中的子文件夹并根据需要重命名它们,以便按人物对照片进行分类。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐