Images matricielles et images vectorielles

Transcription

Images matricielles et images vectorielles
nde
ICréN 2
Images matricielles et images vectorielles
On distingue généralement deux grandes catégories de format d'images
1. Images matricielles (bitmap)

Principe : il s'agit d'images décomposées en parties
élémentaires appelées pixels. A chacun on associe des valeurs
numériques permettant de coder leur couleur, éventuellement
leur transparence…
Le système de codage de couleur le plus courant est RGB : à
chaque point on affecte trois entiers permettant de donner le
niveau de Rouge, Vert et Bleu

Format de fichiers :
non compressés : bmp, tiff,…
Compressés avec perte d’information : gif, jpg,png,…

Avantages :

Inconvénients :

Exemple de format non compressé .bmp
Image 8*8 en RGB 24bits
Les Images
Page 1
nde
ICréN 2
2. les images vectorielles:

Principe :
Les images vectorielles 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 :
- un rectangle est défini par deux points
- un cercle par un centre et un rayon
- une courbe par plusieurs points que l’on reconstitue par des calculs
mathématiques (Courbes de Bézier)
-….
C'est un programme qui sera chargé de "traduire" ces formes en

informations interprétables par la carte graphique.
Quelques formats de fichiers :
Clipart (wmf,..)
Graphes : (geogebra,…)
DAO (logiciels solidworks, freecad, autocad, …)
Cartographie

Exemple : Format svg (Scalable Vector Graphics ) que l’on peut créer avec le logiciel libre Inkscape
Le contenu du fichier est codé en ASCII (dans un langage basé sur le XML)
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="200">
Image correspondante
<title>Exemple simple de figure SVG</title>
<desc>Cette figure est constituée d'un rectangle,
d'un segment de droite et d'un cercle.</desc>
<rect width="100" height="80" x="0" y="70" fill="green" />
<line x1="5" y1="5" x2="250" y2="95" stroke="red" />
<circle cx="90" cy="80" r="50" fill="blue" />
<text x="180" y="60">Un texte</text>
</svg>

Avantages :
image vectorielle

image bitmap
Inconvénients
Les Images
Page 2
nde
ICréN 2
3. Que se passe-t-il dans la machine? (en très simplifié)
TD : fichiers image Bitmap et vectorielle
Partie A.
Image bitmap
Une image bitmap indépendante du matériel peut être créée avec Paint, puis sauvegardée sous forme d’un fichier au
format bmp. Elle peut aussi être créée, pixel par pixel, avec un éditeur hexadécimal.
Chaque pixel est codé sur 3 octets (RVB) soit 24 bits par pixel.
1. Créez puis sauvegardez, à l’aide de Paint, avec le nom « Image 4x4.bmp » par exemple, un bitmap de 4 pixels x 4
pixels (utiliser l’onglet affichage puis attributs) de couleur rouge.
2. Ouvrez ce fichier « Image 4x4.bmp « avec un éditeur hexadécimal. Vous verrez l’ensemble des octets, qui
peuvent être séparés en 3 parties successives :
- Une partie en-tête de fichier : elle contient de l’information sur le type et sur la taille du fichier :
- Une partie en-tête d’information sur l’image : elle contient des informations sur les dimensions et le format
de couleur de l’image.
- Une partie de description de chaque pixel : dans cette partie, les pixels sont décrits dans l’ordre inverse de
leur affichage à l’écran. Les pixels associés à la dernière ligne apparaissent en premier et les pixels associés à la
première ligne apparaissent en dernier dans le fichier. La taille de cette partie est variable car elle dépend de la
taille de l’image. Chaque ligne décrit les pixels en allant de la gauche vers la droite de l’image. La longueur de
chaque ligne doit être un multiple de 4 octets, c’est pourquoi des octets 00 sont ajoutés parfois à la fin de chaque
ligne de pixels.
Dans notre exemple (image toute rouge) les composantes RVB de chaque pixel sont les suivantes :
- Composante bleu (B=00) : 0*16 + 0 = 0 ;
- Composante vert (V=00) : 0*16 + 0 = 0 ;
- Composante rouge (R=FF) : 15*16 + 15 = 255
3. Ouvrez le fichier avec un éditeur hexadécimal.
Modifier les couleurs de pixels de rouge à vert, en remplaçant les octets 00 00 FF par 00 FF 00.
Enregistrez le nouveau fichier ainsi créé avec le nom « Image 4x4 1.bmp « par exemple. Puis ouvrez-le avec
Paint. Tous les pixels de l’image sont maintenant verts. C’est bien le résultat attendu.
ère
ème
4. Refaire d’autres manipulations en changeant seulement quelques pixels (le pixel de la 1 ligne 2
colonne par
exemple)
Partie B.
Image vectorielle
1. Créer une image vectorielle « image vectorielle « sous Inkscape au format svg : un rectangle et un cercle rempli
d’une couleur –rouge et noire par exemple
2. Ouvrir le fichier avec un éditeur hexadécimal, puis avec notepad++.
Qu’observez-vous ? Essayer de modifier la couleur de remplissage du rectangle et du cercle.
Les Images
Page 3
nde
ICréN 2
Traitement d’image avec Python
Pour modifier une image, il faut récupérer les informations contenues dans un pixel sous forme d’une liste (un tuple)
donnant le rouge, le vert, et le bleu du pixel.
Les Images
Page 4