Hvad er PGM-filformatet?
.pgm (forkortelse for Portable Gray Map) er et filformat tilknyttet Netpbm, et cross-platform toolkit til bitmap-grafik.
Hvad indeholder PGM-filer?
PGM-filer gemmer 8- eller 16-bit gråtonebilleder. En enkelt .pgm-fil kan gemme flere af sådanne billeder. Hver pixel kan have en værdi fra 0 (sort) til 65 535 (hvid).
Hvordan gemmes data i PGM-filer?
PGM-filer kan gemme data i følgende varianter:
- almindelig tekst (filhoved med magic number
P2), menneskeligt læsbar ASCII-kodning - binær (filhoved med magic number
P5), der gemmer rå binære samples per pixel
Begge varianter understøtter flere sammenkædede billeder i en enkelt fil. Filhovedet definerer bredde, højde og den maksimale gråværdi (Maxval). Selve filens indhold indeholder sample-værdier for hver billedpixel.
Hvad bruges PGM-filer til?
En .pgm-fil er et eksempel på implementeringen af .pnm (Portable Anymap) standarden. PGM-filer bruges hovedsageligt som et format til udveksling af billeder inden for billedbehandling, computer vision og grafiske værktøjskæder. Udover PGM findes andre implementeringer i samme familie:
Sikkerhed og tryghed
RISIKO: LOWPGM er et passivt, fuldt dokumenteret rasterbillede - filhoved plus pixeldata, ingen scripts eller eksekverbart indhold, så det er sikkert at åbne en. De eneste praktiske forholdsregler er ikke-malware: filer er store, fordi PGM er ukomprimeret (konverter til PNG for at spare plads), og et misdannet eller overdimensioneret filhoved kan få en simpel parser til at allokere en enorm buffer, så brug en opdateret fremviser. Der er ingen bekymringer om metadata/EXIF-privatliv, da formatet ikke indeholder nogen.
Formatdetaljer
kort fortaltProgrammer der åbner PGM-filer
Tekniske detaljer
dyb specifikation| Formatfamilie | Netpbm PNM-familien, sammen med .pbm (1-bit bitmap) og .ppm (RGB-farve) |
| Farvemodel | Kun gråtoner - ingen farvekanaler, ingen alfakanal |
| Farvedybde | 8-bit (Maxval 255, 256 gråtoner) eller 16-bit (Maxval op til 65 535) |
| Magic number | «P2» (0x50 0x32) for ASCII-varianten; «P5» (0x50 0x35) for den binære variant - placeret ved offset 0 |
| MIME-type | image/x-portable-graymap |
| Kodningsvarianter | P2: menneskeligt læsbare ASCII-pixelværdier; P5: rå binære pixeldata - filhovedet er altid ASCII-tekst i begge varianter |
| Komprimering | Ingen - pixel-samples gemmes råt og ukomprimeret |
| Byte-orden | Big-endian for 16-bit samples (når Maxval > 255); 8-bit samples fylder én byte hver |
| Bytes per sample | 1 byte per pixel når Maxval ≤ 255; 2 big-endian bytes per pixel når Maxval > 255 |
| Filhoved-struktur | Mellemrumseparerede ASCII-felter i rækkefølge: magic number, billedbredde, billedhøjde, Maxval - efterfulgt af en enkelt mellemrums-separator, derefter pixel-rasteret |
| Understøttelse af flere billeder | Flere billeder kan sammenkædes sekventielt i én .pgm-fil (både P2- og P5-varianter) |
| Dimensionsgrænse | Ingen grænse pålagt af formatet; kun begrænset af ASCII-heltalsområdet i filhovedet og tilgængelig hukommelse |
| Typisk filstørrelse | Ukomprimeret; skalerer som bredde × højde × bytes-per-sample - spænder fra kilobytes for små billeder til titusindvis af megabytes for store |
| Udvikler | Jef Poskanzer, oprindeligt fra Pbmplus-toolkittet (senere fortsat som Netpbm-projektet) |
| Platform-understøttelse | Windows, macOS, Linux, Unix - håndteres indfødt af Netpbm-værktøjer og understøttes af de fleste billedbehandlingsbiblioteker (OpenCV, ImageMagick, GIMP) |
| Udgivet | 1988 (Pbmplus toolkit, later Netpbm) |
| Seneste version | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Åben standard | Ja · royaltyfri |
| Specifikation | netpbm.sourceforge.net |
PGM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PGM-filer.