Le tampon d'image consiste à cacher une image dans une autre, l'idée est basée sur le fait que l'être humain (et les périphériques de l'ordinateur) a du mal à percevoir les petites nuances de couleurs.
Pixel de l'image publique
Pixel de l'image privée
Pixel de l'image tampon
Pixel de l'image cachee
Nombre de bits de poids fort de l'image à cacher à prendre :
Sur un exemple :
Dans un premier temps nous allons construire une fonction qui va pour chaque pixel ôter n bits de poids faibles, et voir le peu d'influence si n est petit, puis nous allons faire une fonction qui mélangera deux images en ajoutant une pondération (cette fonction va faire le tampon) et enfin créer une fonction qui va récupérer l'image cachée.
Quelle image est cachée dans l'image ci dessous ?
Bits de poids faibles.
On rappelle que par exemple le nombre 137 est stocké en mémoire dans l'octet 10001001.
Ôter le bit de poids faible consiste à mettre le dernier bit à 0 (s'il est déjà il n'y a rien à faire), on obtient alors 10001000 = 136, de même si on veut ôter 2 bits de poids faibles on doit mettre les deux derniers bits à 0 comme le deuxiéme était déjà à 0, on ne le change pas et on obtient également 10001000 =136.
Mathématiquement ôter n bits de poids faibles s’interprète comme une soustraction du reste de la division entière par \(2^n\). Si a est un entier entre 0 et 255 alors a-a%(2**n) est l'entier qui correspond avec n bits de poids faible en moins. Un autre moyen d'oter n bits de poids faibles d'un nombre a est de faire a//(2**n) * (2**n). Néanmoins par la suite on va décomposer un octet dans un tableau de bits, celà va être plus simple à comprendre.
Comme les bits de poids faibles n'ont pas une grosse influence sur nos yeux, on va les utiliser pour cacher une autre information. Les techniques sont nombreuses
Pour la suite essayer de prendre deux images de la même dimension, une image dite publique qui va contenir l'image que l'on va montrer et une image dite privée qui sera cachée dedans.
Maintenant que l'image est cachée, on va la remontrer. (bien sur elle va perdre en détail)
L'image mélangée doit être sauvegardée en BMP car la compression est trop destructive, il existe cependant des techniques de tampon numérique qui résistent à la compression.