如何使用PIL使用python修改图像并将其附加到列表的末尾?

问题描述 投票:0回答:1

使用for循环,我试图修改图像的颜色值,然后将图像的修改后的副本附加到列表中。每次我运行for循环时,列表​​中的所有图像都会被修改,而不是for循环会生成一个新副本,该副本会附加到列表末尾。结果,所有图像最终看起来都像for循环的最后一次迭代。我当前的代码如下。请指教。

import PIL
from PIL import Image
from PIL import ImageEnhance

pic=Image.open("pic.gif")
pic=pic.convert('RGB')
width, height = pic.size

pics=[]
for intens in [.1, .5, .9]:
    for x in range(pic.width):
        for y in range(pic.height):
            a = pic.getpixel((x,y))
            a = (int(a[0]*intens), a[1], a[2])
            pic.putpixel((x,y),a)
    pics.append(pic)
python-3.x python-imaging-library rgb
1个回答
0
投票
import PIL
from PIL import Image
from PIL import ImageEnhance

pic=Image.open("pic.gif")
pic=pic.convert('RGB')
width, height = pic.size

pics=[]
for i in range(3):
    for intens in [.1, .5, .9]:
        for x in range(pic.width):
            for y in range(pic.height):
                a = pic.getpixel((x,y))
                a = (int(a[0]*intens), a[1], a[2])
                pic.putpixel((x,y),a)
    pics.append(pic)
© www.soinside.com 2019 - 2024. All rights reserved.