CelebA数据集下载和处理,同一个标签的人脸图像放在一个文件夹下

数据集下载

网盘链接
在这里插入图片描述Eval和Anno文件夹下的文件都下载下来,Img下只下载img_align_celeba.zip就好。
然后解压img_align_celeba.zip

将同一个人的图片放在一个文件夹里

Anno/identity_CelebA.txt是每个图片对应标签
如下新建一个Python文件movepic2dir,然后运行
在这里插入图片描述

#引入相关库

import pandas as pd
import os
import shutil #用于移动文件
import numpy as np
import cv2
from os import listdir, mkdir
from os.path import isfile, join, isdir
import dlib
from PIL import Image
import argparse

def pickSamePerson2Dir():

    with open('Anno/identity_CelebA.txt', 'r') as f:
        lines = f.readlines()
        inde = []
        paths = []
        for i in lines:
            i = i.strip('\n')
            item = i.split(" ")
            paths.append(item[0])
            inde.append(item[1])
				# 可以改成你想要的地址
        if os.path.isdir('Img/celeba') == False:
            os.mkdir('Img/celeba')
        imgnum=len(paths)
        for i in range(imgnum):
            indei=int(inde[i])-1
            if os.path.isdir('Img/celeba/'+str(indei)) == False:
                os.mkdir('Img/celeba/'+str(indei))
                print('Img/celeba/'+str(indei))


            shutil.move('Img/img_align_celeba/'+paths[i], 'Img/celeba/'+str(indei))
            print(i,paths[i],str(indei),"done")
           

if __name__ == "__main__":
    pickSamePerson2Dir()

猜你喜欢

转载自blog.csdn.net/weixin_45184581/article/details/130489485