Portable Graymap (.pgm)

Netpbm Standard

Portable Graymap Format (PGM) är gråskalebildspecifikationen i Netpbm-familjen, som används flitigt inom datorseende, robotik, optisk inspektion och digitala bildbehandlingsalgoritmer.

Granska & Metadata

Operativsystem och filanalysverktyg identifierar PGM-filer genom att granska den inledande binära bytesekvensen:

Välj eller släpp filer här

100 % privat konvertering i webbläsaren - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddas upp till externa servrar. All bearbetning sker lokalt i webbläsarens sandlåda.

Signatur för filhuvud på bytenivå (Magic Bytes)

Operativsystem och filanalysverktyg identifierar PGM-filer genom att granska den inledande binära bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

50 32 / 50 35

ASCII-REPRESENTATION: P2 / P5

Standardisering: Netpbm Library Standard

Tekniska specifikationer

ContainerarkitekturASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
KomprimeringUncompressed raw binary bytes or human-readable ASCII text numbers
BytessordinningBig-Endian (for 16-bit binary samples in P5 mode)
FärgrymderLinear Grayscale or sRGB Grayscale
Kanaler och struktur1 channel grayscale (8-bit or 16-bit precision)
Maximala dimensionerPractically unlimited (supports arbitrary 64-bit coordinate space)
TransparensNone
Strömning och progressivSequential row-by-row streaming playback

Teknisk jämförelsematris: PGM vs konkurrenter

Tekniskt attributPGM (Aktuell)PBMPPMPNG
FärglägeGråskala (8-bitars / 16-bitars)1-bitars monokromRGB Truecolor (24-bitars / 48-bitars)Gråskala, RGB, RGBA
Netpbm-syskonPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Icke-Netpbm W3C-standard
Magiska bytsP2 (ASCII) / P5 (Binär)P1 (ASCII) / P4 (Binär)P3 (ASCII) / P6 (Binär)‰PNG....
KomprimeringOkomprimeradOkomprimeradOkomprimeradOförstörande Deflate

Vanliga skadeorsaker och hex-återställningsguide

Bilden visas inverterad eller helt utfrätt vit.

Grundorsak: Felaktig 'maxval'-parameter i huvudet (t.ex. maxval deklarerat som 1 istället för 255).

Återställning: Korrigera maxval-huvudraden eller transkoda med File2File Netpbm Converter.

Säkerhetsanalys och attackvektorer för tolkar

PGM-avkodare måste noggrant validera att tolkade pixelantal matchar deklarerade dimensioner för att förhindra buffertöverskridning.

Kända attackvektorer

  • Heltalsspill vid allokering av buffert för bredd * höjd * (maxval > 255 ? 2 : 1).
  • Buffertläsning utanför gränserna vid läsning av felaktiga ASCII-nummertoken.
  • Neka till tjänst (DoS) genom enorm minnesallokering utlöst av fingerade huvuddimensioner.

Rekommenderade skyddsåtgärder:

Historiskt ursprung och milstolpar

200016-bitars djup (maxvärde upp till 65535) standardiseras i det binära P5-läget för vetenskaplig bildbehandling.
1993Inkorporeras i Netpbm-verktygslådan som det standardiserade mellanliggande gråskaleformatet.
1989Jef Poskanzer skapar PGM som komplettering till PGM med fullt stöd för 256 gråskalesteg.

Viktiga fördelar

  • Noll komplexitet: extremt enkelt att tolka och skriva i C, Python eller WebAssembly utan externa bibliotek.
  • Inbyggt 16-bitars gråskalestöd gör det idealiskt för höjdkartor, djupkartor och termisk bildbehandling.
  • ASCII-läget (P2) tillåter direkt inspektion och manipulering av råa pixelvärden i standardtextredigerare.

Tekniska begränsningar

  • Ingen komprimering: stora filstorlekar jämfört med komprimerade format som PNG.
  • Saknar metadata för fysiska dimensioner, färgrymder eller geolokalisering.
  • Strikt enkanals: kan inte lagra färgdata eller alfatransparens.

Intressant teknisk kuriosa

  • OpenCV, ROS (Robot Operating System) och maskinseendesystem använder ofta PGM för SLAM-navigationskartor.
  • Spelutvecklare använder ofta 16-bitars PGM-filer som terränghöjdkartor eftersom rådata för höjder är okomprimerade och enkla att läsa in.
  • Parametern 'maxval' i huvudet definierar det maximala ljusstyrkevärdet (vanligtvis 255 för 8-bitars eller 65535 för 16-bitars).

Vanliga tekniska frågor

Vad används PGM-formatet till?

PGM används främst inom datorseende (OpenCV), robotteknik (ROS-kartfiler), vetenskaplig bildbehandling och generering av höjdkartor för 3D-terräng.

Vad är skillnaden mellan P2- och P5 PGM-filer?

P2 är ren ASCII-text där varje pixel är ett skrivet nummer, medan P5 lagrar pixlar som kompakta binära byte.

Hur kan jag konvertera PGM till JPG eller PNG?

Ladda upp din PGM-fil till File2File.app för att konvertera den till PNG eller JPG direkt i din webbläsare med fullständig integritet.