问题描述
我正在尝试使用 PIL 检查图像是否透明。
image = Image.open(file).convert('RGBA')
alpha = image.split()[-1]
这给出了这样的值
<PIL.Image.Image image mode=L size=714x303 at 0x25EB0EBC040>
如何将其转换为透明度值?或者这是通过将图像转换为 RGBA 来找到图像透明度的正确方法吗?
解决方法
image.getextrema()
给出最小/最大范围为每个信道,因此你可以用它来检查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