Przenośna mapa szarości (.pgm)

Netpbm Standard

Format Portable Graymap Format (PGM) je specifikacija sivinskih slik družine Netpbm, ki se pogosto uporablja v računalniškem vidu, robotiki, optični inšpekciji in algoritmih digitalne obdelave slik.

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke PGM s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke PGM s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

50 32 / 50 35

REPREZENTACIJA ASCII: P2 / P5

Standardizacija: Netpbm Library Standard

Tehnične specifikacije

Arhitektura vsebnikaASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
StiskanjeUncompressed raw binary bytes or human-readable ASCII text numbers
Vrstni red bajtovBig-Endian (for 16-bit binary samples in P5 mode)
Barvni prostoriLinear Grayscale or sRGB Grayscale
Kanali in struktura1 channel grayscale (8-bit or 16-bit precision)
Največje dimenzijePractically unlimited (supports arbitrary 64-bit coordinate space)
ProsojnostNone
Pretočno in progresivno predvajanjeSequential row-by-row streaming playback

Tehnična primerjalna matrika: PGM proti konkurenci

Tehnični atributPGM (Trenutno)PBMPPMPNG
Barvni načinSivine (8-bitno / 16-bitno)1-bitna monokromatskaPolne barve RGB (24-bitne / 48-bitne)Sivine, RGB, RGBA
Sorodnik NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Standard W3C izven Netpbm
Magični bajtiP2 (ASCII) / P5 (Binarno)P1 (ASCII) / P4 (Binarno)P3 (ASCII) / P6 (Binarno)‰PNG....
StiskanjeNestisnjenoNestisnjenoNestisnjenoDeflate brez izgub

Pogosti načini okvar in vodič za heksadecimalno obnovo

Slika je prikazana obrnjena ali popolnoma prežgana v belo.

Glavni vzrok: Neprilegajoč se parameter 'maxval' v glavi (npr. maxval je opredeljen kot 1 namesto 255).

Sanacija: Popravite vrstico glave maxval ali izvedite transkodiranje s pretvornikom File2File Netpbm Converter.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Dekoderji PGM morajo skrbno preveriti, ali se razčlenjeno število slikovnih pik ujema z deklariranimi dimenzijami, da preprečijo prekoračitev medpomnilnika.

Znani vektorji napada

  • Prelivanje celoštevilskih vrednosti med dodeljevanjem pomnilnika širina * višina * (maxval > 255 ? 2 : 1).
  • Prekomerno branje med pomnilnikom pri branju napačno oblikovanih žetonov števil ASCII.
  • Zavrnitev storitve prek obsežne dodelitve pomnilnika, ki jo sprožijo ponarejene dimenzije glave.

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

200016-bitna globina (največja vrednost do 65535) je standardizirana v binarnem načinu P5 za znanstveno slikanje.
1993Vključeno v orodje Netpbm kot standardni vmesni sivinski format.
1989Jef Poskanzer ustvari PGM kot dopolnitev formata PGM k PBM s popolno podporo za 256-stopenjske sivine.

Ključne prednosti

  • Ničelna kompleksnost: izjemno preprosto za razčlenjevanje in pisanje v jezikih C, Python ali WebAssembly brez zunanjih knjižnic.
  • Izvorna podpora za 16-bitne sivine ga naredi idealnega za karte višin (heightmaps), karte globin in toplotno slikanje.
  • Način ASCII (P2) omogoča neposreden pregled in manipulacijo surovih vrednosti slikovnih pik v standardnih urejevalnikih besedil.

Tehnične omejitve in slabosti

  • Brez stiskanja: veliki odtisi datotek v primerjavi s stisnjenimi formati, kot je PNG.
  • Brez metapodatkov za fizične dimenzije, barvne prostore ali geolokacijo.
  • Strogo enokanalni: ne more shranjevati barvnih podatkov ali prosojnosti alfa.

Zanimive tehnične malenkosti

  • OpenCV, ROS ( Robot Operating System) in sistemi strojnega vida pogosto uporabljajo PGM za navigacijske karte SLAM.
  • Razvijalci iger pogosto uporabljajo 16-bitne datoteke PGM kot karte višin terena, ker so surovi podatki o nadmorski višini nestisnjeni in preprosti za nalaganje.
  • Parameter 'maxval' v glavi določa najvišjo vrednost svetlosti (običajno 255 za 8-bitne ali 65535 za 16-bitne datoteke).

Pogosta tehnična vprašanja

Za kaj se uporablja format PGM?

Format PGM se uporablja predvsem v računalniškem vidu (OpenCV), robotiki (zemljevidi ROS), znanstvenem upodabljanju in generiranju zemljevidov višin 3D-terena.

Kakšna je razlika med datotekama PGM P2 in P5?

P2 je navadno besedilo ASCII, kjer je vsaka slikovna točka zapisana kot število, medtem ko P5 shranjuje slikovne točke kot kompaktne binarne bajte.

Kako lahko pretvorim PGM v JPG ali PNG?

Naložite datoteko PGM v File2File.app in jo pretvorite v PNG ali JPG neposredno v brskalniku ob popolni zasebnosti.