Python Image Library:像素操作后保存的图像始终为白色

时间:2013-07-26 18:31:45

标签: python image

我有以下代码。 src_img是一个1250x1250 rgb图像。我想创建另一个平均强度的灰度图像。

from PIL import Image

img = Image.open(src_img)
width, height = img.size
avg_img = Image.new('1', img.size, 'black')

avg_pixels = avg_img.load()

for x in range(width):
    for y in range(height):
        r, g, b = img.getpixel((x, y))
        avg_pixels[x, y] = int((r + g + b) / 3.0)

avg_img.save('avg.tiff')

但是得到的avg.tiff文件是纯白色的。我可以看到avg_pixels具有必要的值,但保存的图像与那些不对应。

1 个答案:

答案 0 :(得分:4)

模式'1'是双层图像 - 意思是白色或黑色。对于灰度,您需要'L'。

avg_img = Image.new('L', img.size, 'black')