Portable Graymap (.pgm)
Netpbm StandardDas Portable Graymap Format (PGM) ist die Graustufen-Bildspezifikation der Netpbm-Familie, die häufig in den Bereichen Computer Vision, Robotik, optische Inspektion und Algorithmen zur digitalen Bildverarbeitung verwendet wird.
Untersuchen & Metadaten
Betriebssysteme und Dateianalysatoren identifizieren PGM-Dateien durch Untersuchung der führenden binären Byte-Sequenz:
Byte-basierte Headersignatur (Magic Bytes)
Betriebssysteme und Dateianalysatoren identifizieren PGM-Dateien durch Untersuchung der führenden binären Byte-Sequenz:
HEX-SIGNATUR (OFFSET 0):
50 32 / 50 35ASCII-DARSTELLUNG: P2 / P5
Standardisierung: Netpbm Library Standard
Technische Daten
| Container-Architektur | ASCII (P2) oder binäres (P5) Netpbm-Format mit Breite, Höhe, maximalem Grauwert und Pixelstrom |
| Kompression | Unkomprimierte rohe Binärbytes oder menschenlesbare ASCII-Textzahlen |
| Byte-Endianness | Big-Endian (für 16-bit Binärwerte im P5-Modus) |
| Farbräume | Linearer Graustufen- oder sRGB-Graustufen-Farbraum |
| Kanäle & Struktur | 1-Kanal-Graustufe (8-Bit- oder 16-Bit-Präzision) |
| Max. Abmessungen | Praktisch unbegrenzt (unterstützt einen beliebigen 64-Bit-Koordinatenraum) |
| Transparenz | Keine |
| Streaming & Progressiv | Sequenzielle zeilenbasierte Streaming-Wiedergabe |
Technischer Vergleich: PGM im Vergleich zu Wettbewerbern
| Technisches Attribut | PGM (Aktuell) | PBM | PPM | PNG |
|---|---|---|---|---|
| Farbmodus | Graustufen (8-bit / 16-bit) | 1-bit Monochrom | RGB Truecolor (24-Bit / 48-Bit) | Graustufen, RGB, RGBA |
| Netpbm-Geschwisterformat | PGM (Portable Graymap) | PBM (Portable Bitmap) | PPM (Portable Pixmap) | Nicht-Netpbm W3C-Standard |
| Magic Bytes | P2 (ASCII) / P5 (Binär) | P1 (ASCII) / P4 (Binär) | P3 (ASCII) / P6 (Binär) | ‰PNG.... |
| Komprimierung | Unkomprimiert | Unkomprimiert | Unkomprimiert | Verlustfreies Deflate |
Häufige Korruptionsarten & Hex-Wiederherstellungsleitfaden
Das Bild wird invertiert oder völlig überbelichtet in Weiß angezeigt.
Ursache: Nicht übereinstimmender Parameter „maxval" im Header (z. B. maxval als 1 statt als 255 deklariert).
Wiederherstellung: Korrigieren Sie die maxval-Headerzeile oder transkodieren Sie mit dem File2File Netpbm Konverter.
Sicherheitsanalyse & Parser-Angriffsvektore
PGM-Decoder müssen sorgfältig validieren, dass die geparsten Pixelanzahlen den deklarierten Abmessungen entsprechen, um Pufferüberläufe zu verhindern.
Bekannte Angriffsvektore
- Ganzzahlüberlauf (Integer-Overflow) bei der Pufferzuweisung von Breite * Höhe * (maxval > 255 ? 2 : 1).
- Pufferüberlesung (Buffer Over-read) beim Lesen fehlerhafter ASCII-Nummern-Tokens.
- Denial-of-Service durch massive Speicherallokation, ausgelöst durch manipulierte Header-Dimensionen.
Bewährte Sicherheitsverfahren: Begrenzen Sie maximal zulässige Abmessungen und Speicherzuweisungsgrenzen vor dem Lesen von Pixelströmen.
Historische Ursprünge & Meilensteine
Hauptvorteile & Stärken
- Null Komplexität: extrem einfach in C, Python oder WebAssembly ohne externe Bibliotheken zu parsen und zu schreiben.
- Die native 16-Bit-Graustufenunterstützung prädestiniert das Format für Höhenkarten, Tiefenkarten und Wärmebilder.
- Der ASCII-Modus (P2) ermöglicht die direkte Inspektion und Bearbeitung roher Pixelwerte in Standard-Texteditoren.
Technische Einschränkungen & Nachteile
- Keine Komprimierung: große Dateigrößen im Vergleich zu komprimierten Formaten wie PNG.
- Es fehlen Metadaten für physische Abmessungen, Farbräume oder Geodaten.
- Rein einkanalig: Kann keine Farbdaten oder Alpha-Transparenz speichern.
Interessante technische Wissenswertes
- OpenCV, ROS (Robot Operating System) und maschinelle Vision-Systeme verwenden PGM häufig für SLAM-Navigationskarten.
- Spieleentwickler verwenden 16-Bit-PGM-Dateien oft als Terrain-Höhenkarten, da die Rohhöhendaten unkomprimiert und einfach zu laden sind.
- Der Parameter „maxval" im Header definiert den maximalen Helligkeitswert (typischerweise 255 für 8-Bit oder 65535 für 16-Bit).
Häufig gestellte technische Fragen
Wofür wird das PGM-Format verwendet?
PGM wird hauptsächlich in der Computer Vision (OpenCV), Robotik (ROS-Kartendateien), wissenschaftlichen Bildgebung und bei der Erstellung von 3D-Terrain-Höhenkarten verwendet.
Was ist der Unterschied zwischen P2- und P5-PGM-Dateien?
P2 ist einfacher ASCII-Text, bei dem jedes Pixel eine geschriebene Zahl ist, während P5 Pixel als kompakte Binärbytes speichert.
Wie kann ich PGM in JPG oder PNG konvertieren?
Laden Sie Ihre PGM-Datei auf File2File.app hoch, um sie direkt in Ihrem Browser und unter Wahrung vollständiger Privatsphäre in PNG oder JPG zu konvertieren.