Portable Graymap (.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ási 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 ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

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 REPREZENTÁCIÓ: P2 / P5

Szabványosítás: Netpbm Library Standard

Műszaki specifikációk

Konténer architektúraASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
TömörítésUncompressed raw binary bytes or human-readable ASCII text numbers
BájtsorrendBig-Endian (for 16-bit binary samples in P5 mode)
SzínterekLinear Grayscale or sRGB Grayscale
Csatornák és struktúra1 channel grayscale (8-bit or 16-bit precision)
Max. méretekPractically unlimited (supports arbitrary 64-bit coordinate space)
ÁtlátszóságNone
Streaming és progresszívSequential row-by-row streaming playback

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 Truecolor (24 bites / 48 bites)Szürkeárnyalatos, RGB, RGBA
Netpbm testvérPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Nem Netpbm W3C szabvány
Varázsbá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 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ész túlcsordulás szélesség * magasság * (maxval > 255 ? 2 : 1) puffer lefoglalása közben.
  • Puffertúlolvasás hibás ASCII számtokenek olvasásakor.
  • Szolgáltatásmegtagadás (DoS) a hamis fejlécbeli méretek által kiváltott hatalmas memóriafoglalás révén.

Védekező Legjobb Gyakorlatok:

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

2000A 16 bites mélység (max. érték legfeljebb 65535) szabványosítása bináris P5 módban a tudományos képalkotáshoz.
1993Beépítés 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

  • Nulla összetettég: rendkívül egyszerűen elemezhető és írható C, Python vagy WebAssembly nyelven külső könyvtárak nélkül.
  • 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 manipulálását a szabványos 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 terep magasságtérkép (heightmap) generálá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ájtokként tárolja.

Hogyan konvertálhatok PGM-et JPG-be vagy PNG-be?

Töltsd fel a PGM fájlodat a File2File.app oldalára, hogy teljes adatvédelem mellett, közvetlenül a böngésződben konvertáld át PNG vagy JPG formátumba.