【问题标题】:Import multiple Images导入多张图片
【发布时间】:2019-01-28 12:20:12
【问题描述】:

我想用这段代码复制我的照片:

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

datagen = ImageDataGenerator(
        rotation_range=40,
        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 = load_img('data/class1/11408_3.jpg')
x = img_to_array(img)  
x = x.reshape((1,) + x.shape)

i = 0
for batch in datagen.flow(x, batch_size=1,
                          save_to_dir='preview', save_prefix='class1', save_format='jpeg'):
    i += 1
    if i > 20:
        break 

一张图片一切正常。但是我在这条路上有很多照片。我怎样才能一张一张地得到所有的照片?

【问题讨论】:

标签: python keras imagedata


【解决方案1】:

您可以使用包含每个文件路径的字符串列表并将其放入这样的 for 循环中

filePaths = ['data/class1/11408_3.jpg', ...]
for file in filePaths:
    img = load_img(file)

【讨论】:

  • 这是一个解决方案,因为我有数百张图片,毕竟这不是一个好的选择。但感谢您的意见。
【解决方案2】:

感谢您的意见。我现在已经解决了:

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
import glob, os

datagen = ImageDataGenerator(
        rotation_range=90,
        horizontal_flip=True,
        fill_mode='nearest')

os.chdir("dir")
for file in glob.glob("*.png"):
    img = load_img(file)
    x = img_to_array(img)
    x = x.reshape((1,) + x.shape)

    i = 0
    for batch in datagen.flow(x, batch_size=1,save_to_dir='output', save_prefix='new', save_format='jpg'):
        i += 1
        if i > 20:
            break 

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 2021-03-27
    • 2019-05-24
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多