Portable Graymap (.pgm)
Netpbm StandardPortable Graymap Format (PGM) on Netpbm perekonna halltoonide pildi spetsifikatsioon, mida kasutatakse laialdaselt arvutinägemise, robootika, optilise kontrolli ja digitaalse pilditöötluse algoritmides.
Kontrolli ja metaandmed
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad PGM faile, kontrollides algset binaarset baidijada:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad PGM faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
50 32 / 50 35ASCII-ESITUS: P2 / P5
Standardiseerimine: Netpbm Library Standard
Tehnilised andmed
| Konteineri arhitektuur | ASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream |
| Tihendamine | Uncompressed raw binary bytes or human-readable ASCII text numbers |
| Baitide järjekord (Endianness) | Big-Endian (for 16-bit binary samples in P5 mode) |
| Värviruumid | Linear Grayscale or sRGB Grayscale |
| Kanalid ja struktuur | 1 channel grayscale (8-bit or 16-bit precision) |
| Max mõõtmed | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Läbipaistvus | None |
| Voogedastus ja progressiivsus | Sequential row-by-row streaming playback |
Tehniline võrdlusmaatriks: PGM vs konkurendid
| Tehniline atribuut | PGM (Praegune) | PBM | PPM | PNG |
|---|---|---|---|---|
| Värvirežiim | Halltoonid (8-bitine / 16-bitine) | 1-bitine ühevärviline | RGB Truecolor (24-bitine / 48-bitine) | Halltoonid, RGB, RGBA |
| Netpbm-i sugulane | PGM (Portable Graymap) | PBM (Portable Bitmap) | PPM (Portable Pixmap) | Mitte-Netpbm W3C standard |
| Maagilised baidid | P2 (ASCII) / P5 (Binaarne) | P1 (ASCII) / P4 (Binaarne) | P3 (ASCII) / P6 (Binaarne) | ‰PNG.... |
| Tihendus | Tihendamata | Tihendamata | Tihendamata | Kadudeta Deflate |
Levinud riknemisvead ja heksataaste juhend
Pilt kuvatakse inverteeritult või täiesti valgeks põlenuna.
Juurpõhjus: Sobimatu 'maxval' parameeter päises (nt maxval on deklareeritud 1 asemel 255).
Taastamine: Parandage maxval päiserea rida või transkodeerige File2File Netpbm Converteri abil.
Turvaanalüüs ja parsimisründevektorid
PGM-i dekoodrid peavad hoolikalt kontrollima, kas parsitavad pikslite arvud vastavad deklareeritud mõõtmetele, et vältida puhvri ületäitmist.
Teadaolevad ründavektorid
- Täisarvu ületäitumine laius * kõrgus * (maxval > 255 ? 2 : 1) puhvri eraldamisel.
- Puhvrist ülelugemine vigaste ASCII numbritokenite lugemisel.
- Teenusetõkestus (DoS) tohutu mälueralduse kaudu, mille käivitavad võltsitud päise mõõtmed.
Kaitsealased parimad tavad:
Ajalooline taust ja verstapostid
Peamised eelised
- Null keerukus: äärmiselt lihtne parsida ja kirjutada keeltes C, Python või WebAssembly ilma väliste teekideta.
- Kohalik 16-bitine halltoonide tugi teeb selle ideaalseks kõrguskaartide, sügavuskaartide ja termopildistamise jaoks.
- ASCII-režiim (P2) võimaldab toor-piksliväärtuste otsest kontrollimist ja manipuleerimist tavalistes tekstiredaktorites.
Tehnilised piirangud ja puudused
- Tihendus puudub: suured failimahud võrreldes tihendatud vormingutega nagu PNG.
- Puuduvad metaandmed füüsiliste mõõtmete, värviruumide või geograafilise asukoha jaoks.
- Rangelt ühekanaliline: ei saa salvestada värviandmeid ega alfapaistvust.
Huvitavaid tehnilisi fakte
- OpenCV, ROS (Robot Operating System) ja masinnägemissüsteemid kasutavad PGM-i sageli SLAM-navigatsioonikaartide jaoks.
- Mänguarendajad kasutavad 16-bitiseid PGM-faile sageli maastiku kõrguskaartidena, kuna toor-kõrgusandmed on tihendamata ja neid on lihtne laadida.
- Päises olev parameeter 'maxval' määratleb maksimaalse heledusväärtuse (tavaliselt 255 8-bitise või 65535 16-bitise puhul).
Korduma kippuvad tehnilised küsimused
Milleks kasutatakse PGM-vormingut?
PGM-i kasutatakse peamiselt arvutinägemises (OpenCV), robootikas (ROS-i kaardifailid), teaduslikus pilditöötluses ja 3D-maastiku kõrguskaardi genereerimises.
Mis vahe on P2 ja P5 PGM-failidel?
P2 on lihtne ASCII tekst, kus iga piksel on kirjutatud number, samas kui P5 salvestab piksleid kompaktsete binaarsete baitidena.
Kuidas saan ma PGM-i JPG-ks või PNG-ks teisendada?
Laadige oma PGM-fail üles lehele File2File.app, et teisendada see PNG-ks või JPG-ks otse oma brauseris täieliku privaatsusega.