PIL,im.getdata()返回不同大小的元组

时间:2012-03-21 18:15:13

标签: python-imaging-library

有时getdata()会返回一个包含四个值的元组,有时会返回一个只有三个元组的元组。为什么呢?

from PIL import Image
im = Image.open(some_image)
assert(len(im.getdata()[0]) == 4)

1 个答案:

答案 0 :(得分:1)

如果图像处于RGB模式,则前三个值是图像的“R”,“G”和“B”值。如果它处于RGBA模式,则第四个值是alpha值。您可以通过以下方式检查图像的模式:

im.mode

您可以使用.convert切换图像的模式。例如:

im.covert("RGBA")

这会将图像模式更改为RGBA。有关PIL支持的不同模式的更多信息,请查看模式部分here