Image PGM
Il existe deux catégories d'images PGM :
. un format ASCII : « ASCII »
écriture directe dans un bloc-notes possible
. un format binaire : « RAW »
écriture à l'aide d'un éditeur hexadécimal
|
|
Voici un exemple au format ASCII |
| en-tête du Fichier |
signature du fichier
Pour les formats ASCII :
P1 = PBM bitmap
P2 = PGM greymap
P3 = PPM pixmap
Pour les formats Binaires :
P4 = PBM raw bitmap
P5 = PGM raw greymap
P6 = PPM raw pixmap
|
P2 |
| |
un séparateur = espace, Tab, LF ou CR |
[espace] |
| en-tête de l'image |
largeur de l’image en caractère ASCII |
5 |
| |
un séparateur |
[espace] |
| |
hauteur de l’image en caractère ASCII |
6 |
| |
un séparateur |
[espace] |
| Corps |
N = nombre de niveaux de gris moins 1 = valeur
max |
4 |
| |
codage de chaque pixel ligne par ligne, en partant du coin
haut-gauche
PGM ASCII :
les valeurs des pixels en ASCII séparées par
un séparateur (espace)
PGM raw :
si N-1 < 256 chaque valeur est codée sur 1
octet
si N-1 ? 256 chaque valeur est codée sur 2
octets
l’octet le plus significatif est le 1er (Big Endian)
|
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
0 1 2 3 4 puis un dernier 0 à la fin |
- Exemple d'une image PGM en codage ASCII (à recopier simplement dans un bloc-notes avec l'extension .pgm):
P2 5 6 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0