Graymap portatile (.pgm)

Netpbm Standard

Portable Graymap Format (PGM) este specificația pentru imagini în tonuri de gri a familiei Netpbm, utilizată pe scară largă în viziune computerizată, robotică, inspecție optică și algoritmi de procesare digitală a imaginilor.

Inspectează și Metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele PGM prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Conversie 100% privată în browser - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate cu zero transmisie în rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (Magic Bytes)

Sistemele de operare și analizatoarele de fișiere identifică fișierele PGM prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEX (OFFSET 0):

50 32 / 50 35

REPREZENTARE ASCII: P2 / P5

Standardizare: Netpbm Library Standard

Specificații tehnice

Arhitectură containerASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
CompresieUncompressed raw binary bytes or human-readable ASCII text numbers
Endianitatea octețilorBig-Endian (for 16-bit binary samples in P5 mode)
Spații de culoareLinear Grayscale or sRGB Grayscale
Canale și structură1 channel grayscale (8-bit or 16-bit precision)
Dimensiuni maximePractically unlimited (supports arbitrary 64-bit coordinate space)
TransparențăNone
Streaming și progresivSequential row-by-row streaming playback

Matrice de comparație tehnică: PGM vs Competitori

Atribut tehnicPGM (Curent)PBMPPMPNG
Mod de culoareTonuri de gri (8 biți / 16 biți)Monocrom pe 1 bitTruecolor RGB (24 biți / 48 biți)Tonuri de gri, RGB, RGBA
Înrudit NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Standard W3C non-Netpbm
Octeți magiciP2 (ASCII) / P5 (Binar)P1 (ASCII) / P4 (Binar)P3 (ASCII) / P6 (Binar)‰PNG....
CompresieNecomprimatNecomprimatNecomprimatDeflate fără pierderi

Moduri comune de corupție și ghid de recuperare hexazecimală

Imaginea se afișează inversată sau complet albă, arsă.

Cauză principală: Parametru „maxval" nepotrivit în antet (de ex. maxval declarat ca 1 în loc de 255).

Recuperare: Corectați linia de antet maxval sau transcodați cu File2File Netpbm Converter.

Analiză de securitate și vectori de atac asupra parserului

Decodoarele PGM trebuie să valideze cu atenție că numărul de pixeli analizați corespunde dimensiunilor declarate pentru a preveni depășirea memoriei tampon.

Vectori de atac cunoscuți

  • Depășire de întregi în timpul alocării tamponului lățime * înălțime * (maxval > 255 ? 2 : 1).
  • Citire excesivă a memoriei tampon la citirea jetoanelor numerice ASCII malformate.
  • Refuz de serviciu prin alocare masivă de memorie declanșată de dimensiuni fabricate în antet.

Cele mai bune practici de securitate:

Origini istorice și repere

2000Adâncimea pe 16 biți (valoare maximă de până la 65535) standardizată în modul binar P5 pentru imagistică științifică.
1993Încorporat în setul de instrumente Netpbm ca format intermediar standard pentru tonuri de gri.
1989Jef Poskanzer creează PGM pentru a completa PBM cu suport complet pentru tonuri de gri pe 256 de niveluri.

Avantaje cheie și beneficii

  • Complexitate zero: extrem de simplu de analizat sintactic și de scris în C, Python sau WebAssembly fără biblioteci externe.
  • Suportul nativ pentru tonuri de gri pe 16 biți îl face ideal pentru hărți de altitudine (heightmaps), hărți de adâncime și imagistică termică.
  • Modul ASCII (P2) permite inspecția directă și manipularea valorilor brute ale pixelilor în editoare de text standard.

Limitări tehnice și dezavantaje

  • Fără compresie: amprente mari ale fișierelor în comparație cu formatele comprimate precum PNG.
  • Lipsește metadatele pentru dimensiuni fizice, spații de culoare sau geolocalizare.
  • Strict cu un singur canal: nu poate stoca date de culoare sau transparență alfa.

Curiozități tehnice interesante

  • OpenCV, ROS (Robot Operating System) și sistemele de viziune mașină utilizează frecvent PGM pentru hărți de navigație SLAM.
  • Dezvoltatorii de jocuri folosesc adesea fișiere PGM pe 16 biți ca hărți de teren deoarece datele de relief brute sunt necomprimate și ușor de încărcat.
  • Parametrul „maxval" din antet definește valoarea maximă de luminozitate (de obicei 255 pentru 8 biți sau 65535 pentru 16 biți).

Întrebări tehnice frecvente

Pentru ce este folosit formatul PGM?

PGM este utilizat în principal în viziune computerizată (OpenCV), robotică (fișiere de hartă ROS), imagistică științifică și generarea de hărți de elevație a terenului 3D.

Care este diferența dintre fișierele PGM P2 și P5?

P2 este text ASCII pur în care fiecare pixel este un număr scris, în timp ce P5 stochează pixelii ca octeți binari compacți.

Cum pot converti PGM în JPG sau PNG?

Încarcă fișierul tău PGM pe File2File.app pentru a-l converti în PNG sau JPG direct în browserul tău cu confidențialitate completă.