背景:深度学习数据扩充,遍历文件夹中的图片进行重命名,经过对图片一系列处理后保存到另一个文件夹。在此处我们主要使用PIL库进行图像的处理。将代码整合封装成类,参考一些博客在后文说明。
数据增强包括:旋转,镜像,对比度,亮度,平移,锐度,模糊,裁剪,缩放等等。
此处我们使用的方法包括180°旋转,水平镜像,对比度增强20倍,高斯模糊,裁剪共6种方法。大家可以根据自己需要添加删除。
PIL(Python Image Library)是python的第三方图像处理库,可以通过pip进行安装使用,PIL库支持图像存储,显示和处理,能够处理几乎所有的图片格式,包括21个与图片相关的类。此处重点使用Image类、ImageEnhance类、ImageFilter类。
先贴代码再说明
from PIL import Image, ImageFilter, ImageEnhance
import os
class Batchpicture():
def __init__(self, file_path, save_path): #file_path是图片所在路径,save_path为图片另存为路径
self.file_path = file_path
self.save_path = save_path
def rename_picture(self):
filelist = os.listdir(self.file_path) #列举目录下的所有文件。返回的是列表类型。
total_num = len(filelist) #得到文件夹下文件总数量
i = 0
for item in