有时getdata()会返回一个包含四个值的元组,有时会返回一个只有三个元组的元组。为什么呢?
from PIL import Image
im = Image.open(some_image)
assert(len(im.getdata()[0]) == 4)
答案 0 :(得分:1)
如果图像处于RGB模式,则前三个值是图像的“R”,“G”和“B”值。如果它处于RGBA模式,则第四个值是alpha值。您可以通过以下方式检查图像的模式:
im.mode
您可以使用.convert切换图像的模式。例如:
im.covert("RGBA")
这会将图像模式更改为RGBA。有关PIL支持的不同模式的更多信息,请查看模式部分here。