深度学习中彩色图片批量处理成灰度图片-by Python

时间:2024-05-19 19:43:06

在进行深度学习之前,往往需要创建一个用于训练的图片数据集,且一般要求训练集具有统一 的格式和大小。本文以批量处理大小不一 的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色彩模式的,大小也不相同。若官网下载太慢或者无法下载,可在本博客留言索取。
为方便阅读程序,本程序需要手动创建文件夹。
文件夹如下:
深度学习中彩色图片批量处理成灰度图片-by Python
flowers中的文件夹,flowers-gray下文件夹一样:
深度学习中彩色图片批量处理成灰度图片-by Python

END!