gpt4 book ai didi

python - 如何使用 PIL 获取 PNG 图像的 alpha 值?

转载 作者:IT老高 更新时间:2023-10-28 20:36:22 26 4
gpt4 key购买 nike

如何使用 PIL 检测 PNG 图像是否具有透明的 alpha channel ?

img = Image.open('example.png', 'r')
has_alpha = img.mode == 'RGBA'

通过上面的代码,我们知道PNG图像是否有alpha channel 不是不知道,而是如何获取alpha值?

PIL's website 所述,我没有在 img.info 字典中找到“透明度”键。

我使用的是 Ubuntu 和 zlib1g,zlibc 包已经安装。

最佳答案

要获得 RGBA 图像的 alpha 层,您需要做的就是:

red, green, blue, alpha = img.split()

alpha = img.split()[-1]

还有一种设置alpha层的方法:

img.putalpha(alpha)

透明度键仅用于定义调色板模式(P)中的透明度索引。如果您还想涵盖调色板模式透明案例并涵盖所有案例,您可以这样做

if img.mode in ('RGBA', 'LA') or (img.mode == 'P' and 'transparency' in img.info):
alpha = img.convert('RGBA').split()[-1]

注意:当image.mode为LA时需要convert方法,因为PIL中的一个bug。

关于python - 如何使用 PIL 获取 PNG 图像的 alpha 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1962795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com