python - 使用 imgaug 创建和保存增强图像时遇到问题

标签 python machine-learning data-augmentation

使用 python v 3.7.3、pytorch v 0.4.1、imgaug 0.3.0、windows 10 >、Jupyter 笔记本

我正在尝试迭代多个包含图像的文件夹,将每个图像增强 6 次,然后在该文件夹内保存每个增强图像的硬拷贝。我正在使用 imgaug 库来增强图像。

我可以迭代文件夹,并使用以下代码增强和显示文件夹内的图像:

for folder in os.listdir(path):
    for i in os.listdir(path + '\\' + folder):
        img = imageio.imread(path + '\\' + folder + '\\' + i)
        print('Original:')
        ia.imshow(img)
        img_aug = seq.augment_image(img)
        print('Augmented:')
        ia.imshow(img_aug)

但是,我希望最终将每个图像增强 6 次,并为每个图像创建 6 个新的硬文件。我正在尝试使用this tutorial做出这些改变。 现在,我只是尝试保存增强图像的硬拷贝。使用此代码:

for folder in os.listdir(path):
    for i in os.listdir(path + '\\' + folder):
        img = imageio.imread(path + '\\' + folder + '\\' + i)
        print('Original:')
        ia.imshow(img)
        img_aug = seq.augment_image(img)
        print('Augmented:')
        ia.imshow(img_aug)
for im, im_aug in enumerate(img_aug):
    imageio.imwrite(os.path.join(path, path + '\\' + folder + '\\' + folder + "%06d.png" % (im)), im_aug)

虽然当我在 Jupyter 实验室中打印增强图像时,它们会正常显示,但它们会被保存为完全平坦的硬拷贝。它还保存了数百张这样的图像:

enter image description here

为什么我的图像在 Jupyter Labs 中显示正确增强,但当我尝试保存硬拷贝时却以该格式保存?

最佳答案

Answered here ,需要增加:

for folder in os.listdir(path):
    i = 0
    for fname in os.listdir(path + '\\' + folder):
        img = imageio.imread(path + '\\' + folder + '\\' + fname)
        print('Original:')
        ia.imshow(img)
        img_aug = seq.augment_image(img)
        print('Augmented:')
        ia.imshow(img_aug)

        imageio.imwrite(os.path.join(path, path + '\\' + folder + '\\' + folder + "%06d.png" % (i,)), img_aug)
        i += 1

关于python - 使用 imgaug 创建和保存增强图像时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59688631/

相关文章:

opencv - python : time stretch wave files - comparison between three methods

python - 使用 Fastkml 读取 KML 文件

Python 没有正确排序 unicode。 Strcoll 没有帮助

python-3.x - 使用predict_generator时如何返回项目的真实标签?

python - 如何在 tensorflow 中随机旋转不同角度的图像

python-3.x - 如何通过数据增强来增加图像数量

python - "frozen dict"是什么?

python - 在 python shell 中运行一个基本的数字时钟

python - 具有不平衡类的 k 折分层交叉验证

python-3.x - 在 Kaggle 上提交