Загрузка нескольких изображений из нескольких папок в Python - PullRequest
0 голосов
/ 13 ноября 2018

Я довольно новичок в stackoverflow, а также в Python. Я пытаюсь прочитать несколько изображений из нескольких папок, чтобы обработать их в NumPy.

Я пытался сделать это: (ниже кода)

import os 
import numpy as np
import matplotlib.pyplot

path = "../Desktop/folder"

for root, dir, files in os.walk(path):

   for name in files:
      if name.endswith(".png"):
          print(name)
      else:
          print("Nothing Found")

Код работает нормально, но вывод дается в виде строки (очевидно). Я хочу сделать такую ​​же работу, но я хочу прочитать все изображение, чтобы обработать его в виде массива, а не только строки.

Я буду очень благодарен, если кто-нибудь покажет мне путь для этого.

P.S. Извините, если что-то неясно или вопрос не является прямым. Я здесь новичок и узнаю об этом.

Спасибо.

1 Ответ

0 голосов
/ 13 ноября 2018

Вы почти у цели!После того как вы нашли каждый файл изображения по расширению, вам необходимо восстановить полный путь.А затем загрузите изображение в массив Numpy.К счастью, функция чтения изображений matplotlib возвращает массив numpy!

import os
import numpy as np
import matplotlib.pyplot as mpplot
import matplotlib.image as mpimg

images = []
path = "../path/to/img/folder/"

for root, _, files in os.walk(path):
    current_directory_path = os.path.abspath(root)
    for f in files:
        name, ext = os.path.splitext(f)
        if ext == ".png":
            current_image_path = os.path.join(current_directory_path, f)
            current_image = mpimg.imread(current_image_path)
            images.append(current_image)

for img in images:
    print img.shape

Здесь вы можете увидеть код, делающий эти предложения и сохраняющий массивы в списке изображений.Затем отобразите форму массива для каждого из этих изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...