from keras.preprocessing.image import ImageDataGenerator
import numpy as np
import matplotlib.pyplot as plt
train_datagen = ImageDataGenerator(rescale=1./255, # 像素点255,范围(0,1);
rotation_range=20, # 随机旋转角度范围在(-20,20);
width_shift_range=0.1, # 水平位移(-0.1,0.1),提高数据鲁棒性,如大于1,表示像素值;
height_shift_range=0.1, # 上下位移(-0.1,0.1),如大于1,表示像素值;
shear_range=0.1, # 裁剪程度;
zoom_range=0.1, # 缩放程度;
channel_shift_range=10, # 通道随机偏移的最大幅度;
horizontal_flip=True, # 随机做水平翻转;
fill_mode='nearest') # 填充像素,离他最近的真实像素点进行填充;
# train_datagen = ImageDataGenerator(rotation_range=5,
# width_shift_range=0.05,
# height_shift_range=0.05,
# shear_range=0.05,
# zoom_range=0.05,
# channel_shift_range=1,
# horizontal_flip=True,
# fill_mode='nearest')
test_datagen = ImageDataGenerator(rescale=1. / 255)
train_generator = train_datagen.flow_from_directory(
"./Add/ReadyAug", # 待增强图像路径(在ReadyAug后一路径下还应设置一层NG文件夹--存放待处理的图像); # "D:\\skq\\DeepLearning\\JSHA\\NO15_copy\\Add\\ReadyAug\\NG", # 待增强图像;
target_size=(300, 300),
save_format="jpg",
batch_size=1,
class_mode='binary',
save_to_dir="./Add/Train_NG_AUG", # 增强后图像路径; # "D:\\skq\\DeepLearning\\JSHA\\NO15_copy\\Add\\Data_Augmentation"
save_prefix="NG_Aug")
count_limt = 357 # count_limt * batch_size
count = 0
for x_batch, y_batch in train_generator:
print(F"------------第{count}次增强-----------------------------")
count += 1
# plt.savefig("D:\\skq\\DeepLearning\\JSHA\\NO15_copy\\Add\\Data_Augmentation\\ToothPaste" + str(count) + ".jpg", format="jpg")
# plt.show()
if count > count_limt:
# plt.savefig("data_iter_time/iter_time_" + str(count) + ".png", format="jpg")
break
print("finished!!!")
利用python对文件夹中所有图像进行批量增强处理并保存结果
最新推荐文章于 2023-10-12 20:48:02 发布