我试图看到使用ImageDataGenerator进行数据增强的结果。Keras读取数据,但它似乎不对数据执行任何生成。我得到输出:
发现32幅图像,分属于1类。
但是在我在save_to_dir参数flow_from_directory方法中提到的目录中没有保存生成的图像。
这里我的代码:
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from keras import backend as K
K.set_image_dim_ordering('th')
#the path of images to apply augmentation on them
images_path='train'
#create an instance of ImageDataGenerator
datagen = ImageDataGenerator(width_shift_range=0.2,
height_shift_range=0.2)
datagen.flow_from_directory(directory=images_path, target_size=(480,752),color_mode='grayscale', class_mode=None, save_to_dir='saved',save_prefix='keras_')
img = load_img('train/images/photon10.png')
x = img_to_array(img)
x = x.reshape((1,) + x.shape)
datagen.flow(x,batch_size=1,save_to_dir='saved',save_format='png')
我甚至试图在一幅图像上进行增强,但它没有被保存下来。
可能是什么原因?我是凯拉斯的新手。
注意:类模式为None,因为我没有特定的类别。
发布于 2017-09-24 18:23:06
flow_from_directory()
返回一个DirectoryIterator
。除非您在此迭代器上迭代,否则不会保存这些文件。
例如,
iterator = datagen.flow_from_directory(...)
next(iterator)
将一批增强图像保存到save_to_dir
。您还可以在迭代器上使用for循环来控制生成多少图像。
发布于 2020-05-12 12:11:18
它只是一个声明,您必须使用该生成器,例如,.next()
datagen.next()
然后您将在saved
中看到图像
https://stackoverflow.com/questions/46391810
复制相似问题