我正在尝试使用 Wand 使用 python 进行灰度化,但是当我这样做时
from wand.image import Image
with Image(filename='image.png') as img:
img.type = 'grayscale'
img.save(filename='image_gray.png')
它将透明背景变成黑色。如果我使用白色背景的它就可以了。我做错了什么。灰度也是如此
Y = 0.2126 * RED + 0.7152 * GREEN + 0.0722 * BLUE
我可以在 Wand 中哪里手动执行此操作,比如说我是否想稍微更改一下值。我查看了文档和各种论坛,但找不到任何答案,只有 Photoshop 的东西。
谢谢!
最佳答案
设置为灰度的 PNG 图像类型会删除透明层(请参阅 PNG docs )。一种选择是在设置灰度后启用 Alpha channel 。
img.alpha = True
# or
img.background_color = Color('transparent')
这可能不起作用,具体取决于您使用的版本。
另一种选择
使用 Image.modulate 更改颜色饱和度.
img.modulate(saturation=0.0)
另一种选择
改变色彩空间。
img.colorspace = 'gray'
# or
img.colorspace = 'rec709luma'
# or
img.colorspace = 'rec601luma'
另一种选择
如果您的版本有Image.fx
。以下内容可以工作
with img.fx('lightness') as gray_copy:
....
关于python - 魔杖将透明背景变成黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753580/