首页 > 解决方案 > 如何在 keras 中对一组图像及其掩码执行数据增强?

问题描述

我想对原始图像及其分段蒙版进行增强,但我总是会遇到一些错误,例如:

  1. ValueError:使用序列设置数组元素
  2. 无法将排名第 3 的图像扩展为排名第 4 的图片

这是我的代码:

data_gen_args = dict(rotation_range=5)
image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)

seed = 1
images= []
masks= []

for image in glob.glob('../data/images/*.jpg'):
    images.append(cv.imread(image))
for image in glob.glob('../data/masks/*.jpg'):
    masks.append(cv.imread(image))

images= np.array(images)
masks= np.array(masks)

for image in images:
    image_datagen.fit(image[np.newaxis], augment=True, seed=seed)

for image in masks:
    mask_datagen.fit(image[np.newaxis], augment=True, seed=seed)

image_generator = image_datagen.flow(images, seed=seed)
mask_generator = mask_datagen.flow(masks, seed=seed)

train_generator = zip(image_generator, mask_generator)

id = 0
for images, masks in train_generator:
    for image, mask in zip(images, masks):
        cv.imwrite('../data/aug_images/images/' + str(id), image)
        cv.imwrite('../data/aug_images/masks/' + str(id), mask)
        id += 1

有人可以纠正我哪里出错了吗?谢谢你的帮助。

编辑:我有一组图像,它是蒙版。我想为他们两个获得相同的增强/转换。

标签: pythonkerasdata-augmentation

解决方案


推荐阅读