Portable Graymap (.pgm)

Netpbm Standardno

Portable Graymap Format (PGM) je specifikacija slika u nijansama sive iz Netpbm porodice, koja se naširoko koristi u algoritmima računarskog vida, robotike, optičke inspekcije i obrade digitalnih slika.

Pregledaj i metapodaci

Operativni sistemi i analizatori datoteka identifikuju PGM datoteke proverom početnog binarnog niza bajtova:

Изаберите или превуците датотеке овде

100% приватна конверзија у прегледачу – датотеке никада не напуштају ваш уређај

или налепите Ctrl+V
100% Локална обрада у прегледачу 0 бајтова послато спољним серверима. Сва обрада је извршена локално у безбедном окружењу вашег прегледача.

Potpis zaglavlja na nivou bajtova (Magic Bytes)

Operativni sistemi i analizatori datoteka identifikuju PGM datoteke proverom početnog binarnog niza bajtova:

HEX POTPIS (OFFSET 0):

50 32 / 50 35

ASCII REPREZENTACIJA: P2 / P5

Standardizacija: Netpbm Library Standard

Tehničke specifikacije

Arhitektura kontejneraASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
KompresijaUncompressed raw binary bytes or human-readable ASCII text numbers
Bajtni redosled (Endianness)Big-Endian (for 16-bit binary samples in P5 mode)
Prostori bojaLinear Grayscale or sRGB Grayscale
Kanali i struktura1 channel grayscale (8-bit or 16-bit precision)
Maksimalne dimenzijePractically unlimited (supports arbitrary 64-bit coordinate space)
TransparentnostNone
Strimovanje i progresivno učitavanjeSequential row-by-row streaming playback

Tehnička matrica poređenja: PGM vs Konkurenti

Tehnički atributPGM (Trenutno)PBMPPMPNG
Režim bojaNijanse sive (8-bitne / 16-bitne)1-bitni monohromatskiRGB prave boje (24-bitne / 48-bitne)Nijanse sive, RGB, RGBA
Netpbm srodnikPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)W3C standard koji nije iz Netpbm paketa
Magični bajtoviP2 (ASCII) / P5 (Binarno)P1 (ASCII) / P4 (Binarno)P3 (ASCII) / P6 (Binarno)‰PNG....
KompresijaNekomprimovanoNekomprimovanoNekomprimovanoDeflate bez gubitaka

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Slika se prikazuje izvrnuto ili potpuno preosvetljeno belo.

Osnovni uzrok: Nepodudaranje parametra „maxval" u zaglavlju (npr. maxval je deklarisan kao 1 umesto 255).

Oporavak: Ispravite liniju zaglavlja za maxval ili izvršite transkodiranje pomoću File2File Netpbm konvertera.

Bezbednosna analiza i vektori napada parsera

PGM dekoderi moraju pažljivo da potvrde da parsirani broj piksela odgovara deklarisanim dimenzijama kako bi se sprečilo prekoračenje bafera.

Poznati vektori napada

  • Preliv celobrojne vrednosti tokom alokacije bafera širina * visina * (maxval > 255 ? 2 : 1).
  • Prekoračenje čitanja bafera pri čitanju nepravilnih tokena ASCII brojeva.
  • Uskraćivanje usluge (DoS) kroz masivnu alokaciju memorije pokrenutu lažnim dimenzijama u zaglavlju.

Defanzivne najbolje prakse:

Istorijat i prekretnice

200016-bitna dubina (maksimalna vrednost do 65535) standardizovana u binarnom P5 režimu za naučno snimanje.
1993Uključeno u Netpbm alatke kao standardni srednji format nijansi sive.
1989Džef Poskanzer kreira PGM kao dopunu za PBM sa potpunom podrškom za 256 nivoa sive.

Ključne prednosti

  • Nulta složenost: izuzetno jednostavno za parsiranje i zapisivanje u programskim jezicima C, Python ili WebAssembly bez spoljnih biblioteka.
  • Izvorna podrška za 16-bitne nijanse sive čini ga idealnim za mape visina, mape dubine i termalno snimanje.
  • ASCII režim (P2) omogućava direktan pregled i manipulaciju sirovim vrednostima piksela u standardnim uređivačima teksta.

Tehnička ograničenja i nedostaci

  • Nema kompresije: velike veličine datoteka u poređenju sa kompresovanim formatima poput PNG-a.
  • Nedostaju mu metapodaci za fizičke dimenzije, prostore boja ili geolokaciju.
  • Strogo jednokanalni format: ne može da skladišti podatke u boji niti alfa providnost.

Zanimljivosti

  • OpenCV, ROS (Robot Operating System) i sistemi mašinskog vida često koriste PGM za SLAM navigacione mape.
  • Programeri igara često koriste 16-bitne PGM datoteke kao mape visina terena jer su sirovi podaci o nadmorskoj visini nekompresovani i laki za učitavanje.
  • Parametar „maxval" u zaglavlju definiše maksimalnu vrednost osvetljenosti (obično 255 za 8-bitne ili 65535 za 16-bitne vrednosti).

Često postavljana tehnička pitanja

Za šta se koristi PGM format?

PGM se prvenstveno koristi u računarskom vidu (OpenCV), robotici (ROS mape datoteka), naučnom snimanju i generisanju mapa visine 3D terena (heightmap).

Koja je razlika između P2 i P5 PGM datoteka?

P2 je običan ASCII tekst gde je svaki piksel upisani broj, dok P5 skladišti piksele kao kompaktne binarne bajtove.

Kako mogu da konvertujem PGM u JPG ili PNG?

Otpremite svoju PGM datoteku na File2File.app da biste je konvertovali u PNG ili JPG direktno u pretraživaču uz potpunu privatnost.