Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
765 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  numérisation d'image et C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

numérisation d'image et C++

n°976286
kayl669a
Posté le 09-02-2005 à 12:16:54  profilanswer
 

Voila j'aurai besoin d'aide pour un projet que j'ai a faire pour la fac !  
On est 4 a bosser sur ce projet, et en fait notre boulot consiste a creer un logiciel capable de numeriser une photo ( bmp, jpg,gif etc), ensuite de la crypter avec un RSA ( systeme de cryptage tres connu), de simuler un envoi avec generation ou non d'erreur, et enfn de décrypter le RSA et d'afficher l'image.  
 
Notre seul probleme vient de la numérisation de l'image...le reste on sait faire.  
Ce que l'on a compris, c'est qu'une image est composé d'une entête (nom du fichier, taille de l'image etc), et du corps a proprement parlé de l'image(couleur de chaque pixel)...Il faut tout d'abord qu'on se debarasse de l'entête car si l'on genere des erreurs dans cette entete, on sait qu'a la fin on ne pourra pas réouvrir l'image, c'est une certitude.  
Puis la numérisation nous pose egalement un probleme. Comment extraire les 3 matrices rouge, verte et bleue de l'image ?  
 
Donc en bref, comment virer l'entete d'un fichier image pour ne garder que le corps et comment extraire les 3 matrices, tout cela en sachant qu'a priori on va programmer en C++ ( en assembleur ca serait trop chiant, mais si c'est plus pratique pour travailler sur du numerique) ?  
 
En esperant qu'un ptit genie de l'informatique se revele parmis vous  :)  

mood
Publicité
Posté le 09-02-2005 à 12:16:54  profilanswer
 

n°976295
Lam's
Profil: bas.
Posté le 09-02-2005 à 12:30:53  profilanswer
 

Qu'est-ce que tu appelles numériser une photo ?  
 
Sous quel environnement vous travaillez et quel environnement cible vous visez ?

n°976298
kayl669a
Posté le 09-02-2005 à 12:34:14  profilanswer
 

par numeriser, je veux dire qu'a partir de notre photo on veut arriver a du binaire

n°976301
Lam's
Profil: bas.
Posté le 09-02-2005 à 12:40:29  profilanswer
 

Ah ouais ? Parce que ton programme manipule des données analogiques à la base ?  
 
Et d'autre part, pourquoi tu ne répond pas à toutes les questions qu'on te pose ?

n°976302
masklinn
í dag viðrar vel til loftárása
Posté le 09-02-2005 à 12:41:42  profilanswer
 

il existe des tonnes de docs sur les différents formats d'images :o
(aussi bien la composition "structurelle" de celles ci que les algos de compression/décompression toussa)
 
et en fonction du type d'image, non seulement les headers seront différents mais les infos contenues n'auront également strictement rien à voir.
 
Enfin, une image est *toujours* stockée sous forme binaire, c'est ce binaire qui est interprété en tant qu'image selon les conventions du format de la dite image [:spamafote]


Message édité par masklinn le 09-02-2005 à 12:42:11

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°976307
kayl669a
Posté le 09-02-2005 à 12:51:57  profilanswer
 

Lam's<--- Je pense qu'on va bosser sous windows
Masklinn<---- et ou est ce que je peux trouver ces docs ,

n°976308
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-02-2005 à 12:52:03  profilanswer
 

kayl669a a écrit :

par numeriser, je veux dire qu'a partir de notre photo on veut arriver a du binaire


tu m'étonnes, clair que c'est plus pratique que ces putains de photos à 50 Hz :fou:


---------------
J'ai un string dans l'array (Paris Hilton)
n°976310
masklinn
í dag viðrar vel til loftárása
Posté le 09-02-2005 à 12:57:28  profilanswer
 

kayl669a a écrit :

Masklinn<---- et ou est ce que je peux trouver ces docs ,


Sur internet [:spamafote]  
 
tu googueulise un peu sur les différents formats, tu peux même utiliser les libs spécifiques (libjpeg, libpng)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°976311
Lam's
Profil: bas.
Posté le 09-02-2005 à 12:59:31  profilanswer
 

kayl669a a écrit :

