我在这里提供了一个我正在做的例子。我需要创建一个包含 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 获得,具有相同的颜色图:
_很明显,在我选择红色的地方,这种情况下的颜色图一直保持白色。我不知道为什么我的设置不起作用