Portable Graymap (.pgm)

Netpbm Standard

Portable Graymap Format (PGM) er gråtonebildespecifikasjonen i Netpbm-familien, som er mye brukt i datasyn, robotikk, optisk inspeksjon og digitale bildebehandlingsalgoritmer.

Undersøk og metadata

Operativsystemer og filanalysatorer identifiserer PGM-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

100 % privat in-browser-konvertering - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte lastet opp til eksterne servere. All behandling skjedde lokalt i nettlesersandkassen din.

Byte-nivå hodesignatur (Magic Bytes)

Operativsystemer og filanalysatorer identifiserer PGM-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

50 32 / 50 35

ASCII-REPRESENTASJON: P2 / P5

Standardisering: Netpbm Library Standard

Tekniske spesifikasjoner

BeholderarkitekturASCII (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
BytterekkefølgeBig-Endian (for 16-bit binary samples in P5 mode)
FargeromLinear Grayscale or sRGB Grayscale
Kanaler og struktur1 channel grayscale (8-bit or 16-bit precision)
Maks. dimensjonerPractically unlimited (supports arbitrary 64-bit coordinate space)
GjennomsiktighetNone
Strømming og progressivSequential row-by-row streaming playback

Teknisk sammenligningsmatrise: PGM vs konkurrenter

Teknisk attributtPGM (Gjeldende)PBMPPMPNG
FargemodusGråtoner (8-bit / 16-bit)1-bits monokromRGB Truecolor (24-bit / 48-bit)Gråtoner, RGB, RGBA
Netpbm-søskenPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Ikke-Netpbm W3C-standard
Magiske byteP2 (ASCII) / P5 (Binær)P1 (ASCII) / P4 (Binær)P3 (ASCII) / P6 (Binær)‰PNG....
KompresjonUkomprimertUkomprimertUkomprimertTaptetfri Deflate

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Bildet vises invertert eller helt utbrent hvitt.

Underliggende årsak: Feilaktig 'maxval'-parameter i hodet (f.eks. at maxval er erklært som 1 i stedet for 255).

Utbedring: Korriger maxval-hodelinjen eller transkod med File2File Netpbm Converter.

Sikkerhetsanalyse og parser-angrepsvektorer

PGM-dekodere må nøye validere at analyserte pikseltall samsvarer med erklærte dimensjoner for å forhindre bufferoverløp.

Kjente angrepsvektorer

  • Heltallsoverflyt under bredde * høyde * (maxval > 255 ? 2 : 1) buffertildeling.
  • Bufferoverlesing ved lesing av misdannede ASCII-talltoken.
  • Denial of service gjennom massiv minnetildeling utløst av fabrikkerte hodetdimensjoner.

Beste praksis for forsvar:

Historisk opprinnelse og milepæler

200016-bits dybde (maksverdi opp til 65535) standardisert i binær P5-modus for vitenskapelig bildebehandling.
1993Inkorporert i Netpbm-verktøysettet som standard mellomliggende gråtoneformat.
1989Jef Poskanzer oppretter PGM for å utfylle PGM med full støtte for 256-nivåers gråtoner.

Viktige fordeler

  • Null kompleksitet: ekstremt enkelt å analysere og skrive i C, Python eller WebAssembly uten eksterne biblioteker.
  • Innebygd 16-bits gråtonestøtte gjør det ideelt for høydekart, dybdekart og termisk bildebehandling.
  • ASCII-modus (P2) tillater direkte inspeksjon og manipulering av rå pikselsverdier i standard tekstredigeringsprogrammer.

Tekniske begrensninger og ulemper

  • Ingen kompresjon: store filavtrykk sammenlignet med komprimerte formater som PNG.
  • Mangler metadata for fysiske dimensjoner, fargerom eller geolokalisering.
  • Strengt enkanals: kan ikke lagre fargemadata eller alfatransparens.

Interessante tekniske fakta

  • OpenCV, ROS (Robot Operating System) og maskinsynssystemer bruker ofte PGM for SLAM-navigasjonsskilt.
  • Spillutviklere bruker ofte 16-bits PGM-filer som terrenghøydekart fordi de rå høydataene er ukomprimerte og enkle te å laste inn.
  • Parameteren 'maxval' i hodet definerer den maksimale lysstyrkeverdien (vanligvis 255 for 8-bit eller 65535 for 16-bit).

Ofte stilte tekniske spørsmål

Hva brukes PGM-formatet til?

PGM brukes primært innen datasyn (OpenCV), robotikk (ROS-kartfiler), vitenskapelig avbildning og generering av 3D-terrenghøydekart.

Hva er forskjellen mellom P2- og P5 PGM-filer?

P2 er ren ASCII-tekst der hver piksel er et skrevet tall, mens P5 lagrer piksler som kompakte binære byte.

Hvordan kan jeg konvertere PGM til JPG eller PNG?

Last opp PGM-filen din til File2File.app for å konvertere den til PNG eller JPG direkte i nettleseren din med fullstendig personvern.