Lam's<--- Je pense qu'on va bosser sous windows
Masklinn<---- et ou est ce que je peux trouver ces docs ,


Si tu veux pas te casser la tête, et si tu n'as pas peur de faire du code qui ne tourne que sous Windows, alors GDI+ est sans doute la solution la plus simple...
 

Code :
  1. //Pour charger une image, il suffit de:
  2. Bitmap monImage(L"monimage.gif" );
  3. //Et pour avoir accès aux 3 plans R/V/B, il suffit de:
  4. Rect rect(0, 0, monimage.GetWidth(), monimage.GetHeight());
  5. BitmapData bitmapData;
  6. monImage.LockBits(&rect,  ImageLockModeRead, PixelFormat24bppRGB, &bitmapData);
  7. // Et hop, tout est dans  bitmapData.Scan0, au format BRGBRGBRG, etc.)

n°976312
masklinn
í dag viðrar vel til loftárása
Posté le 09-02-2005 à 13:01:55  profilanswer
 

Lam's a écrit :

Si tu veux pas te casser la tête, et si tu n'as pas peur de faire du code qui ne tourne que sous Windows, alors GDI+ est sans doute la solution la plus simple...
 

Code :
  1. //Pour charger une image, il suffit de:
  2. Bitmap monImage(L"monimage.gif" );
  3. //Et pour avoir accès aux 3 plans R/V/B, il suffit de:
  4. Rect rect(0, 0, monimage.GetWidth(), monimage.GetHeight());
  5. BitmapData bitmapData;
  6. monImage.LockBits(&rect,  ImageLockModeRead, PixelFormat24bppRGB, &bitmapData);
  7. // Et hop, tout est dans  bitmapData.Scan0, au format BRGBRGBRG, etc.)



la dernière fois que j'ai essayé GDI+, elle buggait à chaque fois qu'elle rencontrait une image en couleurs indexées [:petrus75]  
 
super pratique [:petrus75]  
 
en plus je te parle même pas de sa "capacité" à créer des PNGs, on dirait du PNG poulay photoshop, mais pire


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 09-02-2005 à 13:01:55  profilanswer
 

n°976313
kayl669a
Posté le 09-02-2005 à 13:02:21  profilanswer
 

ok merci pour tous vos conseils

n°977084
fucky_fuck
Posté le 09-02-2005 à 22:27:52  profilanswer
 

Si tu veux te documenter sur les différents formats, t'as ça : http://www.wotsit.org/
 
pis si tu veux pas te faire chier, t'as SDL IMAGE
 
@ +

n°977173
chewif
Posté le 10-02-2005 à 00:13:07  profilanswer
 

je confirme sdl image...je voulais m amuser a programmer des filtres et la sdl + 2h de reflexion m'ont permis de prendre controle tranquilement de tous les jolis pixels des bmp, jpg, png et autres, sans franchement de grosse experience en c/c++.
A remarquer que la sdl convertit elle meme entre les formats de pixels lorsqu on SDL_BlitSurface une image 16bits par exemple dans une surface 32bits.


Message édité par chewif le 10-02-2005 à 00:14:07
n°977237
tyrion42
Posté le 10-02-2005 à 09:01:33  profilanswer
 

Harkonnen a écrit :

tu m'étonnes, clair que c'est plus pratique que ces putains de photos à 50 Hz :fou:


 
 
Euh... c'est quoi une photo à 50Hz ?
 
Car une photo est statique alors que par définition, 50 Hertz veut dire rafraichissement (ou cycles) 50 fois par seconde ! ? ! ?


Message édité par tyrion42 le 10-02-2005 à 09:04:26
n°977276
bjone
Insert booze to continue
Posté le 10-02-2005 à 09:41:45  profilanswer
 

c'était une blagounette ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  numérisation d'image et C++

 

Sujets relatifs
[usb linux ISO] 1 grande image : plusieurs urb's ou un seul grand ?Decoupe d une image
Changer d'image dans une boite de dialogue?Upload d'image sur un site Internet
Miniature d'image - php simple ![HTML/Javascript] gallerie avec image survolée et affichage séparé
[Xlib] Ouvrir une imageimage php mysql
afficher une image si flash n'est pas installé ? 
Plus de sujets relatifs à : numérisation d'image et C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR