39 lines
884 B
Python
39 lines
884 B
Python
|
#!/usr/bin/python
|
||
|
|
||
|
from PIL import Image
|
||
|
|
||
|
imageOriginal = Image.open("medium_64_original.png")
|
||
|
imageFake = Image.open("medium-64_decompressed.png")
|
||
|
|
||
|
pixOriginal = imageOriginal.load()
|
||
|
pixFake = imageFake.load()
|
||
|
|
||
|
if imageOriginal.size != imageFake.size:
|
||
|
print("Images differ in Size")
|
||
|
exit()
|
||
|
|
||
|
diffs = []
|
||
|
|
||
|
Size = imageOriginal.size
|
||
|
for y in range(Size[0]):
|
||
|
for x in range(Size[1]):
|
||
|
if pixOriginal[x,y] != pixFake[x,y]:
|
||
|
diffs.append([x,y])
|
||
|
|
||
|
x0 = min([diff[0] for diff in diffs])
|
||
|
x1 = max([diff[0] for diff in diffs])
|
||
|
y0 = min([diff[1] for diff in diffs])
|
||
|
y1 = max([diff[1] for diff in diffs])
|
||
|
|
||
|
imageNew = Image.new('RGB', Size, "white")
|
||
|
pix = imageNew.load()
|
||
|
|
||
|
for x in range(x0, x1+1):
|
||
|
for y in range(y0, y1+1):
|
||
|
pix[x,y] = (0,0,0,255)
|
||
|
|
||
|
for diff in diffs:
|
||
|
pix[diff[0], diff[1]] = (255,255,255,255)
|
||
|
|
||
|
imageNew.save("decoded.png")
|