как переместить настройку cmap.set_bad в PIL - PullRequest
0 голосов
/ 19 февраля 2019

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

from PIL import Image

import matplotlib.cm as cm

current_cmap = cm.YlGn

current_cmap.set_bad(color = 'red')

Затем у меня есть массив numpy (изображение) для отображения, и я перехожу к PIL с этим:

img = Image.fromarray(np.uint8(current_cmap(data)*255))

img.show()

Изображение имеет правильную цветовую карту, но значения узлов по-прежнему с настройкой по умолчанию, а не той, которую я выбрал в начале.Как это можно изменить в PIL?

Я прилагаю два изображения, чтобы объяснить мой вопрос:

enter image description here

это карта, полученнаяс помощью matplotlib я установил нодату красным цветом

А теперь другой, полученный с помощью PIL, с той же картой цветов:

enter image description here

_Ясно, что там, где я выбрал красный цвет, цветовая карта в этом случае сохранила белый цвет.Я не знаю, почему мои настройки не работают для него

...