Portable Graymap
aus Wikipedia, der freien Enzyklopädie
| Name | Portable GrayMap |
| Abkürzung | PGM |
| Dateiendung | .pgm |
| Hersteller | Sun Microsystems |
| Farbraum | Graustufen |
| Farbtiefe | 8 Bit - 256 Graustufen (binär) im ASCII Mode sind auch mehr Graustufen möglich |
| Kompression | keine |
| Byteorder | --- |
PGM (engl. Portable GrayMap) ist ein proprietäres Dateiformat zur Speicherung von Bilddaten.
Das PGM-Format wurde in den achtziger Jahren von Sun Microsystems entwickelt. Es kommt in zwei Varianten vor, ASCII und Binär.
Inhaltsverzeichnis |
[Bearbeiten] Aufbau einer PGM-Datei
[Bearbeiten] ASCII-Format
- als Whitespace sind Leerzeichen, Tab, CR und LF erlaubt
- Kommentare beginnen mit # und gehen bis zum Ende der Zeile
- die Zeilen sollten nicht länger als 70 Zeichen sein
- alle Zahlen werden in ASCII in Dezimalschreibweise angegeben
| Identifikation: 'P2' |
| Bildbreite |
| Bildhöhe |
| maximaler Grauwert |
| Bilddaten (Breite*Höhe) Der Dezimalwert gibt den Graustufenwert an, der zwischen 0 und dem angegebenen Maximalwert liegen darf. |
Beispiel:
P2 # feep.pgm 24 7 15 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 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 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
[Bearbeiten] Binär-Format
- Identifikation ist 'P5'
- die Pixeldaten werden in binärer Form gespeichert
- innerhalb der Pixeldaten sind keine anderen Zeichen erlaubt
- Vorteil: die Dateien sind kleiner und schneller zu lesen und zu schreiben
| Identifikation: 'P5' |
| Mindestens ein Zeichen Whitespace (\n, \r, \t, space) |
| Bildbreite (ASCII Dezimal) |
| Mindestens ein Zeichen Whitespace (\n, \r, \t, space) |
| Bildhöhe (ASCII Dezimal) |
| Mindestens ein Zeichen Whitespace (\n, \r, \t, space) |
| maximaler Grauwert [kleiner als 65536] (ASCII Dezimal) |
| Genau ein Zeichen Whitespace (\n, \r, \t, space) |
| Bilddaten in binärer Form (Zeilenweise, von links nach rechts und oben nach unten) Pro Pixel jeweils ein Wert zwischen 0 und dem angegebenen Maximalwert. Bei einem Maximalwert unter 256 geschieht dies mit einem Byte, darüber mit zweien (Höherwertiges Byte zuerst) |
Beispiel:
Im nachfolgenden Beispiel sind Identifikation, Höhe, Breite und Maximalwert fett hervorgehoben, die Bilddaten kursiv.
00000000 50 35 20 20 20 0a 0a 0a 20 20 20 0a 20 20 0a 09 |P5 ... . ..| 00000010 09 0a 20 0a 39 0a 20 0a 09 09 0a 20 0a 34 20 0a |.. .9. .... .4 .| 00000020 20 0a 32 35 35 20 7a 21 21 21 7a 21 21 7a 21 7a | .255 z!!!z!!z!z| 00000030 21 21 7a 21 7a 21 7a 21 7a 21 21 7a 21 7a 21 7a |!!z!z!z!z!!z!z!z| 00000040 21 7a 7a 21 21 7a 21 21 7a 7a |!zz!!z!!zz|
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- http://netpbm.sourceforge.net/doc/pgm.html (Definition des Dateiformats)