在Keras中使用ImageDataGenerator和flow_from_directory保存增强的图像可以通过以下步骤实现:
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import array_to_img, img_to_array, load_img
datagen = ImageDataGenerator(
rotation_range=20, # 随机旋转范围
width_shift_range=0.2, # 水平随机移动范围
height_shift_range=0.2, # 垂直随机移动范围
shear_range=0.2, # 剪切强度
zoom_range=0.2, # 随机缩放范围
horizontal_flip=True, # 随机水平翻转
fill_mode='nearest' # 填充像素模式
)
img_dir = 'path/to/images_directory'
save_dir = 'path/to/save_directory'
batch_size = 32
img_generator = datagen.flow_from_directory(
img_dir, # 图像目录路径
target_size=(224, 224), # 图像尺寸
batch_size=batch_size, # 批处理大小
class_mode='categorical', # 分类模式
save_to_dir=save_dir, # 保存增强后图像的路径
save_prefix='augmented', # 保存图像的前缀
save_format='jpg' # 保存图像的格式
)
# 保存增强后的图像
for i in range(len(img_generator)):
img, _ = img_generator[i]
for j in range(batch_size):
save_path = os.path.join(save_dir, f"augmented_{i*batch_size + j}.jpg")
img_to_array(img[j]).save(save_path)
在上述代码中,ImageDataGenerator对象被用于生成增强后的图像数据。具体的图像增强参数可以根据需求进行调整,这里只给出了一些常用的参数。使用flow_from_directory()方法加载目录下的图像数据,并通过设置save_to_dir参数来保存增强后的图像。在保存图像时,可以使用img_to_array()和save()函数将图像保存为文件。
这里没有提及腾讯云的相关产品,但你可以考虑将增强后的图像数据上传至腾讯云对象存储(COS)服务中进行存储和管理。具体的腾讯云COS产品介绍和使用方法可以参考腾讯云官方文档:腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云