Compression d'images
Posté le 26/08/2006 19:34
Muelsaco, j'aimerais que tu m'expliques le fonctionnement de ton compresseur...
Muelsaco
Mon fonctionnement de compression:
Je traite les pixels par paquets de 32 et un paquet correspondra a une variable. C'est à dire qu'il faut 256 variables pour stocker une image entière PEUT IMPORTE l'image (points, lignes, etc...).
Pour la suite il faut métriser le langage binaire car en fait j'assimile une pixel a un nombre binaire. En effet une pixel plein "vaut" 1 et une vide vaut 0 (bien sur çà aurait très bien pu être l'inverse mais pas la peine de s'embrouiller ) J'espère que vous suivez! Un paquet de 32 pixels est donc traduit en un nombre binaire de 32 chiffres. Ex:
pour une ligne droite :
1111111111111111111111111111111
pour du vide:
0000000000000000000000000000000
un point toutes les 2 cases:
1010101010101010101010101010101
Bien entendu si je laissais ce nombre sous cette forme (32 bits) il n'y aurait aucune compression mais juste une "sauvegarde" de l'image dans une matrice.
Je vais donc ensuite compresser ce nombre en le passant d'une base a une autre! Une petite convertion vers notre très chère base décimale est la meilleur compression possible sans perte. Vous l'aurez surement un nombre de 32 chiffres en base 2 (binaire) devient un nombre de 10 chiffres dans la base décimal. Bien entendu je tombe sur le nombre maximal que la calculatrice est capable de stocker dans une variable.
Ex de la ligne droite:
1111111111111111111111111111111 (base 2)
=4294967296 (base 10) (=2^32-1 pour ceux qui ont étudié le binaire )
La décompression se fait de la même façon.
J'aurais souhaiter pouvoir convertir ce chiffre binaire en hexadécimal pour avoir une plus grande compression. En effet pour un caractère hexadecimale on peut stocker 4 pixels (alors que pour le décimale c'est 3.2). J'ai découvert plus tard que cette méthode de compression est souvent utilisé pour les images en noir et blanc comme... la calculatrice! En effet en travaillant sur les add-ins de la graph 85 j'ai trouvé qu'ils stockaient les icônes (et peut être même les pictures car elles ne prennent que 2096 bits) de cette manière.
Voilà pourquoi j'ai pû rapidement trouver le système d'encryptage des images sur les graph 85