Che cos'è il formato di file PGM?
.pgm (abbreviazione di Portable Gray Map) è un formato di file associato a Netpbm, un toolkit grafico bitmap multipiattaforma.
Cosa contengono i file PGM?
I file PGM memorizzano immagini in scala di grigi a 8 o 16 bit. Un singolo file .pgm può contenere più immagini di questo tipo. Ogni pixel può assumere un valore da 0 (nero) a 65 535 (bianco).
Come vengono salvati i dati nei file PGM?
I file PGM possono salvare i dati nelle seguenti varianti:
- testo normale (intestazione del file con numero magico
P2), codifica ASCII leggibile dall'uomo - binario (intestazione del file con numero magico
P5), che memorizza campioni binari grezzi per pixel
Entrambe le varianti supportano più immagini concatenate in un unico file. L'intestazione del file definisce larghezza, altezza e il valore massimo di grigio (Maxval). Il corpo del file contiene i valori dei campioni per ogni pixel dell'immagine.
A cosa servono i file PGM?
Un file .pgm è un esempio dell'implementazione dello standard .pnm (Portable Anymap). I file PGM sono utilizzati principalmente come formato di interscambio di immagini nell'elaborazione delle immagini, nelle pipeline di computer vision e nei toolkit grafici. Oltre a PGM, sono disponibili altre implementazioni della stessa famiglia:
Sicurezza e incolumità
RISCHIO: LOWPGM è un'immagine raster passiva e completamente documentata - intestazione più dati pixel, senza script o contenuti eseguibili, quindi aprirne uno è sicuro. Le uniche precauzioni pratiche non riguardano malware: i file sono grandi perché PGM non è compresso (converti in PNG per risparmiare spazio), e un'intestazione malformata o sovradimensionata potrebbe far allocare a un parser ingenuo un buffer enorme, quindi usa un visualizzatore aggiornato. Non ci sono problemi di privacy relativi a metadati/EXIF poiché il formato non ne trasporta.
Dettagli del formato
in sintesiProgrammi che aprono file PGM
Dettagli tecnici
specifiche approfondite| Famiglia del formato | Famiglia Netpbm PNM, insieme a .pbm (bitmap a 1 bit) e .ppm (colori RGB) |
| Modello di colore | Solo scala di grigi - nessun canale colore, nessun canale alfa |
| Profondità colore | 8 bit (Maxval 255, 256 sfumature di grigio) o 16 bit (Maxval fino a 65 535) |
| Numero magico | «P2» (0x50 0x32) per la variante ASCII; «P5» (0x50 0x35) per la variante binaria - situato all'offset 0 |
| Tipo MIME | image/x-portable-graymap |
| Varianti di codifica | P2: valori dei pixel in ASCII normale leggibile dall'uomo; P5: dati dei pixel binari grezzi - l'intestazione è sempre testo ASCII in entrambe le varianti |
| Compressione | Nessuna - i campioni di pixel sono memorizzati grezzi e non compressi |
| Ordine dei byte | Big-endian per campioni a 16 bit (quando Maxval > 255); i campioni a 8 bit occupano un singolo byte ciascuno |
| Byte per campione | 1 byte per pixel quando Maxval ≤ 255; 2 byte big-endian per pixel quando Maxval > 255 |
| Struttura dell'intestazione | Campi ASCII separati da spazi bianchi nell'ordine: numero magico, larghezza immagine, altezza immagine, Maxval - seguiti da un singolo delimitatore di spazio bianco, quindi il raster dei pixel |
| Supporto multi-immagine | Più immagini possono essere concatenate sequenzialmente all'interno di un unico file .pgm (sia varianti P2 che P5) |
| Limite dimensioni | Nessun massimo imposto dal formato; limitato solo dall'intervallo di interi ASCII nell'intestazione e dalla memoria disponibile |
| Dimensione tipica del file | Non compresso; scala come larghezza × altezza × byte-per-campione - variando da kilobyte per immagini piccole a decine di megabyte per quelle grandi |
| Sviluppatore | Jef Poskanzer, originato dal toolkit Pbmplus (successivamente continuato come progetto Netpbm) |
| Supporto piattaforma | Windows, macOS, Linux, Unix - gestito nativamente dagli strumenti Netpbm e supportato dalla maggior parte delle librerie di elaborazione immagini (OpenCV, ImageMagick, GIMP) |
| Rilasciato | 1988 (Pbmplus toolkit, later Netpbm) |
| Ultima versione | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Standard aperto | Sì · royalty-free |
| Specifica | netpbm.sourceforge.net |
Conversioni PGM
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PGM.