Hva er PGM-filformatet?
.pgm (forkortelse for Portable Gray Map) er et filformat assosiert med Netpbm, en plattformuavhengig verktøykasse for punktgrafikk.
Hva inneholder PGM-filer?
PGM-filer lagrer 8- eller 16-biters gråtonebilder. En enkelt .pgm-fil kan lagre flere slike bilder. Hver piksel kan ha en verdi fra 0 (svart) til 65 535 (hvitt).
Hvordan lagres data i PGM-filer?
PGM-filer kan lagre data i følgende varianter:
- ren tekst (filhode med det magiske tallet
P2), menneskelig lesbar ASCII-koding - binær (filhode med det magiske tallet
P5), lagrer rå binære prøver per piksel
Begge variantene støtter flere sammenslåtte bilder i én enkelt fil. Filhodet definerer bredde, høyde og den maksimale gråverdien (Maxval). Selve filkroppen inneholder prøveverdier for hver bildepiksel.
Hva brukes PGM-filer til?
En .pgm-fil er et eksempel på implementeringen av standarden .pnm (Portable Anymap). PGM-filer brukes hovedsakelig som et utvekslingsformat for bilder innen bildebehandling, datasyn og grafiske verktøykjeder. Ved siden av PGM er andre implementeringer i samme familie tilgjengelige:
Sikkerhet og trygghet
RISIKO: LOWPGM er et passivt, fullt dokumentert rasterbilde - filhode pluss pikseldata, ingen skript eller eksekverbart innhold, så det er trygt å åpne dem. De eneste praktiske forholdsreglene er ikke-skadelige: filene er store fordi PGM er ukomprimert (konverter til PNG for å spare plass), og et feilutformet eller overdimensjonert filhode kan få en enkel parser til å tildele en enorm minnebuffer, så bruk en oppdatert bildeviser. Det er ingen personvernbekymringer knyttet til metadata/EXIF da formatet ikke inneholder dette.
Formatdetaljer
i et nøtteskallProgrammer som åpner PGM-filer
Tekniske detaljer
dyp spesifikasjon| Formatfamilie | Netpbm PNM-familien, sammen med .pbm (1-bit punktgrafikk) og .ppm (RGB-farge) |
| Fargemodell | Kun gråtoner - ingen fargekanaler, ingen alfakanal |
| Fargedybde | 8-bit (Maxval 255, 256 gråtoner) eller 16-bit (Maxval opptil 65 535) |
| Magisk tall | «P2» (0x50 0x32) for ASCII-varianten; «P5» (0x50 0x35) for den binære varianten - plassert ved offset 0 |
| MIME-type | image/x-portable-graymap |
| Kodingsvarianter | P2: menneskelig lesbare ASCII-pikselverdier; P5: rå binære pikseldata - filhodet er alltid ASCII-tekst i begge varianter |
| Komprimering | Ingen - pikselprøver lagres rått og ukomprimert |
| Byterekkefølge | Big-endian for 16-biters prøver (når Maxval > 255); 8-biters prøver opptar én enkelt byte hver |
| Byte per prøve | 1 byte per piksel når Maxval ≤ 255; 2 big-endian byte per piksel når Maxval > 255 |
| Struktur på filhode | Mellomromsseparerte ASCII-felt i rekkefølge: magisk tall, bildebredde, bildehøyde, Maxval - etterfulgt av en enkelt skilletegn (whitespace), deretter pikselrasteret |
| Støtte for flere bilder | Flere bilder kan slås sammen sekvensielt i én .pgm-fil (både P2- og P5-varianter) |
| Dimensjonsbegrensning | Ingen begrensning pålagt av formatet; kun begrenset av ASCII-heltallsområdet i filhodet og tilgjengelig minne |
| Typisk filstørrelse | Ukomprimert; skaleres som bredde × høyde × byte-per-prøve - varierer fra kilobyte for små bilder til titalls megabyte for store |
| Utvikler | Jef Poskanzer, opprinnelig fra Pbmplus-verktøykassen (senere videreført som Netpbm-prosjektet) |
| Plattformstøtte | Windows, macOS, Linux, Unix - håndteres naturlig av Netpbm-verktøy og støttes av de fleste bildebehandlingsbiblioteker (OpenCV, ImageMagick, GIMP) |
| Utgitt | 1988 (Pbmplus toolkit, later Netpbm) |
| Siste versjon | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | netpbm.sourceforge.net |
PGM-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PGM-filer.