Vad är filformatet PGM?
.pgm (förkortning för Portable Gray Map) är ett filformat associerat med Netpbm, en plattformsoberoende verktygsuppsättning för bitmappsgrafik.
Vad innehåller PGM-filer?
PGM-filer lagrar 8- eller 16-bitars gråskalebilder. En enskild .pgm-fil kan lagra flera sådana bilder. Varje pixel kan anta ett värde från 0 (svart) till 65 535 (vitt).
Hur sparas data i PGM-filer?
PGM-filer kan spara data i följande varianter:
- klartext (filhuvud med det magiska numret
P2), läsbar ASCII-kodning - binär (filhuvud med det magiska numret
P5), lagrar råa binära samplingar per pixel
Båda varianterna stöder flera sammanfogade bilder i en enda fil. Filhuvudet definierar bredd, höjd och det maximala gråvärdet (Maxval). Filens kropp innehåller samplingsvärden för varje bildpixel.
Vad används PGM-filer till?
En .pgm-fil är ett exempel på implementeringen av standarden .pnm (Portable Anymap). PGM-filer används främst som ett utbytesformat för bilder inom bildbehandling, datorseende och grafiska verktygskedjor. Förutom PGM finns andra implementeringar i samma familj tillgängliga:
Säkerhet & trygghet
RISK: LOWPGM är en passiv, fullt dokumenterad rasterbild - filhuvud plus pixeldata, inga skript eller exekverbart innehåll, så det är säkert att öppna en. De enda praktiska varningarna är icke-skadliga: filerna är stora eftersom PGM är okomprimerad (konvertera till PNG för att spara utrymme), och ett felaktigt eller överdimensionerat filhuvud kan få en enkel parser att allokera en enorm buffert, så använd en uppdaterad bildvisare. Det finns inga integritetsrisker med metadata/EXIF eftersom formatet inte bär på sådant.
Formatdetaljer
i ett nötskalProgram som öppnar PGM-filer
Tekniska detaljer
djup specifikation| Formatfamilj | Netpbm PNM-familjen, tillsammans med .pbm (1-bitars bitmapp) och .ppm (RGB-färg) |
| Färgmodell | Endast gråskala - inga färgkanaler, ingen alfakanal |
| Färgdjup | 8-bitars (Maxval 255, 256 gråtoner) eller 16-bitars (Maxval upp till 65 535) |
| Magiskt nummer | „P2” (0x50 0x32) för ASCII-varianten; „P5” (0x50 0x35) för den binära varianten - placerat vid offset 0 |
| MIME-typ | image/x-portable-graymap |
| Kodningsvarianter | P2: läsbara ASCII-pixelvärden; P5: rå binär pixeldata - filhuvudet är alltid ASCII-text i båda varianterna |
| Komprimering | Ingen - pixelsamplingar lagras råa och okomprimerade |
| Byteordning | Big-endian för 16-bitars samplingar (när Maxval > 255); 8-bitars samplingar upptar en enskild byte vardera |
| Bytes per sampling | 1 byte per pixel när Maxval ≤ 255; 2 big-endian bytes per pixel när Maxval > 255 |
| Filhuvudets struktur | Blankstegsseparerade ASCII-fält i ordning: magiskt nummer, bildbredd, bildhöjd, Maxval - följt av en enskild blankstegsavgränsare, sedan pixelrastret |
| Stöd för flera bilder | Flera bilder kan sammanfogas sekventiellt i en .pgm-fil (både P2- och P5-varianter) |
| Dimensionsgräns | Ingen maxgräns påtvingad av formatet; begränsas endast av ASCII-heltalsintervallet i filhuvudet och tillgängligt minne |
| Typisk filstorlek | Okomprimerad; skalar som bredd × höjd × bytes-per-sampling - sträcker sig från kilobyte för små bilder till tiotals megabyte för stora |
| Utvecklare | Jef Poskanzer, ursprungligen från Pbmplus-verktyget (senare fortsatt som Netpbm-projektet) |
| Plattformsstöd | Windows, macOS, Linux, Unix - hanteras nativt av Netpbm-verktyg och stöds av de flesta bildbehandlingsbibliotek (OpenCV, ImageMagick, GIMP) |
| Släppt | 1988 (Pbmplus toolkit, later Netpbm) |
| Senaste version | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | netpbm.sourceforge.net |
PGM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PGM-filer.