PIL转换图像的色调,然后在Python中保存

时间:2011-02-14 14:05:05

标签: python python-imaging-library

我正在使用PIL加载和保存图像就好但我似乎无法改变给定图像的“整体”色调〜谷歌和这里显示了一个答案,有点,与numpy模块,但那是不是我的选择

应该很简单,给定带有alpha的灰色图像,我想让它变成红色

1 个答案:

答案 0 :(得分:6)

我想你想要一个单色调的图像。这是真的吗?

目前尚不清楚您想要对现有乐队(alpha和灰度/等级)做些什么。您是否希望alpha保持alpha并且灰度变为红色饱和度?你想让alpha成为你的红色饱和吗?您是否希望灰度图像亮度和alpha变为饱和度?

修改 我已根据您的评论更改了输出。您希望灰度带的最暗色调表示完全饱和的红色,最亮的灰色表示白色(换句话说,所有颜色都完全饱和)。您还表示您希望alpha在输出中保留为alpha。我也做了那个改变。

这可以通过一些频段交换来实现:

import Image
# get an image that is greyscale with alpha
i = Image.open('hsvwheel.png').convert('LA')
# get the two bands
L,A = i.split()
# a fully saturated band 
S, = Image.new('L', i.size, 255).split()
# re-combine the bands
# this keeps tha alpha channel in the new image
i2 = Image.merge('RGBA', (S,L,L,A))  
# save
i2.save('test.png')