Отображение изображения с помощью matplotlib, разрешение которого превышает разрешение экрана - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь отобразить спутниковое изображение часового-1 размером 26000 (ширина) x 17000 (высота) пикселей и использующее Python 3.5.Я могу загрузить это изображение в виде массива в виде массива и пытаюсь отобразить в matplotlib, но не могу сделать так, как это дает ошибку памяти. Разрешение экрана составляет 1600 (ширина) X 1200 (высота) пикселей. Я использую Windows 7 с8 ГБ ОЗУ.Я согласен, что он может не отображаться из-за ограничений памяти, но есть ли способ отобразить такое огромное изображение?Также я видел много программ для обработки спутниковых изображений, таких как SNAP (Sentinel Toolbox), которые могут отображать такие огромные изображения в указанном выше разрешении экрана, но не могут найти, как они это делают.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 24 сентября 2018

Пытался создать изображение с шириной и высотой, как вы указали.У меня разрешение экрана 1920 на 1080, FHD

import matplotlib
matplotlib.rcParams['figure.dpi'] = 120
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
from numpy.random import randn
fig, ax = plt.subplots()
data = np.clip(randn(26000, 17000), -1, 1)
cax = ax.imshow(data, interpolation='nearest', cmap=cm.coolwarm)

cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['< -1', '0', '> 1'])  

plt.show()

Сюжет сгенерирован, но около 7 ГБ памяти съедено питоном!

enter image description here enter image description here

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