Portable Graymap (.pgm)

Netpbm Standartinis

Nešiojamasis pilkumo žemėlapio formatas (PGM) yra „Netpbm" šeimos pilkumo lygio vaizdo specifikacija, plačiai naudojama kompiuterinio matymo, robotikos, optinio tikrinimo ir skaitmeninio vaizdo apdorojimo algoritmuose.

Tikrinti ir metaduomenys

Operacinės sistemos ir failų analizatoriai atpažįsta PGM failus tikrindami pradinę dvejetainę baitų seką:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Baitų lygio antraštės parašas (magiškieji baitai)

Operacinės sistemos ir failų analizatoriai atpažįsta PGM failus tikrindami pradinę dvejetainę baitų seką:

ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):

50 32 / 50 35

ASCII ATVAIZDAVIMAS: P2 / P5

Standartizacija: Netpbm Library Standard

Techninės specifikacijos

Konteinerio architektūraASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
GlaudinimasUncompressed raw binary bytes or human-readable ASCII text numbers
Baitų seka (Endianness)Big-Endian (for 16-bit binary samples in P5 mode)
Spalvų erdvėsLinear Grayscale or sRGB Grayscale
Kanalai ir struktūra1 channel grayscale (8-bit or 16-bit precision)
Maksimalūs matmenysPractically unlimited (supports arbitrary 64-bit coordinate space)
SkaidrumasNone
Srautas ir progresyvusis įkėlimasSequential row-by-row streaming playback

Techninė palyginimo matrica: PGM vs konkurentai

Techninis atributasPGM (Dabartinis)PBMPPMPNG
Spalvų režimasPilkumo lygiai (8 bitų / 16 bitų)1 bito nespalvotasRGB Truecolor (24 bitų / 48 bitų)Pilkumo lygiai, RGB, RGBA
Netpbm giminaitisPGM (nešiojamasis pilkumo žemėlapis)PBM (nešiojamasis bitų žemėlapis)PPM (nešiojamasis pikselių žemėlapis)Ne „Netpbm" W3C standartas
Magiškieji baitaiP2 (ASCII) / P5 (dvejetainis)P1 (ASCII) / P4 (dvejetainis)P3 (ASCII) / P6 (dvejetainis)‰PNG....
SuspaudimasNesuspaustasNesuspaustasNesuspaustasBe nuostolių „Deflate"

Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas

Vaizdas rodomas apverstas arba visiškai išblukęs baltai.

Pirminė priežastis: Nesutampantis „maxval" parametras antraštėje (pvz., maxval deklaruotas kaip 1 vietoj 255).

Atkūrimas: Pataisykite maxval antraštės eilutę arba koduokite su „File2File Netpbm Converter".

Saugumo analizė ir analizatoriaus atakos vektoriai

PGM dekoderiai privalo kruopščiai patikrinti, ar išanalizuotų pikselių skaičius atitinka nurodytus matmenis, kad būtų išvengta buferio perpildymo.

Žinomi atakos vektoriai

  • Sveikųjų skaičių perpildymas paskirstant plotis * aukštis * (maxval > 255 ? 2 : 1) buferį.
  • Buferio nuskaitymas virš ribų skaitant netinkamai suformuotus ASCII skaičių žetonus.
  • Paslaugos trikdžiai per didžiulį atminties paskirstymą, kurį sukėlė suklastoti antraštės matmenys.

Geriausia apsaugos praktika:

Istorinė kilmė ir svarbiausi etapai

200016 bitų gylis (didžiausia vertė iki 65535) standartizuotas dvejetainiu P5 režimu moksliniam vaizdavimui.
1993Įtrauktas į „Netpbm" įrankių rinkinį kaip standartinis tarpinis pilkumo lygio formatas.
1989Jef Poskanzer sukuria PGM, kad papildytų PBM visišku 256 lygių pilkumo atspalvių palaikymu.

Pagrindiniai privalumai

  • Nėra sudėtingumo: itin paprasta analizuoti ir rašyti C, „Python" arba „WebAssembly" kalbomis be išorinių bibliotekų.
  • Gimtasis 16 bitų pilkumo spalvų palaikymas daro jį idealiu aukščio žemėlapiams, gylio žemėlapiams ir termovizoriniams vaizdams.
  • ASCII režimas (P2) leidžia tiesiogiai tikrinti ir manipuliuoti neapdorotomis pikselių vertėmis standartiniuose teksto rengyklėse.

Techniniai apribojimai ir trūkumai

  • Jokio suspaudimo: dideli failų dydžiai, palyginti su suspaustais formatais, tokiais kaip PNG.
  • Trūksta metaduomenų fiziniams matmenims, spalvų erdvėms ar geografinei padėčiai nustatyti.
  • Griežtai vieno kanalo: negali saugoti spalvų duomenų arba alfa skaidrumo.

Įdomūs techniniai faktai

  • „OpenCV", ROS („Robot Operating System") ir mašininio matymo sistemos dažnai naudoja PGM SLAM navigacijos žemėlapiams.
  • Žaidimų kūrėjai dažnai naudoja 16 bitų PGM failus kaip reljefo aukščio žemėlapius, nes neapdoroti aukščio duomenys yra nesuspausti ir lengvai įkeliami.
  • Antraštėje esantis „maxval" parametras apibrėžia didžiausią šviesumo vertę (paprastai 255 esant 8 bitams arba 65535 esant 16 bitų).

Dažniausiai užduodami techniniai klausimai

Kam naudojamas PGM formatas?

PGM daugiausia naudojamas kompiuterinėje matoje (OpenCV), robotikoje (ROS žemėlapių failuose), moksliniame vaizdavime ir 3D reljefo aukščio žemėlapių generavime.

Kuo skiriasi P2 ir P5 PGM failai?

P2 yra paprastas ASCII tekstas, kuriame kiekvienas pikselis yra parašytas skaičius, o P5 saugo pikselius kaip kompaktiški dvejetainiai baitai.

Kaip galiu konvertuoti PGM į JPG arba PNG?

Įkelkite savo PGM failą į „File2File.app“, kad konvertuotumėte jį į PNG arba JPG tiesiog savo naršyklėje su visišku privatumu.