Was ist das PGM-Dateiformat?
.pgm (kurz für Portable Gray Map) ist ein Dateiformat, das mit Netpbm assoziiert wird, einem plattformübergreifenden Toolkit für Bitmap-Grafiken.
Was enthalten PGM-Dateien?
PGM-Dateien speichern 8- oder 16-Bit-Graustufenbilder. Eine einzelne .pgm-Datei kann mehrere solcher Bilder speichern. Jeder Pixel kann einen Wert von 0 (Schwarz) bis 65 535 (Weiß) annehmen.
Wie werden Daten in PGM-Dateien gespeichert?
PGM-Dateien können Daten in den folgenden Varianten speichern:
- Klartext (Dateikopf mit Magic Number
P2), menschenlesbare ASCII-Kodierung - Binär (Dateikopf mit Magic Number
P5), Speicherung der rohen Binär-Samples pro Pixel
Beide Varianten unterstützen mehrere hintereinander verkettete Bilder in einer einzigen Datei. Der Dateikopf definiert Breite, Höhe und den maximalen Grauwert (Maxval). Der Hauptteil der Datei enthält die Sample-Werte für jeden Bildpixel.
Wofür werden PGM-Dateien verwendet?
Eine .pgm-Datei ist ein Beispiel für die Implementierung des .pnm (Portable Anymap) Standards. PGM-Dateien werden hauptsächlich als Bildaustauschformat in der Bildverarbeitung, in Computer-Vision-Pipelines und Grafik-Toolchains verwendet. Neben PGM sind weitere Implementierungen derselben Familie verfügbar:
Sicherheit
RISIKO: LOWPGM ist ein passives, vollständig dokumentiertes Rasterbild - Header plus Pixeldaten, keine Skripte oder ausführbaren Inhalte, daher ist das Öffnen sicher. Die einzigen praktischen Vorsichtshinweise betreffen keine Malware: Dateien sind groß, da PGM unkomprimiert ist (in PNG konvertieren, um Platz zu sparen), und ein fehlerhafter oder übergroßer Header könnte einen einfachen Parser dazu veranlassen, einen riesigen Puffer zuzuweisen; verwenden Sie daher einen aktuellen Viewer. Es gibt keine Datenschutzbedenken bezüglich Metadaten/EXIF, da das Format keine enthält.
Formatdetails
kurz gefasstProgramme zum Öffnen von PGM-Dateien
Technische Details
technische Spezifikation| Formatfamilie | Netpbm PNM-Familie, neben .pbm (1-Bit-Bitmap) und .ppm (RGB-Farbe) |
| Farbmodell | Nur Graustufen - keine Farbkanäle, kein Alphakanal |
| Farbtiefe | 8-Bit (Maxval 255, 256 Graustufen) oder 16-Bit (Maxval bis zu 65 535) |
| Magic Number | „P2“ (0x50 0x32) für die ASCII-Variante; „P5“ (0x50 0x35) für die Binär-Variante - an Offset 0 |
| MIME-Typ | image/x-portable-graymap |
| Kodierungsvarianten | P2: menschenlesbare ASCII-Pixelwerte; P5: rohe binäre Pixeldaten - der Header ist in beiden Varianten immer ASCII-Text |
| Kompression | Keine - Pixel-Samples werden roh und unkomprimiert gespeichert |
| Byte-Reihenfolge | Big-endian für 16-Bit-Samples (wenn Maxval > 255); 8-Bit-Samples belegen jeweils ein einzelnes Byte |
| Bytes pro Sample | 1 Byte pro Pixel, wenn Maxval ≤ 255; 2 Big-endian Bytes pro Pixel, wenn Maxval > 255 |
| Header-Struktur | Durch Leerzeichen getrennte ASCII-Felder in der Reihenfolge: Magic Number, Bildbreite, Bildhöhe, Maxval - gefolgt von einem einzelnen Leerzeichen-Trennzeichen, dann das Pixelraster |
| Unterstützung für mehrere Bilder | Mehrere Bilder können sequenziell in einer .pgm-Datei verkettet werden (sowohl P2- als auch P5-Varianten) |
| Dimensionslimit | Kein formatbedingtes Maximum; nur begrenzt durch den ASCII-Ganzzahlbereich im Header und den verfügbaren Speicher |
| Typische Dateigröße | Unkomprimiert; skaliert als Breite × Höhe × Bytes-pro-Sample - von Kilobytes für kleine Bilder bis zu zig Megabytes für große |
| Entwickler | Jef Poskanzer, ursprünglich aus dem Pbmplus-Toolkit (später als Netpbm-Projekt fortgeführt) |
| Plattformunterstützung | Windows, macOS, Linux, Unix - nativ von Netpbm-Tools verarbeitet und von den meisten Bildverarbeitungsbibliotheken (OpenCV, ImageMagick, GIMP) unterstützt |
| Veröffentlicht | 1988 (Pbmplus toolkit, later Netpbm) |
| Neueste Version | Stable since the 1990s; current Netpbm 10.86+ implements it (no format version bump) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | netpbm.sourceforge.net |
PGM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PGM-Dateien.