Hackvent_2018/Day 9/decode.py

39 lines
884 B
Python
Raw Normal View History

2018-12-09 10:36:48 +01:00
#!/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")