2010-07-02 1 views
5

У меня есть изображение, я бы хотел заменить все пиксели одного цвета на те, которые имеют другой цвет, что это самый простой способ сделать это?Замена одного цвета в PIL?

Более или менее у меня есть изображение в tkinter, и когда нажата кнопка, я хочу, чтобы цвет изменился.

+1

Возможный дубликат: http://stackoverflow.com/questions/1616767/pil-best-way-to-replace-color – unutbu

ответ

4

попробовать это.

#!/usr/bin/python 
from PIL import Image 
import sys 

img = Image.open(sys.argv[1]) 
img = img.convert("RGBA") 

pixdata = img.load() 

# Clean the background noise, if color != white, then set to black. 

for y in xrange(img.size[1]): 
    for x in xrange(img.size[0]): 
     if pixdata[x, y] == (255, 255, 255, 255): 
      pixdata[x, y] = (0, 0, 0, 255) 

вы можете использовать палитру цветов в садомазо, чтобы поглотить цвет и увидеть, что это Rgba Color

3

Я думаю, что самый быстрый способ сделать это - использовать метод Image.load(). Что-то, как это должно работать:

from PIL import Image 
im = Image.open("image.jpg") 
image_data = im.load() 
# Here you have access to the RGB color of each pixel 
# image_data[x,y] = (R,G,B) 
0

Лучший способ сделать это с помощью метода точки. Попробуйте это thread для полного объяснения.

 Смежные вопросы

  • Нет связанных вопросов^_^