我有一个简单的问题,但我找不到解决它的好办法
我想获取一个表示灰度图像的NumPy 2D数组,并在应用一些matplotlib颜色贴图时将其转换为RGB PIL图像
我可以使用pyplot.figure.figimage
命令获得合理的PNG输出:
dpi = 100.0
w, h = myarray.shape[1]/dpi, myarray.shape[0]/dpi
fig = plt.figure(figsize=(w,h), dpi=dpi)
fig.figimage(sub, cmap=cm.gist_earth)
plt.savefig('out.png')
虽然我可以调整它以获得我想要的(可能使用StringIO获得PIL图像),但我想知道是否有更简单的方法来实现这一点,因为这似乎是图像可视化的一个非常自然的问题。比如说,类似这样的事情:
colored_PIL_image = magic_function(array, cmap)
即使在应用了评论中提到的更改后,接受答案中描述的方法对我也不起作用。但是下面的简单代码起作用了:
np_数组可以是一个2D数组,其值为0..1浮动o2 0..255 uint8,在这种情况下,它需要cmap。对于三维阵列,将忽略cmap
这是一艘很繁忙的单程邮轮,但在这里:
myarray
在1.0
处使用最大值进行归一化李>myarray
李>0-255
范围李>np.uint8()
转换为整数李>Image.fromarray()
李>你完成了:
与
plt.savefig()
一起:与
im.save()
一起:Image.fromarray->;返回图像对象
相关问题 更多 >
编程相关推荐