数据集下载
网盘链接
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()