питон - не создает образ - PullRequest
       5

питон - не создает образ

0 голосов
/ 07 октября 2011

Я пытаюсь импортировать изображение, а затем манипулировать его цветами RGB. Вот что у меня есть:

from PIL import Image
image = Image.open('grapes.jpg')
pixels = list(image.getdata())

for pixel in pixels:
    pixel = (pixel[0] - 50, pixel[1] , pixel[2])

image.putdata(pixel)
image.save('grapes_modified.jpg')

как видите, я пытаюсь уменьшить красный канал. Это не работает Он производит точную копию импортированного изображения. даже если я, где сделать что-то вроде этого: pixel = (0,0,0). Это приведет к дублированию изображения.

так как мне изменить изображение?

спасибо,

1 Ответ

3 голосов
/ 07 октября 2011

Цикл for не заменяет содержимое каждого пикселя, он просто создает новый экземпляр и затем отбрасывает его. Вы должны создать новый массив, например:

newdata = [ (pixel[0] - 50, pixel[1] , pixel[2]) for pixel in pixels ]
...