Initial release
This commit is contained in:
28
Pokémon dans le téléphone.py
Normal file
28
Pokémon dans le téléphone.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from PIL import Image
|
||||
|
||||
filename = "onix_bvd_zigzag"
|
||||
img = Image.open(filename + ".png")
|
||||
|
||||
width, height = img.size
|
||||
img_decoded = Image.new("RGB", (int(width), int(height)))
|
||||
|
||||
def entrelacement (x, y, dim):
|
||||
bits = len("{:b}".format(dim-1))
|
||||
x = "{coord:0{bits}b}".format(bits=bits, coord=x)
|
||||
y = "{coord:0{bits}b}".format(bits=bits, coord=y)
|
||||
res = ""
|
||||
for i in range(bits):
|
||||
res = res + y[i] + x[i]
|
||||
# print(bits, x, y, res)
|
||||
res = int(res, 2)
|
||||
return (res%dim, res//dim)
|
||||
|
||||
# print(entrelacement(2,4,width))
|
||||
|
||||
for y in range(height):
|
||||
for x in range(width):
|
||||
img_decoded.putpixel(entrelacement(x,y,width), img.getpixel((x, y)))
|
||||
|
||||
img_decoded.save(filename + "_decoded.png")
|
||||
img_decoded.show()
|
||||
|
||||
Reference in New Issue
Block a user