在PIL中替换单一颜色?
我有一张图片,我想把一种颜色的所有像素换成另一种颜色,最简单的方法是什么?
大致上,我在tkinter里有一张图片,当我按下一个按钮时,我想让颜色改变。
2 个回答
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)
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)
你可以在GIMP里使用颜色选择器来吸取颜色,这样就能看到它的RGBA颜色值了。