Vše o souborech PGM
jednoduchý formát pro obrázky ve stupních šedi
PGM je zástupcem šedé škály v rodině PBM. Zatímco PBM rozlišuje pouze černou a bílou, PGM umožňuje až 65 535 odstínů mezi těmito dvěma extrémy. Každý pixel je popsán jedinou číselnou hodnotou: 0 je černá, maximální hodnota je bílá. PGM znamená „Portable Gray Map“ a byl vyvinut na konci roku 1988 Jefem Poskanzerem jako rozšíření formátu PBM. K historii celé rodiny formátů viz můj článek o PBM.
TLDR:
PGM je formát pro odstíny šedé z rodiny Netpbm. Funguje stejně jako PBM, pouze s více než dvěma „barvami“ – tedy odstíny šedé. PGM se stále používá ve zpracování obrazu, ve vzdělávání a jako meziformát v potrubích. Kdo zná článek o PBM, zná princip, PGM to prostě dělá šedivější. Barevnou variantou je nakonec PPM.
Technická struktura
Obrázek PGM se od PBM liší přesně jedním řádkem navíc v hlavičce: maximální hodnotou (Maxval). Ta určuje, kolik odstínů šedé obrázek používá. I s PGM je možné nakreslit obrázek na „kostkovaný papír“. Místo vybarvování čtverečků se zde v každém čtverečku používají čísla, která představují jas.
| Součást | Příklad | Význam |
|---|---|---|
| Magické číslo | P2 |
Plain PGM (ASCII varianta) |
| Komentář | # mein bild |
Volitelné, s # úvodem |
| Šířka Výška | 24 7 |
Rozměry v pixelech |
| Maxval | <15 |
Maximální hodnota šedé (1–65535) |
| Rastrová data | 0 2 4 6 ... |
Hodnoty šedi na pixel |
Klasický příklad FEEP vypadá v PGM takto, každé písmeno má vlastní jas. (Pro lepší zobrazení s monospace fontem jsem zvolil Maxval 8)
P2 # feep.pgm 24 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 4 4 4 4 0 0 6 6 6 6 0 0 8 8 8 8 0 0 2 0 0 0 0 0 4 0 0 0 0 0 6 0 0 0 0 0 8 0 0 8 0 0 2 2 2 0 0 0 4 4 4 0 0 0 6 6 6 0 0 0 8 8 8 8 0 0 2 0 0 0 0 0 4 0 0 0 0 0 6 0 0 0 0 0 8 0 0 0 0 0 2 0 0 0 0 0 4 4 4 4 0 0 6 6 6 6 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Text FEEP je rozpoznatelný stejně jako v příkladu PBM, ale písmena jsou zleva doprava světlejší: F je tmavě šedé (2), E středně šedé (4 a 6), P bílé (8).
Maxval: rozhodující rozdíl mezi PBM a PGM
Maxval určuje barevnou hloubku obrázku. S Maxval 1 se PGM chová přesně jako PBM. S Maxval 255 máte 256 odstínů šedé, což odpovídá klasickému 8bitovému obrázku v odstínech šedé. Hodnoty nad 255 jsou možné (až do 65535), ale v praxi se používají jen zřídka.
Plain vs. Raw: P2 a P5
Stejně jako u PBM existuje i u PGM ASCII a binární varianta:
| Vlastnost | Plain PGM (P2) |
Raw PGM (P5) |
|---|---|---|
| Pixelová data | ASCII desítkové čísla | Binární, 1 nebo 2 bajty na pixel |
| Čitelné pro člověka | Ano, kompletně | Pouze záhlaví |
| Místo v paměti na pixel | Variabilní (číslice + mezery) | 1 bajt (Maxval ≤ 255) nebo 2 bajty |
| Max. délka řádku | Doporučeno 70 znaků | Bez omezení |
Varianta RAW (P5) je standardem u nástrojů Netpbm. Při Maxval nad 255 se používají dva bajty na pixel, Big-Endian.
Typické oblasti použití
PGM se používá všude tam, kde záleží na čisté hodnotě jasu na pixel a barva nehraje žádnou roli:
– Věda a medicína: Rentgenové snímky, MRI skeny a mikroskopické snímky se často zpracovávají jako snímky ve stupních šedi. PGM se k tomu hodí díky své jednoduchosti a bezztrátovému ukládání.
– Počítačové VIDění: Detektory hran (Sobel, Canny), prahové metody a analýzy histogramů pracují s daty ve stupních šedi. PGM je poskytuje bez zátěže.
– Výškové mapy a terénní modely: Každý pixel představuje výšku – případ použití, který perfektně odpovídá logice „jedna hodnota na pixel“ formátu PGM.
– Masky průhlednosti: V Netpbm se PGM používá také jako maska průhlednosti. Bílá barva zde představuje plnou kryvost a černá barva úplnou průhlednost.
– Výuka: Stejně jako PBM se PGM výborně hodí k výuce základů zpracování obrazu (nikoli úpravy obrazu).
Gamma a barevný prostor
Podle specifikace nejsou hodnoty šedé lineární, ale řídí se gama transferovou funkcí podle ITU-R BT.709 (gama 2,2). V praxi se však mnoho programů tímto pravidlem neřídí a zapisuje lineární hodnoty. Nástroj Netpbm pnmgamma dokáže mezi oběma variantami převádět. I dnes běžnější gama funkce sRGB se mírně liší od BT.709 a ve skutečnosti většina programů jednoduše používá sRGB a výsledek nazývá PGM.
Zdroje
Specifikace formátu Netpbm PGM
Článek o PBM s historií rodiny formátů
.b0 { color: #ccc; }
.b2 {color: #222; }
.b4 {color:#444;}
.b6 {color:#666;}
.b8 { color: #888; }
const el = document.getElementById('pgm');
el.innerHTML = el.textContent.replace(/([0-9])/g, '<span class="b$1">$1</span>');
Konvertovat, otevřít a editovat soubory PGM
Detaly o souborech PGM
- Software pro otevření souborů PGM
- IrfanView
- XnView
- GIMP
- ImageMagick
- Software pro editování souborů PGM
- GIMP
- ImageMagick
- Paint.NET
- MIME-typ pro PGM
- image/x-portable-graymap
- image/x-pgm
Naposledy aktualizováno dne 23. 4. 2026 uživatelem
Žádné komentáře