0

我在这里提供了一个我正在做的例子。我需要创建一个包含 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()

图像带有正确的颜色图,但 nodata 值仍然是默认设置,而不是我一开始选择的那个。如何在 PIL 中修改它?

我在这里附上两张图片来解释我的问题:

在此处输入图像描述

这是使用 matplotlib 获得的地图,我已将 nodata 设置为红色

现在另一个通过 PIL 获得,具有相同的颜色图:

在此处输入图像描述

_很明显,在我选择红色的地方,这种情况下的颜色图一直保持白色。我不知道为什么我的设置不起作用

4

0 回答 0