我有一个png文件,想要删除所有非黑色像素(将非黑色像素转换为白色)。如何在Python中轻松实现?谢谢!
这里提供了使用 PIL 的一种方法:
from PIL import Image
# Separate RGB arrays
im = Image.open(file(filename, 'rb'))
R, G, B = im.convert('RGB').split()
r = R.load()
g = G.load()
b = B.load()
w, h = im.size
# Convert non-black pixels to white
for i in range(w):
for j in range(h):
if(r[i, j] != 0 or g[i, j] != 0 or b[i, j] != 0):
r[i, j] = 255 # Just change R channel
# Merge just the R channel as all channels
im = Image.merge('RGB', (R, R, R))
im.save("black_and_white.png")
from PIL import Image
img = Image.open("/pathToImage") # get image
pixels = img.load() # create the pixel map
for i in range(img.size[0]): # for every pixel:
for j in range(img.size[1]):
if pixels[i,j] != (0,0,0): # if not black:
pixels[i,j] = (255, 255, 255) # change to white
img.show()
如果你在某个地方卡住了,随时欢迎留言提问。