This page was exported from Enseignement de l'informatique et du numérique au lycée Boissy d'Anglas
[ https://icn-isn-boissy.yj.fr/wp ] Export date: Sat Apr 26 4:08:53 2025 / +0000 GMT |
||||||||||||||||||||||||||||||||||
Codage des pixels de l’image en noir et blancLe codage le plus simple de l'image est celui en noir et blanc. Dans ce type de codage, la couleur est encodée sur un bit (=binary digit) qui peut prendre 2 valeurs (vrai ou faux, 0 ou 1, blanc ou noir, ouvert ou fermé… etc.) Pour une image matricielle en noir et blanc, telle que votre image initiale1.png, chaque pixel est encodé par 1 bit noir ou blanc. Le format le plus élémentaire d'image en noir et blanc est le format .pbm (Portable Bit Map). Vous disposez du fichier carré8x8.pbm qui correspond à un carré blanc de 8 X 8 pixels. Vous allez manipuler l'image avec le logiciel EditHexa ou éditeur en ligne HexEd.it. Télécharger l'image zippé ci dessous, pensez à la dézipper et à l'enregistrer dans votre dossier. Vous allez créer une image en manipulant son encodage. Pour chaque étape, votre compte-rendu comportera la copie d'écran de l'encodage et l'image obtenue. A faire vous-même 1 : le codage d'un carré blancLancez le logiciel EditHexa (ou HexEd.it en ligne) et ouvrez le fichier carré8x8.pbm Dans la fenêtre centrale, la partie encadrée contient l'encodage en octets et à droite, il y a la traduction sous forme de texte selon la norme ASCII (à un code sur 7 ou 8 bits, correspond un caractère ou une commande) ![]() A partir de ce fichier, Quel est le nombre d'octets qui encodent l'entête de l'image ? (astuce : cliquer sur différents octets dans la fenêtre centrale et vérifier à droite, à quelle "partie" du fichier cela correspond) Déterminez le nombre d'octets qui encodent l'image elle-même. Quelle valeur ont-ils ?
Vous avez vu précédemment qu'un octet de l'image (ou du texte de l'entête) correspond à un "nombre" à 2 éléments. Exemples : le G de GIMP correspond à 47, l'espace entre les deux 8, c'est 20 ou le point correspond à 0A.
Pour faire le travail suivant, il va falloir convertir un octet écrit avec 8 bits dans le système binaire (donc une série de huit 0 ou 1) en sa correspondance dans le système hexadécimal. Prenons l'exemple de 2 octets 0000 0000 et 0011 1101. (remarque, on on écrit le nombre binaire en 2 paquets de 4 ) Pour convertir ces octets dans le système hexadécimal, on utilise le tableau de conversion ci-dessous pour chaque paquet de 4.
A faire vous-même 2 : le codage d'un carré noir et d'un damierModifiez les bits des octets de l'image de manière à former un carré noir. (si besoin, revoir ce qui a été fait sur le codage d'un pixel dans la section précédente)
Enregistrez votre image sous le nom carrénoir.pbm ![]() Vérifiez votre manipulation en ouvrant le fichier avec Photofiltre ou Gimp (Par défaut, les fichiers du format .pbm sont masqués : cliquez sur le menu déroulant « images les plus courantes » puis sélectionnez « toutes les images ») Pour obtenir un carré 8x8 à rayure, il faut par exemple que la première ligne soit noire. Ce sera donc une suite de huit bits à 1, c'est-à-dire un octet dont tous les bits valent 1 qu'on peut écrire 1111 1111 ou alors FF. Procédez de la même façon pour obtenir un damier que vous appellerez damier.pbm A faire vous-même 3 : le codage de l'initialeAvec Photofiltre ou Gimp, ouvrez l'image initiale2.png créée à la séance précédente. Affichez la grille de repérage avec un pas de 2 pixels. Avec EditHexa ou HexEd.it, modifiez l'encodage de l'image carré8x8.pbm de manière à reproduire le motif de votre initiale2.png Vous obtenez alors votre image (vérifiez avec Photofiltre) sur 8 X 8 pixels. |
||||||||||||||||||||||||||||||||||
Post date: 2020-02-27 15:58:16 Post date GMT: 2020-02-27 14:58:16 Post modified date: 2020-04-01 07:24:56 Post modified date GMT: 2020-04-01 05:24:56 |
||||||||||||||||||||||||||||||||||
Powered by [ Universal Post Manager ] plugin. HTML saving format developed by gVectors Team www.gVectors.com |