Hordozható szürkeárnyalatos kép (.pgm)

Netpbm Szabvány

A Portable Graymap Format (PGM) a Netpbm család szürkeárnyalatos képspecifikációja, amelyet széles körben használnak számítógépes látás, robotika, optikai ellenőrzés és digitális képfeldolgozó algoritmusok területén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) PGM fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) PGM fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

50 32 / 50 35

ASCII ÁBRÁZOLÁS: P2 / P5

Szabványosítás: Netpbm Library Standard

Műszaki specifikációk

Konténer architektúraASCII-alapú (P2) vagy bináris (P5) Netpbm-formátum, amely a szélességet, a magasságot, a maximális szürkeértéket és a pixeladatfolyamot tartalmazza
TömörítésTömörítetlen nyers bináris bájtok vagy ember által olvasható ASCII-számok
Bájtsorrendnagy bájtsorrendű (a P5 mód 16 bites bináris mintái esetén)
SzínterekLineáris szürkeárnyalatos vagy sRGB-szürkeárnyalatos
Csatornák és struktúra1 szürkeárnyalatos csatorna (8 vagy 16 bites pontossággal)
Max. méretekGyakorlatilag korlátlan (tetszőleges 64 bites koordinátatartományt támogat)
ÁtlátszóságNone
Streaming és progresszívSoronkénti, szekvenciális adatfolyamú lejátszás

Műszaki összehasonlító mátrix: PGM vs. versenytársak

Technikai attribútumPGM (Jelenlegi)PBMPPMPNG
SzínmódSzürkeárnyalatos (8 bites / 16 bites)1 bites monokrómRGB valódi színű (24 bites / 48 bites)Szürkeárnyalatos, RGB, RGBA
Netpbm-családtagPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Nem Netpbm W3C szabvány
Fájlazonosító bájtokP2 (ASCII) / P5 (bináris)P1 (ASCII) / P4 (bináris)P3 (ASCII) / P6 (bináris)‰PNG....
TömörítésTömörítetlenTömörítetlenTömörítetlenVeszteségmentes Deflate

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A kép fordítva vagy teljesen kiégett fehér színnel jelenik meg.

Kiváltó ok: Nem megfelelő 'maxval' paraméter a fejlécben (pl. a maxval értéke 255 helyett 1-ként van megadva).

Helyreállítás: Javítsa ki a maxval fejléc sort, vagy konvertálja át a File2File.app Netpbm Converterrel.

Biztonsági elemzés és elemző (parser) támadási vektorok

A PGM dekódolóknak gondosan ellenőrizniük kell, hogy a feldolgozott képpontok száma megegyezik-e a deklarált méretekkel a puffertúlcsordulás megelőzése érdekében.

Ismert támadási vektorok

  • Egésztúlcsordulás a szélesség * magasság * (maxval > 255 ? 2 : 1) pufferének lefoglalásakor.
  • Puffertúlolvasás hibás ASCII-számértékek olvasásakor.
  • Szolgáltatásmegtagadás (DoS) a hamis fejlécbeli méretek által kiváltott hatalmas memóriafoglalás révén.

Ajánlott védekezési módszerek: Korlátozza a megengedett maximális dimenziókat és memóriafoglalási korlátokat a pixelfolyamok olvasása előtt.

Történeti háttér és mérföldkövek

2000A 16 bites mélység (maximális érték legfeljebb 65535) szabványosítása bináris P5 módban a tudományos képalkotáshoz.
1993Beépítik a Netpbm eszköztárba szabványos köztes szürkeárnyalatos formátumként.
1989Jef Poskanzer létrehozza a PGM-et, hogy kiegészítse a PBM-et teljes, 256 szintű szürkeárnyalatos támogatással.

Főbb előnyök

  • Kompakt szerkezete megkönnyítheti az alapvető PGM-olvasók megvalósítását, de a mintamélység, a fejlécek és a hibás bemenetek kezelése gondosságot igényel.
  • A natív 16 bites szürkeárnyalatos támogatás ideálissá teszi magasságtérképekhez, mélységi térképekhez és hőtérképekhez.
  • Az ASCII mód (P2) lehetővé teszi a nyers képpontértékek közvetlen vizsgálatát és módosítását általános szövegszerkesztőkben.

Technikai korlátok és hátrányok

  • Nincs tömörítés: nagy fájlméretek a tömörített formátumokhoz, például a PNG-hez képest.
  • Hiányoznak belőle a fizikai méretekre, színterekre vagy földrajzi elhelyezkedésre vonatkozó metaadatok.
  • Szigorúan egycsatornás: nem tud színes adatokat vagy átlátszóságot (alfát) tárolni.

Érdekes technikai tudnivalók

  • Az OpenCV, a ROS (Robot Operating System) és a gépi látási rendszerek gyakran használják a PGM-et SLAM navigációs térképekhez.
  • A játékfejlesztők gyakran használnak 16 bites PGM fájlokat terep-magasságtérképként, mivel a nyers magassági adatok tömörítetlenek és könnyen betölthetők.
  • A fejlécben szereplő 'maxval' paraméter határozza meg a maximális fényerőértéket (jellemzően 255 8 bitnél vagy 65535 16 bitnél).

Gyakran Ismételt Műszaki Kérdések

Mire használják a PGM formátumot?

A PGM-et elsősorban a számítógépes látás terén (OpenCV), a robotikában (ROS térképfájlok), a tudományos képalkotásban és a 3D terepmagasság-térképek előállításában használják.

Mi a különbség a P2 és P5 PGM fájlok között?

A P2 egy sima ASCII szöveg, ahol minden egyes pixel egy kiírt szám, míg a P5 a pixeleket kompakt bináris bájtok formájában tárolja.

Hogyan alakíthatok át PGM-et JPG-be vagy PNG-be?

A PGM szürkeárnyalatos mintákat tárol. Veszteségmentes, széles körben támogatott képhez alakítsa PNG-be, kisebb, fotószerű fájlhoz pedig JPEG-be; a konverter a böngészőben fut.