проблема создания и сохранения дополненных изображений с помощью imgaug - PullRequest
0 голосов
/ 10 января 2020

Использование python v 3.7.3, pytorch v 0.4.1, imgaug 0.3.0, windows 10, Jupyter Notebook

Я пытаюсь перебрать несколько папок с изображениями, увеличить каждое изображение 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 новых жестких файлов для каждого изображения. Я пытаюсь использовать этот учебник для внесения этих изменений. Прямо сейчас я просто пытаюсь сделать шаг, чтобы сохранить печатную копию дополненных изображений. Используя этот код:

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, но будет сохранено в этом формате при попытке сохранить печатную копию?

1 Ответ

0 голосов
/ 11 января 2020

Ответили здесь , необходимо увеличить:

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
...