Przenośna mapa szarości (.pgm)

Netpbm Standardní

Portable Graymap Format (PGM) je specifikace obrázků ve stupních šedi z rodiny Netpbm, široce používaná v počítačovém vidění, robotice, optické inspekci a algoritmech zpracování digitálních obrazů.

Zkontrolovat a metadata

Operační systémy a analyzátory souborů identifikují soubory PGM kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

100% soukromá konverze v prohlížeči - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory PGM kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (OFFSET 0):

50 32 / 50 35

ASCII REPREZENTACE: P2 / P5

Standardizace: Netpbm Library Standard

Technické specifikace

Architektura kontejneruASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
KompreseUncompressed raw binary bytes or human-readable ASCII text numbers
Endiantita bajtůBig-Endian (for 16-bit binary samples in P5 mode)
Barevné prostoryLinear Grayscale or sRGB Grayscale
Kanály a struktura1 channel grayscale (8-bit or 16-bit precision)
Max. rozměryPractically unlimited (supports arbitrary 64-bit coordinate space)
PrůhlednostNone
Streamování a progresivní načítáníSequential row-by-row streaming playback

Technická srovnávací matice: PGM vs konkurence

Technický atributPGM (Aktuální)PBMPPMPNG
Barevný režimStupně šedi (8-bit / 16-bit)1bitová černobíláTruecolor RGB (24-bit / 48-bit)Stupně šedi, RGB, RGBA
Příbuzný v NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Standard W3C mimo Netpbm
Magické bajtyP2 (ASCII) / P5 (Binární)P1 (ASCII) / P4 (Binární)P3 (ASCII) / P6 (Binární)‰PNG....
KompreseNekomprimovánoNekomprimovánoNekomprimovánoBezztrátová Deflate

Běžné režimy poškození a příručka pro obnovení v hex

Obrázek se zobrazuje invertovaně nebo zcela přesvíceně do bíla.

Hlavní příčina: Neodpovídající parametr 'maxval' v hlavičce (např. maxval deklarován jako 1 namísto 255).

Obnovení: Opravte řádek hlavičky maxval nebo proveďte transkódování pomocí nástroje File2File Netpbm Converter.

Bezpečnostní analýza a vektory útoků na parser

Dekodéry PGM musí pečlivě ověřit, zda analyzované počty pixelů odpovídají deklarovaným rozměrům, aby se předešlo přetečení vyrovnávací paměti.

Známé vektory útoků

  • Přetečení celého čísla během alokace vyrovnávací paměti šířka * výška * (maxval > 255 ? 2 : 1).
  • Přečtení za hranice vyrovnávací paměti při čtení chybně vytvořených číselných tokenů ASCII.
  • Odepření služby (DoS) prostřednictvím masivní alokace paměti vyvolané zcizenými rozměry v hlavičce.

Doporučené bezpečnostní postupy:

Historický vývoj a milníky

200016bitová hloubka (maxval až 65535) standardizována v binárním režimu P5 pro vědecké zobrazování.
1993Začleněno do sady nástrojů Netpbm jako standardní mezilehlý formát stupňů šedi.
1989Jef Poskanzer vytváří PGM jako doplněk k PBM s plnou podporou 256 úrovní stupňů šedi.

Klíčové výhody a přednosti

  • Nulová složitost: extrémně jednoduché k analýze a zápisu v jazycích C, Python nebo WebAssembly bez externích knihoven.
  • Nativní podpora 16bitových stupňů šedi jej činí ideálním pro výškové mapy, mapy hloubky a termovizi.
  • Režim ASCII (P2) umožňuje přímou kontrolu a manipulaci se surovými hodnotami pixelů ve standardních textových editořích.

Technická omezení a nevýhody

  • Žádná komprese: velké velikosti souborů v porovnání s komprimovanými formáty, jako je PNG.
  • Postrádá metadata pro fyzické rozměry, barevné prostory nebo geolokaci.
  • Přísně jednokanálové: nemůže ukládat barevná data ani alfa průhlednost.

Zajímavé technické drobnosti

  • OpenCV, ROS (Robot Operating System) a systémy strojového vidění často používají PGM pro navigační mapy SLAM.
  • Vývojáři her často používají 16bitové soubory PGM jako výškové mapy terénu, protože surová data o nadmořské výšce jsou nekomprimovaná a snadno se načítají.
  • Parametr 'maxval' v hlavičce definuje maximální hodnotu jasu (typicky 255 pro 8bitové nebo 65535 pro 16bitové zobrazení).

Často kladené technické otázky

K čemu se používá formát PGM?

Formát PGM se primárně používá v oblasti počítačového vidění (OpenCV), robotiky (mapové soubory ROS), vědeckého zobrazování a generování 3D výškových map terénu.

Jaký je rozdíl mezi soubory PGM typu P2 a P5?

P2 je prostý text ASCII, kde každý pixel je zapsané číslo, zatímco P5 ukládá pixely jako kompaktní binární bajty.

Jak mohu převést formát PGM na JPG nebo PNG?

Nahráním souboru PGM do aplikace File2File.app jej můžete převést do formátu PNG nebo JPG přímo ve vašem prohlížeči při zachování naprostého soukromí.