Python:制作RGB图像的负像

时间:2011-05-28 04:22:18

标签: python image python-imaging-library

嘿伙计们,我几个小时以来一直在玩弄Python几个小时,试图找出如何将我的彩色图像变成彩色底片而我似乎无法弄明白......

我已经从PIL导入了PIL和Image,我知道我需要做类似的事情(255.0 - 红色,255.0 - 绿色,255.0 - 蓝色)才能否定图像,但我似乎无法能够弄清楚如何将其纳入我的'for'循环。

我根本不擅长python,任何帮助都会非常感激= /

提前谢谢你们。

4 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:4)

我自己不是PIL用户,但快速搜索the documentation后会出现invert函数。

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

也许这就是你要找的东西?

答案 2 :(得分: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)

答案 3 :(得分:1)

for r,row in enumerate(myPicture):
    for c,value in enumerate(row):
        myPicture[r][c] = invert(value)