如何使用Keras执行离线图像增强?

时间:2019-07-17 04:07:33

标签: python image-processing keras deep-learning data-processing

我想对数据集中的不同图像类别进行离线图像增强,然后在开始创建模型之前将图像保存到其中一个文件夹中。

使用具有ImageDataGenerator - flow_from_directory()的Keras save_to_dir并将其值设置到我的目标文件夹中

datagen = ImageDataGenerator(
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True)

datagen_set = datagen.flow_from_directory(
        'C:/Users/...',
        target_size=(64, 64),
        batch_size=32,
        classes = ['class_A'],
        save_to_dir = 'C:/Users/.../AugImages',
        save_prefix = 'class_A',
        save_format = 'jpg')

我是否必须创建模型并使用其fit_generator/fit方法?在创建模型之前,还有其他方法可以执行离线图像增强吗?

1 个答案:

答案 0 :(得分:0)

如果要保存增强图像,则需要定义一个模型并使用fit/fit_generator。请注意,datagen_set是迭代器,因此您可以使用next方法从迭代器获取值。

for i in range(no_iter):
    image, label = next(datagen_set)

以上代码会将batch_size*no_iter个图像保存到save_to_dir中。