exercice java - Est-ce faisable ?

exercice java - Est-ce faisable ? - Java - Programmation

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.

Reply

Marsh Posté le 24-04-2015 à 21:51:53   

Reply

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 :)

Reply

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 !

Reply

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 !

Reply

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.
 

Reply

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

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 !!

Reply

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.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed