Portable Graymap (.pgm)

Netpbm Standard

Portable Graymap Format (PGM) er gråtonebilledspecifikationen i Netpbm-familien, som er meget brugt inden for computersyn, robotteknologi, optisk inspektion og digitale billedbehandlingsalgoritmer.

Undersøg & Metadata

Operativsystemer og filanalysatorer identificerer PGM-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

100% privat konvertering i browseren - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 bytes uploadet til eksterne servere. Al behandling foregik lokalt i din browsers sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer PGM-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

50 32 / 50 35

ASCII-REPRÆSENTATION: P2 / P5

Standardisering: Netpbm Library Standard

Tekniske 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
BytterejsningBig-Endian (for 16-bit binary samples in P5 mode)
FarverumLinear Grayscale or sRGB Grayscale
Kanaler og struktur1 channel grayscale (8-bit or 16-bit precision)
Maks. dimensionerPractically unlimited (supports arbitrary 64-bit coordinate space)
GennemsigtighedNone
Streaming og progressivSequential row-by-row streaming playback

Tekniske sammenligningsmatrix: PGM vs. konkurrenter

Teknisk attributPGM (Aktuel)PBMPPMPNG
FarvetilstandGråtoner (8-bit / 16-bit)1-bit monokromRGB Truecolor (24-bit / 48-bit)Gråtoner, RGB, RGBA
Netpbm-søskendePGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Ikke-Netpbm W3C-standard
Magiske bytesP2 (ASCII) / P5 (Binær)P1 (ASCII) / P4 (Binær)P3 (ASCII) / P6 (Binær)‰PNG....
KomprimeringUkomprimeretUkomprimeretUkomprimeretTabsfri Deflate

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Billedet vises inverteret eller fuldstændig udbrændt hvidt.

Grundlæggende årsag: Fejmatchet 'maxval'-parameter i hovedet (f.eks. maxval erklæret som 1 i stedet for 255).

Gendannelse: Ret maxval-hovedlinjen eller omkod med File2File Netpbm Converter.

Sikkerhedsanalyse og parser-angrebsvektorer

PGM-afkodere skal omhyggeligt validere, at de parsede pixelantal matcher de erklærede dimensioner for at forhindre bufferoverløb.

Kendte angrebsvektorer

  • Heltals-overløb under allokering af bredde * højde * (maxval > 255 ? 2 : 1) buffer.
  • Bufferoverlæsning ved læsning af malformede ASCII-nummertokens.
  • Nægtelse af tjeneste (DoS) gennem massiv hukommelsesallokering udløst af fabrikerede hoveddimensioner.

Defensive bedste praksisser:

Historisk oprindelse og milepæle

200016-bit dybde (maxval op til 65535) standardiseret i binær P5-tilstand til videnskabelig billedbehandling.
1993Inkorporeret i Netpbm-værktøjskassen som standard-mellemliggende gråtoneformat.
1989Jef Poskanzer opretter PGM som supplement til PBM med fuld 256-niveaus gråtoneunderstøttelse.

Vigtige fordele og styrker

  • Nul kompleksitet: ekstremt enkelt at fortolke og skrive i C, Python eller WebAssembly uden eksterne biblioteker.
  • Indbygget 16-bits gråtoneunderstøttelse gør det ideelt til højde- og dybdekort samt termisk billedbehandling.
  • ASCII-tilstand (P2) muliggør direkte inspektion og manipulation af rå pixelværdier i almindelige teksteditorer.

Tekniske begrænsninger og ulemper

  • Ingen komprimering: store filstørrelser sammenlignet med komprimerede formater som PNG.
  • Mangler metadata for fysiske dimensioner, farverum eller geolokalisering.
  • Strengt enkeltkanal: kan ikke gemme farvedata eller gennemsigtighed (alfa).

Interessant teknisk trivia

  • OpenCV, ROS (Robot Operating System) og maskinsynssystemer bruger ofte PGM til SLAM-navigationskort.
  • Spiludviklere bruger ofte 16-bits PGM-filer som terrænhøjdekort, fordi de rå højde-data er ukomprimerede og nemme at indlæse.
  • Parametret 'maxval' i filhovedet definerer den maksimale lysstyrkeværdi (typisk 255 for 8-bit eller 65535 for 16-bit).

Ofte stillede tekniske spørgsmål

Hvad bruges PGM-formatet til?

PGM bruges primært inden for computersyn (OpenCV), robotteknologi (ROS-kortfiler), videnskabelig billedbehandling og generering af 3D-terrænhøjde-kort (heightmaps).

Hvad er forskellen mellem P2- og P5 PGM-filer?

P2 er ren ASCII-tekst, hvor hver pixel er et skrevet tal, mens P5 gemmer pixels som kompakte binære bytes.

Hvordan kan jeg konvertere PGM til JPG eller PNG?

Upload din PGM-fil til File2File.app for at konvertere den til PNG eller JPG direkte i din browser med fuldstændig privatliv.