检查图像是否透明

Check if an image is transparent or not

我正在尝试使用 PIL 检查图像是否透明。

image = Image.open(file).convert('RGBA') 
alpha = image.split()[-1]

这给出了这样的值

<PIL.Image.Image image mode=L size=714x303 at 0x25EB0EBC040>

如何将其转换为透明度值?或者这是通过将图像转换为 RGBA 来找到图像透明度的正确方法吗?

image.getextrema() 给出了每个通道的 min/max 范围,因此您可以使用它来检查 alpha 通道上的范围:

image = Image.open(file).convert('RGBA') 
alpha_range = image.getextrema()[-1]

if alpha_range == (255,255):
    print("image is not transparent")

编辑:进行了快速搜索。您还可以在图像模式上添加一些检查,也可以在此处查看答案python PIL - check if image is transparent