有一个比较大的数据集需要自己处理,在分出训练集和测试集时,如果靠手动实在太麻烦,于是自己写了一段代码。(其实就是在某一路径下的子文件夹里取出符合要求的图片,放到另一个路径的对应文件夹中)
from PIL import Image
import os
import glob
def read_image(cwd,newpath):
for roots,dirs,files in os.walk(cwd):
print(dirs)
for i in dirs:
print(i)
os.chdir(cwd+i)
for pic in glob.glob('*.jpg'):
_,image=pic.split('_')
img=image.split('.')[0]
print(img)
if len(img)!=0:
if int(img)%2!=0:
im=Image.open(pic)
im.save(newpath+i+'/'+pic)
调用的时候直接
read_image('/media/fly/4898FC1598FC02EC/RAN/AID_dataset/AID_dataset/AID/','/media/fly/4898FC1598FC02EC/RAN/AID_dataset/AID_dataset/testing/')
这是在AID文件夹下的所有子文件夹中取出编号为奇数的图片,放到另一个路径的同名文件夹下。我的图片命名方法是Airport_1.jpg.
不一定要取出一半图片,这个可以自行修改