Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from tkinter import filedialog,Tk
- from PIL import Image
- def fichier(action):
- popup=Tk()
- if action=="ouvrir":
- chemin_fichier = filedialog.askopenfilename(initialdir = "./",title = "Choisissez votre fichier")
- elif action=="enregistrer":
- chemin_fichier = filedialog.asksaveasfilename(initialdir = "./",title = "Nom du fichier à enregistrer")
- else:
- chemin_fichier=False
- popup.destroy()
- return chemin_fichier
- def assemblage(pixel1,pixel2):
- sortie=[]
- for i in range(3):
- sortie.append(((pixel1[i]>>4)<<4)+(pixel2[i]>>4))
- return tuple(sortie)
- def dessemblage(pixel):
- sortie=[]
- for i in range(3):
- sortie.append((pixel[i]<<4)%256)
- return tuple(sortie)
- def stegano():
- image_source=Image.open(fichier("ouvrir"))
- image_cachee=Image.open(fichier("ouvrir"))
- resultat=Image.new("RGB",(min(image_source.size[0],image_cachee.size[0]),min(image_source.size[1],image_cachee.size[1])))
- for i in range(min(image_source.size[0],image_cachee.size[0])):
- for j in range(min(image_source.size[1],image_cachee.size[1])):
- pixel_source=image_source.getpixel((i,j))
- pixel_cache=image_cachee.getpixel((i,j))
- resultat.putpixel((i,j),assemblage(pixel_source,pixel_cache))
- resultat.show()
- resultat.save(fichier("enregistrer"))
- def destegano():
- image=Image.open(fichier("ouvrir"))
- for i in range(image.size[0]):
- for j in range(image.size[1]):
- pixel_source=dessemblage(image.getpixel((i,j)))
- image.putpixel((i,j),pixel_source)
- image.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement