Qu'est-ce que le format de fichier PNM ?
.pnm (Portable Anymap) est une extension générique couvrant trois sous-formats d'images matricielles non compressées de la famille Netpbm : PBM (Portable Bitmap, noir et blanc 1 bit), PGM (Portable Graymap, niveaux de gris) et PPM (Portable Pixmap, couleur). Le sous-type réel de tout fichier .pnm est identifié par ses deux premiers octets : P1-P3 pour les variantes ASCII (« plain ») et P4-P6 pour les variantes binaires (« raw »).
Jef Poskanzer a créé le format PBM original en 1988 dans le cadre de sa boîte à outils Pbmplus, ajoutant PGM et PPM peu après. Les formats ont été conçus pour être la représentation d'image sans perte la plus simple possible, capable de survivre au transit via des liaisons de messagerie 7 bits. Les variantes ASCII stockent les valeurs de pixels sous forme d'entiers décimaux séparés par des espaces après un en-tête en texte brut ; les variantes binaires regroupent les octets bruts immédiatement après l'en-tête pour un stockage plus compact.
La profondeur de couleur varie de 1 bpp (PBM) à 16 bpp par canal (PGM/PPM avec une valeur maximale de 16 bits), produisant jusqu'à 48 bpp pour les images couleur. Le format ne définit aucune compression, aucun chiffrement, aucun profil de couleur, aucune donnée EXIF ni aucune vignette - il est délibérément minimal.
PNG est le remplaçant moderne pour le stockage sans perte, mais les fichiers .pnm restent un format intermédiaire omniprésent dans les pipelines de traitement d'images Unix. ImageMagick, GIMP, FFmpeg et pratiquement tous les outils d'image Unix lisent et écrivent nativement ce format.
Sécurité et sûreté
RISQUE : LOWPNM/PBM/PGM/PPM font partie des formats d'image les plus simples - en-tête en texte brut plus données de pixels bruts (ou valeurs ASCII). Pas d'exécution de code, pas de script, pas d'exploits de compression. Très sûr à ouvrir. Le risque principal est la taille de fichier non compressé trivialement grande pour les images haute résolution.
Détails du format
en brefProgrammes qui ouvrent les fichiers PNM
Détails techniques
spécifications approfondies| Sous-formats | Générique pour PBM (P1/P4, 1 bit), PGM (P2/P5, niveaux de gris) et PPM (P3/P6, couleur) |
| Octets magiques | 2 premiers octets : `P` (0x50) + chiffre `1`-`6` (0x31-0x36) - identifie le sous-type et l'encodage ASCII vs binaire |
| Variantes ASCII (P1-P3) | Valeurs de pixels stockées sous forme d'entiers décimaux séparés par des espaces - lisibles par l'homme et compatibles 7 bits |
| Variantes binaires (P4-P6) | Octets de pixels bruts regroupés immédiatement après l'en-tête ASCII - plus compact, mêmes données logiques |
| Compression | Aucune - données de pixels stockées sans compression dans toutes les variantes |
| Profondeur de couleur | 1 bpp (PBM) ; 8 ou 16 bpp par canal en niveaux de gris (PGM) ; 24 ou 48 bpp en couleur (PPM avec valeur maximale de 16 bits) |
| Structure de l'en-tête | Champs ASCII : nombre magique, lignes de commentaires `#` facultatives, largeur, hauteur, puis valeur maximale (absente pour P1/P4 1 bit) |
| Ordre des octets | Big-endian pour les échantillons 16 bits dans les variantes binaires P5/P6 ; non applicable pour les formats 8 bits ou ASCII |
| Contrainte de valeur maximale | Doit être comprise entre 1 et 65 535 (uint16) ; les valeurs ≤ 255 utilisent 1 octet par échantillon dans les modes binaires P4-P6 |
| Dimensions | Pas de maximum défini ; limité en pratique par la mémoire système disponible |
| Type MIME | `image/x-portable-anymap` ; sous-types : `image/x-portable-bitmap`, `image/x-portable-graymap`, `image/x-portable-pixmap` |
| Extension PAM | P7 (`.pam`, Portable Arbitrary Map) étend le PNM à des nombres de canaux et des profondeurs de bits arbitraires |
| Utilisation typique | Format intermédiaire de pipeline de traitement d'images Unix ; E/S natives pour ImageMagick, GIMP, FFmpeg et la plupart des outils d'image Unix |
| Publié | 1988 (Jef Poskanzer's Pbmplus toolkit; PBM first, PGM and PPM by year-end) |
| Dernière version | Netpbm 11.x (2020s); format spec stable since early 1990s |
| Standard ouvert | Oui · libre de droits |
| Spécification | netpbm.sourceforge.net |
Conversions PNM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PNM.