Skip to content
Меню
ЗВЁЗДНЫЕ ВОЙНЫ ЭНЦИКЛОПЕДИЯ РОЛЕВОЙ ИГРЫ
  • Рисование
  • Советы начинающим
  • Как рисовать
  • Карандашом
  • Поэтапно
  • Уроки
ЗВЁЗДНЫЕ ВОЙНЫ
Главная » Разное » Картинки по клеточкам в блокноте: Рисунки по клеточкам маленькие для блокнота

Картинки по клеточкам в блокноте: Рисунки по клеточкам маленькие для блокнота

Posted on 23.03.202313.03.2023

Содержание

  • python — Как отобразить несколько изображений из одной ячейки в блокноте Jupyter
      • Зарегистрируйтесь или войдите в систему
      • Опубликовать как гость
      • Опубликовать как гость
  • python — AWS SageMaker Jupyter Notebook: изображения не отображаются

python — Как отобразить несколько изображений из одной ячейки в блокноте Jupyter

спросил 2 года, 1 месяц назад

Изменено 2 года, 1 месяц назад

Просмотрено 2к раз

Я пытаюсь отобразить серию изображений в ячейке блокнота Jupyter. Код выглядит так:

 из pyplot импорта matplotlib
имена_файлов = ['а', 'б', 'с']
для имени в именах файлов:
  изображение = cv2.imread(имя)
  pyplot.imshow (изображение)
 

Но то, что я получаю в этой ячейке блокнота, это только последнее отображаемое изображение, а не каждое из трех. Если я удаляю цикл и отображаю каждое изображение в отдельной ячейке, я вижу все изображения. Есть ли применение imshow мне не хватает?

  • питон
  • matplotlib
  • jupyter-ноутбук

2

Функция pyplot. imshow записывает в буфер только изображение, которое будет отображаться/сохраняться/и т. д. в последующих действиях (именно так вы можете использовать pyplot.title , pyplot.xlim и другие команды в последовательность, а затем иметь только один сюжет в конце всех из них).

Причина, по которой в Jupyter отображается изображение, заключается в том, что это последняя строка кода, выполняемая в ячейке, и Jupyter всегда пытается отобразить последний элемент, который он видит, если это поведение не отключено (обратите внимание, что pyplot.imshow фактически возвращает объект изображения, который можно отобразить — у Jupyter есть логика, которая пытается это сделать).

Если вы действительно просто хотите отображать эти элементы в цикле (в отличие от использования подграфиков или какого-либо другого способа построения составного изображения), вам нужно добавить дополнительную команду

pyplot.show() :

 из matplotlib импортировать диаграмму
имена_файлов = ['а', 'б', 'с']
для имени в именах файлов:
  изображение = cv2. imread(имя)
  pyplot.imshow (изображение)
  pyplot.show ()
 

0

Вы также можете использовать подграфики для построения изображений, что позволяет, например, выровнять их по горизонтали:

 из matplotlib import pyplot
имена_файлов = ['а', 'б', 'с']
# создать экземпляры подзаговоров
рис, оси = pyplot.subplots(1,3, figsize=(12,4))
для имени, топор в zip(file_names, axes.ravel()):
  изображение = cv2.imread(имя)
  # поместите изображение в подзаголовок
  ax.imshow (изображение [:,:,::-1])
 

Обратите внимание, что cv2 будет читать изображения в BGR , в то время как pyplot

предполагает RGB , поэтому ::-1 .

1

Просто используйте pyplot.show() в цикле.

Если вы хотите сохранить каждый график отдельно, просто добавьте plt.clf() сразу после запуска цикла и добавьте что-то вроде _%d в имя изображения, чтобы просмотреть все изображения в цикле и сохранить их.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

python — AWS SageMaker Jupyter Notebook: изображения не отображаются

В настоящее время я пытаюсь отобразить некоторые изображения с помощью AWS SageMaker, используя приложение Jupyter Notebook. Однако все, что я пытаюсь сделать, это показать загруженные изображения. Я написал функцию для этого, но все, что у меня осталось, это индекс изображений и имя изображения при вызове функции.

Функция:

 импортировать глобус
импортировать случайный
импортировать matplotlib.pyplot как plt
def get_random_image (каталог, условие):
    заполнитель = ''
    
    если условие == 'n':
        заполнитель = "НОРМАЛЬНЫЙ"
    Элиф условие == 'р':
        заполнитель = 'ПНЕВМОНИЯ'
    еще:
        поднять исключение ("Извините, недопустимое условие")
        
    #папка для просмотра изображений
    папка = f"./data/chest_xray/{dir}/{placeholder}/*.jpeg"
    img_paths = glob.glob(папка)
    #папки имеют разное количество изображений в них
    max_length = длина (img_paths)
    randomNumber = random.randint(0, max_length)
    
    для индекса, элемент в перечислении (img_paths, start = 1):
    
        если индекс == случайное число:
            #распечатать путь к изображению
            печать (индекс, элемент)
            #изображение из папки
            изображение = plt.
imread (элемент) readyImage = plt.imshow(изображение) вернуть готовое изображение

Вызов функции:

 get_random_image("train", "p")
 

Пример результата:

 2078 ./data/chest_xray/train/PNEUMONIA/person522_virus_1041.jpeg

 

Я делал разные вещи от входа/выхода из системы до перезапуска ядра; только один вариант и это python 3 .

  • Python
  • Jupyter-ноутбук
  • Amazon-Sagemaker

2

Вы должны добавить строку в первую ячейку (или перед первым вызовом plt.show()) блокнота:

 %matplotlib встроенный
 

Это волшебная функция в IPython.

Согласно документации:

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

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рубрики

  • Для начинающих
  • Как рисовать
  • Карандаш
  • Поэтапно
  • Разное
  • Советы
  • Срисовка
  • Уроки
2025 © Все права защищены.