Показаны все изображения с помощью matplotlib - PullRequest
0 голосов
/ 14 ноября 2018

Я использую numpy и matplotlib для чтения всех изображений в папке для методов обработки изображений.Хотя я сделал часть чтения набора данных изображений из папок и обработал его с помощью массива numpy.Но проблема, с которой я сталкиваюсь, заключается в отображении всех изображений с помощью функции matplotlib.imshow.Каждый раз, когда я хочу показать все изображения с помощью функции imshow, к сожалению, это только дает мне первое изображение больше ничего.Мой код ниже:

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

images = []
path = "../path/to/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 == ".jpg":
   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 len(img.shape)

i = 0

for i in range(len(img.shape)):
    mpplot.imshow(img)
    mpplot.show()

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

PS Я довольно новичок в python, numpy, а также в stackoverflow.Поэтому, пожалуйста, не возражайте, если вопрос неясен или не является прямым.

Спасибо,

Ответы [ 2 ]

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

Об отображении только одного сюжета в один момент: пожалуйста, ознакомьтесь с subplots matplotlib .

Кроме того, в чем ваша проблема, что вы не перебираете изображения? Вы звоните img х-раз.

Попробуйте перебрать изображения, как показано ниже:

for img in images:
    mpplot.imshow(img)
    mpplot.show()
0 голосов
/ 14 ноября 2018

Я думаю, что вам нужно добавить mpplot.figure() перед каждым mpplot.show(), это откроет новое окно для каждого изображения.

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