Portable Graymap (.pgm)
Netpbm StandardDas Portable Graymap Format (PGM) ist ein Graustufenformat der Netpbm-Familie, das häufig in den Bereichen Computer Vision, Robotik, optische Inspektion und digitaler Bildverarbeitung eingesetzt wird.
Untersuchen & Metadaten
Betriebssysteme und Dateianalyseprogramme identifizieren PGM-Dateien anhand der führenden binären Bytefolge:
Headersignatur auf Byte-Ebene (Magic Bytes)
Betriebssysteme und Dateianalyseprogramme identifizieren PGM-Dateien anhand der führenden binären Bytefolge:
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-Reihenfolge | Big-Endian (für 16-Bit-Binärwerte im P5-Modus) |
| Farbräume | Linearer Graustufen-Farbraum oder sRGB-Graustufen-Farbraum |
| Kanäle und 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 und progressive Darstellung | Sequenzielle zeilenbasierte Streaming-Wiedergabe |
Technische Vergleichsmatrix: PGM und Konkurrenzformate
| Technisches Attribut | PGM (Aktuelles Format) | 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 Datenbeschädigungen und Leitfaden zur Wiederherstellung anhand von Hex-Daten
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.app Netpbm Konverter.
Sicherheitsanalyse und Angriffsvektoren für Parser
PGM-Decoder müssen sorgfältig validieren, dass die geparsten Pixelanzahlen den deklarierten Abmessungen entsprechen, um Pufferüberläufe zu verhindern.
Bekannte Angriffsvektoren
- 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.
Empfohlene Schutzmaßnahmen: Begrenzen Sie maximal zulässige Abmessungen und Speicherzuweisungsgrenzen vor dem Lesen von Pixelströmen.
Historische Ursprünge & Meilensteine
Hauptvorteile & Stärken
- Die kompakte PGM-Struktur kann die Implementierung einfacher Leseprogramme erleichtern; der Umgang mit Abtasttiefen, Kopfzeilen und fehlerhaften Eingaben erfordert dennoch Sorgfalt.
- 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 Fakten
- 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.