我主要使用枕头库,但我可以使用其他东西。 我可以提取包括Alpha在内的颜色层。 我想知道是否有一种方法可以快速定义图片是否使用透明度。
pic = Image.open(path)
red, green, blue, alpha = pic.split()
有没有一种方法可以查看Alpha是否真正使用或仅由于格式支持(例如PNG)而可用
答案 0 :(得分:0)
我不了解Pillow,但是您可以使用numpy
和matplotlib.pyplot
来加载和检查图像。这些是非常普遍的python库。
您可以将图像加载到numpy
数组中,并检查最后一个轴的长度。如果是3
,则没有Alpha通道。如果是4
,则存在一个alpha通道。
import matplotlib.pyplot as plt
pic = plt.imread(path)
if pic.shape[2] == 3:
print("No alpha channel!")
if pic.shape[2] == 4:
print("There's an alpha channel!")
如果您想知道该频道是否真正被使用(如果存在),则可以检查该频道是否1
:
import numpy as np
if np.allclose(pic[:, :, 3], 1):
print("Alpha not used because 1 everywhere!")