在进行深度学习之前,往往需要创建一个用于训练的图片数据集,且一般要求训练集具有统一 的格式和大小。本文以批量处理大小不一 的jpg图片为例,介绍批量处理的一些问题。方法仅供参考。
程序如下:
###本程序用于将.jpg格式的图片批量转化为.npg灰度图像
import os
from PIL import Image
infile = './flowers/'
outfile = './flowers-gray/'
folddirs = os.listdir(infile)
filecount = 0
for foldername in folddirs:
filepath = infile+ foldername
filedirs = os.listdir(filepath)
img_num = int(len(filedirs))
for filename in filedirs:
img_path = filepath + '/' + filename
img = Image.open(img_path).convert('L')
out = img.resize((64,64),Image.ANTIALIAS)
filecount = filecount + 1
print(filecount)
newfilename = outfile + foldername + '/' + foldername + str('_')+str(filecount) + '.png'
out.save(newfilename)
特别说明:
infile = './flowers/' #用于存储原始图片
outfile = './flowers-gray/' #用于存储灰度图片
本文数据下载地址:
http://download.tensorflow.org/example_images/flower_photos.tgz
解压后的文件夹包含了5个子文件夹,每一个子文件夹的名称为一种花的名称,代表了不同的类别,每种花大概有几百张图片,每一张图片都是RGB色彩模式的,大小也不相同。若官网下载太慢或者无法下载,可在本博客留言索取。
为方便阅读程序,本程序需要手动创建文件夹。
文件夹如下:
flowers中的文件夹,flowers-gray下文件夹一样:
END!