Objectifs

Transcription

Objectifs
ISN. TP : Traitement d’images - Représentation numérique d’une image en noir et blanc
INFORMATIONS
Objectifs
Description et manipulation d’images ;
Le format de fichier PBM ;
Les images bitmap et les images vectorielles.
À lire :
Représentation de l’information et Traitement de l’image.
À revoir : TD_Representation_Information et TP_Codage_information.
Décrire une image
Une première approche naturelle
Figure no 1
La figure no 1 est formée d’un cercle. Pour être plus précis,
on peut :
– donner les coordonnées de son centre ;
– son rayon ;
– sa couleur ;
– l’épaisseur du trait . . .
À partir de ces informations, n’importe qui peut reconstituer ce
dessin.
On donne une description symbolique du dessin :
« un cercle dont le centre est le centre de la figure, le
diamètre les trois quarts de la figure, la couleur du
trait est noire, son épaisseur est de 1 mm, tandis que
la fond de la figure est blanc. »
Cette méthode de description est adaptée à la figure no 1
mais pas du tout à la figure no 2.
Figure no 2
Une autre méthode
Une méthode, qui a l’avantage de pouvoir être utilisée pour n’importe quel dessin, consiste à superposer un quadrillage
au tracé :
Figure no 3
Figure no 4
Chaque case de ce quadrillage s’appelle un pixel, on noircit ensuite les pixels qui contiennent un portion de trait.
http://lycee.lagrave.free.fr/isn
1
n
ISN. TP : Traitement d’images - Représentation numérique d’une image en noir et blanc
Pour décrire l’image, il suffit de lire la valeur de chaque pixel de gauche à droite et de haut en bas.
On pourrait donner ces valeurs
– par une suite de mots : « blanc » ou « noir » ;
– ou encore pour être plus économe par un seul symbole,
? pour « noir » on peut utiliser la lettre « n » ou le chiffre « 1 » ;
? pour « blanc » on peut utiliser la lettre « b » ou le chiffre « 0 ».
Le dessin précédent, avec une grille 5 × 5 se décrit alors par la suite de 25 chiffres :
0111011011100011101101110.
Cette suite de 0 et de 1 s’appelle une suite binaire ou encore un mot binaire.
Notre dessin se décrit avec 25 chiffres binaires ou encore 25 bits ; sa longueur est 25.
Cette description est assez approximative, et on peut rendre la description plus précise en utilisant un quadrillage 100 × 100.
À partir de quelques millions de pixels, nous ne serions plus capable de faire la différence entre les deux images. Cette
méthode approximative est aussi universelle : n’importe quel dessin, même très compliqué, se décrit exactement comme
un dessin simple.
1
Le format de fichier PBM
(1) Ouvrir le fichier BlackBug.pbm dans le logiciel GIMP 1 . Zoomer éventuellement sur l’image pour bien l’observer.
(2) Ouvrir le même fichier dans NOTEPAD++. Expliquer comment l’image est codée.
(3) Faire une recherche Internet sur le format PBM, et donner les caractéristiques de ce format.
2
Créer le logo
suivant au format PBM.
1. TD_Gimp une découverte de The Gimp logiciel de traitement d’image bitmap (dessin, retouche, animation, etc.) visant à fournir une
alternative libre à des logiciels comme Adobe Photoshop, avec une interface légèrement différente.
Pour aller plus loin, installer et programmer ses premiers scripts Python dans Gimp
m
2
ISN. TP : Traitement d’images - Représentation numérique d’une image en noir et blanc
Les portable bitmap file format (PBM) sont des formats de fichier graphique utilisés pour les échanges.
Le format PBM a été défini comme un format d’images bitmaps monochromes pouvant être transmises via un
message électronique en texte ASCII, et leurs permettant de supporter tout changement dans le formatage du
texte.
Ce format de fichier est utilisé pour des images noir et blanc. Il existe deux variantes : binaire ou brut.
Un fichier pbm ASCII se compose comme suit :
– Un « nombre magique » pour identifier le type de fichier ici P1 ;
– 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 trame de l’image qui sont des données ASCII :
L’image est codée ligne par ligne en partant du haut ;
Chaque ligne est codée de gauche à droite ;
Un pixel noir est codé par un caractère 1, un pixel blanc est codé par un caractère 0
Les caractères d’espacement à l’intérieur de cette section sont ignorés
Aucune ligne ne devrait faire de plus de 70 caractères de long.
– un zéro final.
Toutes les lignes commençant par # sont ignorées.
3
Manipulation d’images
(1) Ouvrir le fichier Maison.pbm dans NOTEPAD++ et dans GIMP.
(2) Modifier ce fichier dans NOTEPAD++ pour ajouter une fenêtre au rez-de-chaussée, à droite de la porte.
Contrôler le résultat dans GIMP.
(3) Modifier ce fichier dans NOTEPAD++ pour ajouter un soleil (carré pour simplifier) en haut à gauche de la maison.
Contrôler le résultat dans GIMP.
4
(1) Créer un fichier ex4Fig1.pbm représentant l’image ci-contre. Cette image peut
être codée par 12 lignes et 22 colonnes.
(2) Modifier le fichier précédent pour obtenir l’image ci-contre. Enregistrer le résultat
dans un fichier ex4Fig2.pbm.
(3) Même question pour l’image ci-contre. Enregistrer le résultat dans un fichier
ex4Fig3.pbm.
5 Pour exécuter des traitements plus compliqués sur des images plus grandes, on ne change pas les pixels un par un
à la main, mais on utilise des logiciels de traitement d’images.
http://lycee.lagrave.free.fr/isn
3
n
ISN. TP : Traitement d’images - Représentation numérique d’une image en noir et blanc
Le programme TraitementNoir_Blanc.py est un programme de traitement d’images très simple.
– À partir d’un fichier image d’entrée, il permet de parcourir chaque ligne de l’image, colonne par colonne, et de
modifier la valeur de chaque pixel pour exécuter le traitement souhaité.
– L’image obtenue est enregistrée dans un fichier de sortie appelé monimage.pbm, qui peut être ouvert à l’aide
d’un éditeur de texte ou d’un visionneur d’images comme GIMP.
– Certaines informations sur l’image sont également affichées par le programme.
– Au départ, aucun traitement n’est réalisé, et l’image de sortie est simplement une copie de l’image d’entrée.
(1) Modifier la partie traitement du programme TraitementNoir_Blanc.py pour que la couleur de chaque pixel de
l’image de sortie soit l’inverse de la couleur du pixel correspondant de l’image d’entrée.
(2) Tester votre programme sur les fichiers Maison.pbm ; ex4Fig1.pbm et Coco400NB.pbm.
6
Deux catégories d’images parcourir le diaporama Im_Info_chap1
(1) Ouvrir les images abricot.png et abricot.svg
(2) Zoomer au maximum sur chacune des images, que remarquez-vous ?
• Les images matricielles bitmap 2 (chaque point est représenté par un bit) et pixmap 3
Il s’agit d’images pixelisées, c’est-à-dire un ensemble de points contenus dans un tableau , chacun de ces points
possédant une ou plusieurs valeurs décrivant sa couleur.
• Les images vectorielles parcourir le document svg_portes_ouvertes et les pages SVG : graphismes pour le web.
Elles sont des représentations d’entités géométriques telles qu’un cercle, un rectangle ou un segment. Ceux-ci
sont représentés par des formules mathématiques.
C’est le processeur de l’ordinateur qui sera chargé de « traduire » ces formes en informations interprétables par
la carte graphique.
7
À faire : ISN_représenter_les_images_Irem
. Et puis . . . Traitement d’une image avec Python.
2. bitmap « carte de points ». Mot emprunté à l’anglais qui peut faire référence à une image matricielle décrite point par point.
3. pixmap : une telle image est dépendante de sa résolution. Le type pixmap permet d’afficher des images en couleurs.
m
4