import os
import random
from PIL import Image
先引入必要的模块
file_name = os.listdir('images') # file_name是个列表,用来装images目录下的文件名
if not os.path.exists('image'):
os.mkdir('image') # 创建一个我们要存放分类好的数据文件夹
s = ['train','val']
for j in s:
for i in file_name:
os.makedirs('image/{0}/{1}'.format(j,i)) # 将每个分类好的数据文件夹的文件夹名创建到我们要存放的数据的文件夹中
for i in file_name:
print(i)
file = os.listdir('images/%s'%i)
print(len(file))
num_val = random.sample(file,100) # 随机在每个类别的样本抽取100个到验证集中
# print(num_val)
for j in file:
print(j)
if j in num_val:
img = Image.open('images/{0}/{1}'.format(i,j)) # 读取图片
img.save('image/val/{0}/{1}'.format(i,j)) # 存放图片
else:
img = Image.open('images/{0}/{1}'.format(i,j))
img.save('image/train/{0}/{1}'.format(i,j))