editeur hexadecimal et photo

editeur hexadecimal et photo - Divers - Programmation

Marsh Posté le 05-12-2004 à 17:26:09    

bonjour, je suis en Tle S, et je fais un tpe sur l'imagerie numérique. Le fil conducteur du tpe est de savoir quelles sont toutes les etapes pour passer de l'image prise par la photo a celle sur l'ordi.
J'ai deja cherché un peu, et j'ai vu que l'appareil photo etait muni d'une sorte de plaque ou sont installees des millions de minuscules cellules photo electriques (capteur CCD ou CDD je crois) qui vont traduire la lumiere en intensite. Puis cette intensité sera traduite dans un code bien précis qui va permettre de faire le transfert appareil photo ordinateur.
 
C'est la que j'ai besoin de votre aide pour comprendre ce code, etant donné que je ne m'y connais pas du tout.  
 
J'ai créé sur Paint (dc format bitmap) en noir et blanc une image de 6 pixels sur 6. ca représente un L ( de 4 px sur 3, avec 1 marge de 1 px a gauche et en bas). g volontairement pris une image tres simple et tres petite pour l'interpreter.
Ensuite, j'ai telechargé en freeware Edhex, et ouvert l'image pour voir ce que ca donne en hexadecimal et voila ce que j'obtiens:
 
42 4D 56 2E 2E 2E 2E 2E 2E 2E 3E 2E 2E 2E 28 2E
2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E  
2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
2E 2E 2E 2E 2E 2E 2E 2E 2E 2E FF FF FF 2E FC 2E
2E 2E 8C 2E 2E 2E BC 2E 2E 2E BC 2E 2E 2E BC 2E
2E 2E FC 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
 
bon, je sais qu'il faut la table ascii pour comprendre ca, donc je suis allé la voir. 42 et 4D correspondent a BM, soit le format BMP. 56 correspond a V, soit je crois le volume. Apres, je n'ai trouvé nulle part comment interpreter le "." qui correspond au 2E ainsi que tout le reste du code.
 
J'aimerais comprendre comment l'ordinateur fait pour passer de ce code a l'image vue sur paint.
 
D'autre part, si des gens si connaissent justement sur l'imagerie numerique, tous conseil, remarque, connaissance, sont la bienvenue.
 
   

Reply

Marsh Posté le 05-12-2004 à 17:26:09   

Reply

Marsh Posté le 05-12-2004 à 17:33:06    

attention : les données que tu obtiens n'ont strictement rien à voir avec des caractères ASCII, sauf pour les 2 premiers octets qui correspondent effectivement aux lettres BM, indiquant qu'il s'agit d'un fichier BMP
 
la structure du fichier est indiquée ici : http://iquebec.ifrance.com/kadchak [...] nnexeB.htm


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-12-2004 à 21:48:02    

ok merci pr le lien, ca explique pas mal de choses. Maintenant, j'ai l'imp kil ya un probleme o nivo de la zone de donnée.
 
On est d'accord que la 2e entete se termine a l'octet 54, puis que 2 structures s'ajoutent, vu qu'on est en 1 bit de couleurs. Je suis allé voir autrepart pr essayer de comprendre ce passage, et g cru comprendre que ca correspondait a la declaration de la palette soit :
octet 55 à 58: 2E 2E 2E 2E=> B=46 V=46 R=46 separation => couleur 0=presque noir(ce ki est bizar pck on devrait avoir du noir pur non?)
octet 59 à 60: FF FF FF 2e=> B=255 V=255 R=255 separation=> couleur 1=blanc
 
ensuite on a :  
 
FC 2E 2E 2E= 252 => 11111011 (g cru comprendre que les 3 autres octets apres le FC etaient juste un complement, mé g pa bien compris, c possible d'avr des precisions?)
8C 2E 2E 2E= 140=> 10001100
BC 2E 2E 2E= 188=> 10111100
BC 2E 2E 2E= 188=> 10111100
BC 2E 2E 2E= 188=> 10111100
FC 2E 2E 2E= 252=> 11111100
2E 2E 2E 2E= théoriquement je devrais compter 46, mé je supoz que la je dois prendre la couleur 2E ki est 0, le noir. Mais j'aimerais qu'on m'explique qd meme...0=> 00000000
et pareil: 2E 2E 2E 2E=0 =>00000000
et bien sur je me trouve avec 2E en rab et je c pas koi en faire
 
Bon alors j'ai une image de 6*6 donc je suppoz que je dois ossi retirer les deux derniers numeros de chaque ligne. Bizarrement, j'ai 7 lignes alors que je devrais en avoir 6
 
Ce ki me donne:
 
100011
101111
101111
101111
111111
000000
 
aha, c marrant, je trouve mon L, ce ki n'etait pas le cas tout a l'h sur mon brouillon... Enfin c pas grave, tant mieux, il me reste tout de meme certains points a eclaircir:
 
1) pourkoi mon image est elle a l'envers?
2) pourkoi n'ai je pas du noir pur?
3) pourkoi ai-je 6 octets 2E en rab?
 
 
 

Reply

Marsh Posté le 05-12-2004 à 21:54:59    

1) le format BMP stocke les données de l'image à l'envers, c'est comme ça. à la charge du programmeur de la remettre à l'endroit
2) quand tu as dessiné ton image, était-ce du noir pur ? (0,0,0)
3) je sais pas, possible que tu aies sauvegardé des données supplémentaires


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-12-2004 à 22:02:41    

g pris le noir de paint, je pense qu'il est pur non?
 
enfin bon, merci qd meme j'ai bien compris le principe je vais tenter le L en couleur la prochaine fois

Reply

Sujets relatifs:

Leave a Replay

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