1

我有以下代码。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 具有必要的值,但保存的图像与这些值不对应。

4

1 回答 1

4

模式“1”是双层图像 - 表示白色或黑色。对于灰度,您需要“L”。

avg_img = Image.new('L', img.size, 'black')
于 2013-07-26T18:36:02.527 回答