image
Transcription
image
Lycée Polyvalent Philippe de GIRARD 84000 AVIGNON TP : Traitement d'image ISN L'image numérique est aujourd'hui omniprésente sur tous les appareils électroniques. Cependant il existe une multitude de formats pour les coder. Ce TP doit vous sensibiliser sur des formats ouverts et facilement lisibles. Dans un premier temps vous allez créer une image à partir d'un éditeur de texte puis vous éditerez une image plus complexe que vous modifierez ensuite avec The Gimp pour en extraire le contour. 1 Création d'une image .pgm Une image .pgm peut être créée à l'aide d'un simple traitement de texte ; pour cela il faut respecter le format. Vous trouverez ci dessous deux formats de saisie possible. 1.1 Fichier binaire 1.2 Fichier ASCII Un fichier pgm binaire se compose comme suit : • • • • • • • • • • • • Un nombre magique (P5) Un caractère d'espacement (espace, tabulation, nouvelle ligne) Largeur de l'image (codée en caractères ASCII) Un caractère d'espacement Hauteur de l'image (codée en caractères ASCII) Un caractère d'espacement La valeur maximale utilisée pour coder les niveaux de gris, cette valeur doit être inférieure à 65536 (codée en caractères ASCII) Un caractère d'espacement Données binaires de l'image : L'image est codée ligne par ligne en partant du haut Chaque ligne est codée de gauche à droite Chaque pixel est codé par 1 ou 2 bytes selon que la valeur maximale est inférieure ou supérieure à 256. Un pixel noir est codé par la valeur 0, un pixel blanc est codé par la valeur maximale et chaque niveau de gris est codé par une valeur entre ces deux extrêmes, proportionnellement à son intensité. Toutes les lignes commençant par # sont ignorées. Un fichier pgm ASCII se compose comme suit : • • • • • • • • • • • • • Un nombre magique (P2) Un caractère d'espacement (espace, tabulation, nouvelle ligne) Largeur de l'image (codée en caractères ASCII) Un caractère d'espacement Hauteur de l'image (codée en caractères ASCII) Un caractère d'espacement La valeur maximale utilisée pour coder les niveaux de gris, cette valeur doit être inférieure à 65536 (codée en caractères ASCII) Un caractère d'espacement Données ASCII de l'image : L'image est codée ligne par ligne en partant du haut Chaque ligne est codée de gauche à droite Chaque pixel est codé par une valeur en caractères ASCII, précédée et suivie par un caractère d'espacement. Un pixel noir est codé par la valeur 0, un pixel blanc est codé par la valeur maximale et chaque niveau de gris est codé par une valeur entre ces deux extrêmes, proportionnellement à son intensité. Aucune ligne ne doit dépasser 70 caractères. Toutes les lignes commençant par # sont ignorées. Je vous propose de créer une image de 16x16 pixels avec une palette de gris codée de 0 à 255. Dans un premier temps dessinez la sur votre feuille de papier puis ouvrez un éditeur de texte (WordPad ou PsPad) et saisissez le texte représentatif de votre image en respectant un des deux format ci dessus. Sauvegardez votre fichier avec l’extension .pgm puis ouvrez le avec un éditeur d'image pour vérifier le résultat. 2 Image bitmap Avec un éditeur (WordPad ou PsPad) ouvrez le fichier Lena.bmp. Il s'agit d'une image couleur de 512x512 pixels. Observer la longueur du fichier dans votre éditeur. Vous trouverez la description du format bmp sur wikipédia (http://fr.wikipedia.org/wiki/Windows_bitmap) ou sur Commentcamarche (http://www.commentcamarche.net/contents/1200-bmp-format-bmp). Attention l'en tête est de trois octets et pas deux. Retrouvez comment est codée la taille du fichier dans l'image, convertissez la valeur en décimal, comparez cette valeur au poids du fichier et justifiez la en rapport à la taille et la nature de l'image. Sauvez l'image sous un autre nom puis modifiez une grande plage de valeur au milieu du fichier pour voir l'influence sur l'image. Déterminez, par modification, à quels pixels correspond le début du fichier de codage image. 3 3.1 Modification d'image Ouvrez l'image originale avec Gimp et sauvez la sous un autre nom. Transformation en Noir et Blanc Faire Image>Mode>RVB pour mettre l'image en noir et blanc. Enregistrez l'image sous un nouveau nom et comparez la taille du fichier avec l'original. Ouvrez l'original et le fichier que vous venez de créer et comparez leur en tête, notez les différences. 3.2 Détection des contours Ouvrez le fichier noir et blanc et sauvegardez le sous un autre nom. Faites Filtres>Générique>filtre de convolution. Saisissez le tableau ci dessous : -1 -1 -1 -1 8 -1 -1 -1 -1 Sauvez l'image. Que constatez vous. Faites Couleurs>Inverser que constatez vous ? Vous pouvez modifier les coefficients pour voir leur influence. TP L'alimentation de labor atoire page 2/2