Was ist eine PGM-Datei?
Eine Portable-Graymap-Datei ist ein Netpbm-Rasterformat, in dem jedes Pixel eine Graustufenintensität darstellt. Es nutzt eine einfache Text- oder Binärstruktur statt eines Bildcontainers mit umfangreichen Funktionen.
So funktionieren PGM-Dateien
PGM beginnt mit einer magischen Kennung, den Bildabmessungen und einem maximalen Abtastwert. Danach folgt für jedes Pixel ein Intensitätswert. Die Plain-Variante schreibt Werte als Dezimaltext, die Raw-Variante nutzt kompakte binäre Nutzdaten. Beide beschreiben dasselbe Graustufenraster. Das Format eignet sich für Schnittstellen, an denen leicht nachvollziehbares Parsen wichtig ist, etwa Test-Fixtures, Computer-Vision-Eingaben und die Untersuchung von Daten zwischen Verarbeitungsschritten.
Wichtige Fakten
P5kennzeichnet die binäre Raw-Variante undP2die Plain-Variante, die jeden Abtastwert als ASCII-Dezimalzahl schreibt. Headerfelder sind durch Whitespace getrennt und können von Kommentaren unterbrochen werden, die von#bis zum Zeilenende reichen. In Raw-PGM trennt ein einzelnes Whitespace-Zeichen nach dem Maximalwert den Header vom Raster. Eine Raw-Datei kann mehrere Bilder direkt hintereinander enthalten, wobei die Spezifikation darauf hinweist, dass die meisten Werkzeuge nur das erste lesen. Eine Plain-Datei enthält genau ein Bild.- Der Maximalwert im Header definiert den Wertebereich der Abtastwerte, nicht eine feste Bittiefe: Er muss größer als 0 und kleiner als 65536 sein. Dabei steht 0 für Schwarz und der Maximalwert für Weiß. Raw-Abtastwerte benötigen ein Byte, wenn der Maximalwert unter 256 liegt, andernfalls zwei Bytes mit dem höchstwertigen Byte zuerst. Die Annahme von einem Byte pro Pixel oder Little Endian führt zur Fehlinterpretation gültiger Dateien. Beispielsweise schrieb libjpeg v6b entgegen der Spezifikation PGM-Dateien mit 16 Bit in Little Endian, wie auf der FFmpeg-Entwicklerliste besprochen. Für größtmögliche Kompatibilität empfiehlt die Spezifikation einen Maximalwert von 255, da Raw-Dateien diesen vor April 2000 nicht überschreiten durften.
- Ein PGM-Header gibt nicht an, wie Abtastwerte mit Licht zusammenhängen. Die Spezifikation definiert sie als Intensität, die mit der Übertragungsfunktion nach ITU-R BT.709 codiert wird. Sie nennt lineare Werte und die sRGB-Kurve als gängige Varianten und räumt ein, dass viele Dateien den Aufbau für beliebige Ganzzahlen nutzen. Ob eine Datei darzustellende Graustufen, lineare Sensordaten, eine Tiefenkarte oder eine Maske enthält, muss daher außerhalb der Datei vereinbart werden.
- PGM enthält einen Kanal, aber weder Alpha noch Farbprofil oder strukturierte Metadaten. Netpbm stellt Transparenz durch eine zweite PGM-Datei als Maske dar. Sein PAM-Format kann Graustufen und Alpha gemeinsam in einer Datei speichern. Bei der IANA ist kein Medientyp registriert;
image/x-portable-graymapist die übliche Bezeichnung.
Wann PGM-Dateien relevant sind
Nutzen Sie PGM als Zwischenformat für Graustufendaten in der Computer Vision oder zur einfachen Fehlersuche. Konvertieren Sie es für die Verteilung, wenn Dateigröße, Metadaten, Transparenz oder breite Anwendungsunterstützung wichtig sind.
So hilft Transloadit bei PGM-Dateien
Transloadits Bildformattabelle, die seine ImageMagick-basierten Robots wie /image/resize abdeckt, führt PGM als Format auf, das diese Robots lesen und schreiben können.
Die Tabelle dokumentiert nur die Lese- und Schreibunterstützung auf Formatebene. Sie gibt nicht an, ob die Ausgabe Raw- oder Plain-PGM ist oder wie Maximalwerte über 255 behandelt werden. Verarbeiten Sie deshalb eine repräsentative Datei mit Ihrer Assembly, bevor Sie sich auf Daten mit höherer Präzision verlassen.
Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung