Python:制作RGB图片的负片

3 投票
4 回答
12158 浏览
提问于 2025-04-16 18:30

我已经在用Python折腾了好几个小时,想弄明白怎么把我的彩色图片变成彩色负片,但就是搞不定。

我已经从PIL库里导入了PIL和Image,我知道我需要做的事情类似于(255.0 - 红色, 255.0 - 绿色, 255.0 - 蓝色)来反转图片的颜色,但我就是不知道怎么把这个放进我的'for'循环里。

我其实对Python并不是很在行,任何帮助都非常感谢 =/

提前谢谢你们 :)

4 个回答

2

我知道这个讨论已经很久了,但我在浏览的时候发现了这个内容,觉得它很相关,希望能对你有所帮助。

def invert():
    picture=makePicture("C:/somepic.png")
    for px in getPixels(picture): 
       r=getRed(px) 
       g=getGreen(px) 
       b=getBlue(px)
       newColour=makeColor(255-r,255-g,255-b) 
       setColor(px,newColour)
    repaint(picture)
4

我自己并不是PIL的用户,不过我快速查了一下文档,发现里面有一个叫做invert的函数。

ImageOps.invert(image) => image
    Invert (negate) the image.

也许这就是你想要的功能?

7
inverted = Image.eval(original, lambda(x):255-x)

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

撰写回答