# Tira o trofeu do Liberated Pixel Cup da imagem de titulo do Pixel Quest (lpc_home_cup.png, 720x480): mascara os pixels # acinzentados do trofeu e do pedestal (dilatados em 2 px) e os refaz com pixels da propria imagem (folhagem de cima, mato # ao lado, grama de baixo). import sys from PIL import Image, ImageFilter src_path, out_path = sys.argv[1:3] im = Image.open(src_path).convert('RGBA') src = im.copy() X0, X1, Y0, Y1 = 296, 425, 68, 182 mask = Image.new('L', im.size, 0) mp, sp = mask.load(), src.load() for y in range(Y0, Y1): for x in range(X0, X1): r, g, b, a = sp[x, y] if max(r, g, b) - min(r, g, b) < 45 and max(r, g, b) > 70: mp[x, y] = 255 mask = mask.filter(ImageFilter.MaxFilter(5)) px, mp = im.load(), mask.load() for y in range(Y0, Y1): for x in range(X0, X1): if mp[x, y]: if y < 100: sy, sx = y - 38, x elif y < 123: sy, sx = y, (x - 60 if x < 360 else x + 60) else: sy, sx = y + 55, x px[x, y] = sp[sx, sy] im.save(out_path, optimize=True)