exercice java - Est-ce faisable ? - Java - Programmation
Marsh Posté le 25-04-2015 à 03:14:35
Bonsoir !
Il s'agit d'un algorithme très classique de stéganographie, appliqué aux images non compressées. Il est d'ailleurs décrit, sous une forme approchante de celle que je vais présenter, sur la page wikipedia correspondante.
L'idée est de séparer les 8 bits pour coder chaque couleur en 2 blocs de 4 bits.Si on change uniquement les valeurs des 4 bits de poids faible de chaque couleur, la différence au niveau de l'image sera imperceptible à l'oeil, on peut donc utiliser ces 4 bits pour y stocker d'autres informations, en l'occurrence les 4 bits de poids fort de la couleur correspondante de l'autre image.
Ceci est parfait pour des images ayant la même taille.
Je vous laisse continuer votre algorithme à partir de ces informations.
Bonne continuation !
PS : Quand vous dites "ce n'est pas du binaire", je pense que vous vous méprenez sur le sens de ce terme
Marsh Posté le 25-04-2015 à 13:30:41
Bonjour,
Il faut en gros décomposer le nombre décimale en binaire et extraire que les 4 bits de poids fort et utiliser les 4 bits de poids faible pour cacher les 4 bits de poid fort d'une autre image.
je pense que j'ai compris, je vais essayer votre algorithme.
Merci Farian pour votre aide !
Marsh Posté le 25-04-2015 à 16:11:48
Bonjour !
C'est tout à fait ce que j'avais essayé de dire
Bonne continuation, la mise en œuvre ne devrait pas poser de problème insurmontable !
Marsh Posté le 26-04-2015 à 14:23:23
Bonjour,
J'ai commencer à développer le programme, mais je me dis qu'il n'est pas possible de cacher une image de grande taille dans une petite. Car quand essaye, j'ai pas assez de bloc de pixel pour cacher l'image.
Je me demande donc si techniquement c'est faisable ou non.
Y-a t-il une technique pour cacher une image de grande taille dans une petite ?
J'ai essayer, dans l’entête de la petite image de changer la résolution pour mettre celui de la grande, mais du coup quand je lis l'image , la grande image est bien caché mais l'image est trop grande.
j'ai d'autre idées mais cela ne respecte pas l'exercice que je dois présenter.
Je vais continuer à réfléchir. Si quelqu'un a des idées je suis preneur.
Merci pour votre aide.
Marsh Posté le 26-04-2015 à 15:40:35
L'exercice que vous devez présenter dit que vous devez cacher une grande image dans une petite?
A+,
Marsh Posté le 26-04-2015 à 17:19:52
Dans l'énoncer, on ne précise pas la taille des l'image. J'arrive à cacher une petite image dans une grande mais pas l'inverse. Peut être que c'est plus dure. Je pense que je vais m’arrêter là, c'est déjà pas mal et je pense avoir la moyenne avec (7 exo sur 10). L'exercice suivant est la détection des contours, rotation d'un angle quelconque bref trop compliqué pour moi
Merci à tous pour m'avoir aider !!
Marsh Posté le 27-04-2015 à 12:11:11
Vu l'algo, je pense que l'image à cacher a forcément ces 2 dimensions au moins 2 fois < à celle de l'image servant de planque, non, vu qu'un pixel de l'image à cacher a son code couleur réparti sur 2 pixels de l'image servant à cacher.
Marsh Posté le 24-04-2015 à 21:51:53
Bonjour,
je dois rendre un exercice en java sur les images ppm. il faut que j'arrive a cacher une image ppm "p3" dans une autre.Il faut que j'utilise les bits de poids faible de l'image A pour la cacher l'image B.
sachant que les images PPM "p3" c'est pas du binaire je vois pas comment je peux faire ? Est ce que ya pas un problème dans l'énoncer ?
exemple :
si mon premier image est tout noir et fait 2pixel sur 2pixel
////// entête du fichier ////
p3 // p3 --> on utilise des bloc de trois nombre pour exprimer la quantité de rouge,bleu,vert
2 2 // 2 pixel de large et 2 pixel de long
255 // 255 couleur au max
//// 4 bloc de pixel pour les 4 pixel noir.
0 0 0 0 0 0
0 0 0 0 0 0
sachant que un pixel rouge se code --> 255 0 0 (on met le rouge à 255), comment je peut cacher ce rouge dans le noir ????? c'est pas possible si ?
Merci par anvance pour votre aide.