使用PIL图像进行像素转换时的粉红色色调



我试图更改图像中的一半像素,但它们总是带有粉红色。即使在像素RGB值保持不变的代码示例中,图像也会显示为粉红色。这是代码和前后图像。粉红色的原因是什么?我该如何修复?

from PIL import Image
im = Image.open('me.jpg')
pix = im.load()
q, w = (im.size)
s=0
a=0
x=0
y=0
while s<w:
while a<(q/2):
r, g, b = im.getpixel((x,y))
pix[0+x,0+y] = (r,b,g)
a=a+1
x=x+1
a=0
x=0
y=y+1
s=s+1
im.save('me2.jpg')

示例

在分配提取的颜色时,您颠倒了g和b的顺序:

pix[0+x,0+y] = (r,b,g)

如果你把它们放回rgb顺序,它会起作用:

pix[0+x,0+y] = (r,g,b)

最新更新