LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Nsi txt decoder

Fiche : Nsi txt decoder. Recherche parmi 298 000+ dissertations

Par   •  28 Avril 2021  •  Fiche  •  1 084 Mots (5 Pages)  •  539 Vues

Page 1 sur 5

# -*- coding: utf-8 -*-

from PIL.Image import *

image = open("") #défini l'image afficher a la fin

#image.show()

imagecache = open("") #défini l'image qui sera caché

#imagecache.show()

def image_origine(image,imagecache):

'''Cette fonction prend une image qu'on appellera origine qui sera l'image affichée et une autre image qui sera cachée

dans l'image origine. Le but de cette fonction est de cacher une image dans l'autre et de renvoyer la nouvelle image'''

(l,h) = image.size

for y in range(0,h): #parcour les pixels en hauteur

for x in range(0,l): #parcour les pixels en largeur

pixori = image.getpixel((x,y)) #prend le pixel de coordonnées(x,y) de l'image d'origine

pixcache = imagecache.getpixel((x,y)) #prend le pixel de coordonnées(x,y) de l'image cachée

coulpix = couleure(pixcache,pixori) #donnera la nouvelle valeur du pixel pour voir l'image origine avec des valeur de l'image cachée

image.putpixel((x,y),coulpix) #remplace l'ancien pixel par le nouveau

return image #renvoi la nouvelle image

def couleure(cache,origine):

'''Cette fonction demande les valeurs RGB des pixels de l'image origine et de l'image cachée et renvoi un tuple contenant

les nouvelle valeurs RGB des 2 images combinées'''

coul = [0,0,0] #crée la variable coul : une liste vide

for j in range(0,3): #répète pour j de 0 à 3

bitcache = premier3Bitscache(cache[j]) #appelle la fonction premier3bitscache pour obtenir les 3 premiers bits de cache[j]

bitorigine = premier5Bitsorigine(origine[j]) #appelle la fonction premier5bitsorigine pour obtenir les 5 premiers bits de origine[j]

coul[j] = concat_cache_origine(bitcache, bitorigine) #additionne les valeurs des 5 et 3 bits obtenu précédement

return (coul[0],coul[1],coul[2]) #renvoi les nouvelle valeurs des couleurs sous forme de tuple

#cache = (95,95,20)

#origine = (122,50,48)

def premier3Bitscache(n):

'''Cette fonction va demander la valeur de la couleur R,G ou B du pixel de l'image cachée pour prendre

seulement les 3 première valeurs binaires de la couleur'''

n = format(n,'08b') #renvoi n en valeur binaire sur 8bit

cache = n[0:3] #cache est égal au 3 derière valeurs de n

return cache #renvoie les 3 denières valeurs

#print(premier3Bitscache(11011001))

def premier5Bitsorigine(n):

'''Cette fonction va demander la valeur de la couleur R,G ou B du pixel de l'image d'origine pour prendre

seulement les 5 première valeurs binaires de la couleur'''

n = format(n,'08b') #renvoi n en valeur binaire sur 8bit

origine = n[0:5] #cache est égal au 3 derière valeurs de n

return origine #renvoie les 3 denières valeurs

#print(premier5Bitsorigine(11011001))

def concat_cache_origine(cache,origine):

...

Télécharger au format  txt (5.4 Kb)   pdf (38.4 Kb)   docx (10.1 Kb)  
Voir 4 pages de plus »
Uniquement disponible sur LaDissertation.com