Przenośna mapa szarości (.pgm)

Netpbm Štandard

Formát Portable Graymap Format (PGM) je špecifikácia obrázkov v odtieňoch sivej z rodiny Netpbm, ktorá sa široko používa v počítačovom videní, robotike, optickej kontrole a algoritmoch spracovania digitálneho obrazu.

Preskúmať a metadáta

Operačné systémy a analyzátory súborov identifikujú súbory PGM kontrolou počiatočnej binárnej bajtovej sekvencie:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

Podpis hlavičky na úrovni bajtov (Magic Bytes)

Operačné systémy a analyzátory súborov identifikujú súbory PGM kontrolou počiatočnej binárnej bajtovej sekvencie:

HEXADECIMÁLNY PODPIS (OFFSET 0):

50 32 / 50 35

ASCII REPREZENTÁCIA: P2 / P5

Štandardizácia: Netpbm Library Standard

Technické špecifikácie

Architektúra kontajneraASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
KompresiaUncompressed raw binary bytes or human-readable ASCII text numbers
Poradie bajtov (Endianness)Big-Endian (for 16-bit binary samples in P5 mode)
Farebné priestoryLinear Grayscale or sRGB Grayscale
Kanály a štruktúra1 channel grayscale (8-bit or 16-bit precision)
Max. rozmeryPractically unlimited (supports arbitrary 64-bit coordinate space)
PriehľadnosťNone
Streamovanie a postupné načítavanieSequential row-by-row streaming playback

Technická porovnávacia matica: PGM vs konkurenti

Technický atribútPGM (Aktuálne)PBMPPMPNG
Farebný režimOdtiene sivej (8-bit / 16-bit)1-bitový monochromatickýRGB Truecolor (24-bit / 48-bit)Odtiene sivej, RGB, RGBA
Súrodenec NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Štandard W3C mimo Netpbm
Magické bajtyP2 (ASCII) / P5 (Binárny)P1 (ASCII) / P4 (Binárny)P3 (ASCII) / P6 (Binárny)‰PNG....
KompresiaNekomprimovanéNekomprimovanéNekomprimovanéBezstratové Deflate

Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde

Obrázok sa zobrazuje ako prevrátený alebo úplne prepálený do biela.

Hlavná príčina: Nesprávne zhodný parameter 'maxval' v hlavičke (napr. maxval deklarovaný ako 1 namiesto 255).

Obnova: Opravte riadok hlavičky maxval alebo prekonvertujte pomocou konvertora File2File Netpbm.

Bezpečnostná analýza a vektory útokov na parser

Dekodéry PGM musia starostlivo overovať, či analyzované počty pixelov zodpovedajú deklarovaným rozmerom, aby sa predišlo pretečeniu vyrovnávacej pamäte.

Známe vektory útokov

  • Pretečenie celého čísla počas alokácie vyrovnávacej pamäte width * height * (maxval > 255 ? 2 : 1).
  • Nadmerné čítanie vyrovnávacej pamäte pri čítaní chybných tokenov čísel ASCII.
  • Odopretie služby (DoS) prostredníctvom masívnej alokácie pamäte vyvolanej vymyslenými rozmermi v hlavičke.

Najlepšie obranné postupy:

Historický pôvod a míľniky

200016-bitová hĺbka (maxval do 65535) štandardizovaná v binárnom režime P5 pre vedecké zobrazovanie.
1993Začlenené do súpravy nástrojov Netpbm ako štandardný prechodový formát pre odtiene sivej.
1989Jef Poskanzer vytvoril PGM ako doplnok k PBM s plnou podporou 255 úrovní sivej.

Kľúčové výhody a prednosti

  • Nulová zložitosť: extrémne jednoduché parsovanie a zápis v jazykoch C, Python alebo WebAssembly bez externých knižníc.
  • Natívna podpora 16-bitových odtieňov sivej ho predurčuje pre výškové mapy, mapy hĺbky a termovíziu.
  • Režim ASCII (P2) umožňuje priamu kontrolu a úpravu surových hodnôt pixelov v štandardných textových editoroch.

Technické obmedzenia a nevýhody

  • Žiadna kompresia: veľká veľkosť súborov v porovnaní s komprimovanými formátmi ako PNG.
  • Chýbajú metadáta pre fyzické rozmery, farebné priestory alebo geolokáciu.
  • Prísne jednokanálový: nedokáže ukladat farebné dáta ani priesvitnosť alfa.

Zaujímavé technické drobnosti

  • OpenCV, ROS (Robot Operating System) a systémy strojového videnia bežne používajú PGM pre navigačné mapy SLAM.
  • Vývojári hier často používajú 16-bitové súbory PGM ako výškové mapy terénu, pretože surové údaje o nadmorskej výške sú nekomprimované a ľahko sa načítavajú.
  • Parameter 'maxval' v hlavičke definuje maximálnu hodnotu jasu (zvyčajne 255 pre 8-bit alebo 65535 pre 16-bit).

Často kladené technické otázky

Na čo sa používa formát PGM?

Formát PGM sa primárne používa v počítačovom videní (OpenCV), robotike (mapové súbory ROS), vedeckom zobrazovaní a generovaní výškových opršení 3D terénu.

Aký je rozdiel medzi súbormi PGM P2 a P5?

P2 je obyčajný text ASCII, kde každý pixel je zapísané číslo, zatiaľ čo P5 ukladá pixely ako kompaktné binárne bajty.

Ako môžem konvertovať PGM na JPG alebo PNG?

Nahrajte svoj súbor PGM do aplikácie File2File.app a konvertujte ho na PNG alebo JPG priamo vo svojom prehliadači s úplným súkromím.