Как использовать imsave для сохранения изображений с измененным размером в Python?

#python #jupyter

#python #jupyter

Вопрос:

Я пытаюсь следовать коду машинного обучения коду и не уверен, почему я получаю FileNotFoundError: [Errno 2] No such file or directory: 'new_imgs/0.png' при попытке изменить изображения. При проверке моих папок я вижу lfw.gz файл и каталог со всеми изображениями. Нужно ли мне в этом случае создавать новую папку и указывать этот путь = в пути к файлам, чтобы сохранить изображения, размер которых изменяется? Это часть кода, которая вызывает ошибку. Любой совет был бы отличным!

 url = "http://vis-www.cs.umass.edu/lfw/lfw.tgz"
filename = "lfw.tgz"
directory = "imgs"
new_dir = "new_imgs"
import urllib
import tarfile
import os
import tarfile
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.image import imread
from scipy.misc import imresize, imsave
import tensorflow as tf
%matplotlib inline


if not os.path.isdir(directory):
    if not os.path.isfile(filename):
        urllib.urlretrieve (url, filename)
    tar = tarfile.open(filename, "r:gz")
    tar.extractall(path=directory)
    tar.close()



filepaths = []
for dir_, _, files in os.walk(directory):
    for fileName in files:
        relDir = os.path.relpath(dir_, directory)
        relFile = os.path.join(relDir, fileName)
        filepaths.append(directory   "/"   relFile)

for i, fp in enumerate(filepaths):
    img = imread(fp) #/ 255.0
    img = imresize(img, (40, 40))
    imsave(new_dir   "/"   str(i)   ".png", img)
  

Комментарии:

1. Ошибка показывает, что вы пытаетесь сохранить 'new_imgs/0.png' . Вы создали папку new_imgs/ ? Сохранение НЕ создаст его. Или, может быть, использовать префикс вместо папки — ie. 'new_imgs-0.png'

2. @furas Я не создавал папку, но сейчас создам ее и протестирую!

3. Решена проблема! Спасибо