Python: создание негативного изображения RGB-картинки - PullRequest
3 голосов
/ 28 мая 2011

Эй, ребята, я часами возился с Python, пытаясь выяснить, как превратить мое цветное изображение в цветной негатив, и я просто не могу понять, как это понять ...

Я импортировал PIL и изображение из PIL, и я знаю, что мне нужно сделать что-то похожее (255,0 - красный, 255,0 - зеленый, 255,0 - синий), чтобы отрицать изображение, но я просто не могу показатьсячтобы понять, как включить это в мой цикл «для».

Я действительно не очень хорош в Python, и любая помощь будет очень признательна = /

Заранее спасибо :)

Ответы [ 4 ]

6 голосов
/ 28 мая 2011
inverted = Image.eval(original, lambda(x):255-x)
4 голосов
/ 28 мая 2011

Я сам не пользователь PIL, но быстрый поиск документации обнаружил функцию invert.

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

Возможно, это то, что выищу?

2 голосов
/ 30 ноября 2017

Я понимаю, что эта тема довольно старая, но я сталкивался с этим в своих путешествиях и думал, что это актуально, надеюсь, что это поможет.

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)
1 голос
/ 28 мая 2011
for r,row in enumerate(myPicture):
    for c,value in enumerate(row):
        myPicture[r][c] = invert(value)
...