【发布时间】:2019-12-26 15:38:30
【问题描述】:
我编写了用于数据增强和仅保存图像的代码。尚未创建模型。我计划先创建增强图像,然后再训练我的模型。问题是并非所有图像都被用于增强和保存。
我有 275 张图像,范围为 50,这意味着应该创建总共 13750 张图像,但是我只从增强中获得了大约 7500 张图像。我尝试调试并发现在读取图像以及增强图像方面没有问题,而是在.跟随方法不保存图像。当save_format 参数被选为 jpeg 时,情况会变得更糟。我想知道为什么会发生这种情况,更重要的是是否有解决方案或解决这个问题。(注意:-我只是这个领域的初学者)。
import cv2
import glob
import keras
import numpy as np
import matplotlib.pyplot as plt
from keras.preprocessing.image import ImageDataGenerator
types=('*.png','*.jpg','*.jpeg','*.jfif','*.bmp')
path2="C:\\Users\\Cato\\Desktop\\BE project\\Augmented data\\hugging"
#path2="C:\\Users\\Cato\\Desktop\\output"
datagen=ImageDataGenerator(rotation_range=40,width_shift_range=0.27,height_shift_range=0.27,zoom_range=[0.9,1.5],brightness_range=[0.3,1.0],horizontal_flip=True,vertical_flip=False)
i=0;
for files in types:
path1="C:\\Users\\Cato\\Desktop\\BE project\\Augmented data\\grayscale\\hugging\\"+str(files)
#path1="C:\\Users\\Cato\\Desktop\\input\\"+str(files)
i=i+1;
for file in glob.glob(path1):
i=i+1;
image = np.expand_dims(cv2.imread(file), 0)
datagen.fit(image)
for x,val in zip(datagen.flow(image,save_to_dir=path2),range(50)):
pass
print("Augmentation completed")
【问题讨论】:
-
我想你想使用
flow_from_directory,不是吗?顺便说一句,您不需要保存增强。您应该直接在model.fit_generator(datagen.flow_from_directory(...), ...)上使用它们 -
我尝试使用 flow_from_directory 技术仍然显示相同的问题,因为它生成的图像更少。另外我知道我们可以在运行时使用增强,但我希望首先单独使用图像。
-
我已经解决了这个问题。您使用 flow_from_directory 是对的。非常感谢!
-
我该如何结束这个问题??
标签: opencv tensorflow machine-learning keras computer-vision