Функция Matplotlib imshow zoom?

У меня есть несколько (27) изображений, представленных в 2D-массивах, которые я просматриваю с помощью imshow (). Мне нужно приблизить то же самое место в каждом изображении. Я знаю, что могу увеличить масштаб вручную, но это утомительно и недостаточно точно. Есть ли способ программно указать конкретный раздел изображения для показа вместо всего?

2 Solutions collect form web for “Функция Matplotlib imshow zoom?”

Вы можете использовать plt.xlim и plt.ylim чтобы настроить область для построения:

 import matplotlib.pyplot as plt import numpy as np data=np.arange(9).reshape((3,3)) plt.imshow(data) plt.xlim(0.5, 1.5) plt.ylim(0.5,1.5) plt.show() 

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

Примечание: здесь «x» и «y» представляют собой визуальные x и y (соответственно горизонтальная ось и вертикальная ось на изображении), что означает, что она инвертируется по сравнению с реальными x (строка) и y (столбец) NumPy массив.

 import scipy as sp import numpy as np import matplotlib.pyplot as plt def crop(image, x1, x2, y1, y2): """ Return the cropped image at the x1, x2, y1, y2 coordinates """ if x2 == -1: x2=image.shape[1]-1 if y2 == -1: y2=image.shape[0]-1 mask = np.zeros(image.shape) mask[y1:y2+1, x1:x2+1]=1 m = mask>0 return image[m].reshape((y2+1-y1, x2+1-x1)) image = sp.lena() image_cropped = crop(image, 240, 290, 255, 272) fig = plt.figure() ax1 = fig.add_subplot(121) ax2 = fig.add_subplot(122) ax1.imshow(image) ax2.imshow(image_cropped) plt.show() 
  • Matplotlib (pyplot) savefig выводит пустое изображение
  • Стрелки стрелочки Matplotlib указывают неправильный путь
  • Сделать график рассеяния из набора точек в кортежах
  • Matplotlib: рисовать линии сетки за другими элементами графика
  • matplotlib: сделать знак плюса
  • Python Matplotlib - Настройте размеры формы с помощью Imsave
  • twiny () в matplotlib изменяет масштаб оси y
  • Как отключить тики и метки осей matlibplot?
  •  
    Interesting Posts for Van-Lav

    преобразование utf-16 -> utf-8 И удалить спецификацию

    Самый пифонический способ принятия аргументов с использованием optparse

    Заполнение кода для пользовательских модулей, не работающих с PyDev

    Pygame и blitting: белый на белом = серый?

    Определение ошибки сегментации подпроцесса python

    Urllib2 работает нормально, если я запускаю программу самостоятельно, но бросает ошибку, когда добавляю ее в cronjob

    Картографическое поведение при построении прогнозируемых данных

    Группа Pandas посредством операций с фреймом данных

    Django: Преобразование параметров запроса POST в строку запроса

    Оптимизация производительности базы данных Postgresql в Django?

    MongoDB + Python – очень медленный простой запрос

    Использование нескольких курсоров во вложенном цикле в sqlite3 из python-2.7

    Ошибки встречались при установке pyopencv 2.1.0 с opencv-2.4.2

    Выполняется ли код python в порядке

    Ядро Sqlalchemy, вставьте несколько строк из кортежа вместо dict

    Python - лучший язык программирования в мире.