2010-07-02 15 views
5

Bir resmim var, bir rengin tüm piksellerini farklı bir renkle değiştirmek istiyorum, bununla ilgili en basit yol nedir?PIL'de tek bir rengin değiştirilmesi mi?

Az çok görüntüde titreme var ve bir düğmeye basıldığında renginin değişmesini istiyorum.

+1

Olası kopya: http://stackoverflow.com/questions/1616767/pil-best-way-to-replace-color – unutbu

cevap

4

bu deneyin.

#!/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) 

rengi absorbe GİMP renk seçiciyi kullanmak ve bu RGBA renk

3

Bunu yapmanın en hızlı yolunun Image.load() yöntemini kullanmak olduğunu düşünüyorum. Böyle şey çalışması gerekir:

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

nokta yöntemi kullanıyor Bunu yapmanın en iyi yolu olduğunu görebiliriz. Tam bir açıklama için bu thread'u deneyin.

İlgili konular