Portable Graymap (.pgm)

Netpbm Τυπικό

Το Portable Graymap Format (PGM) είναι η προδιαγραφή εικόνων κλίμακας του γκρι της οικογένειας Netpbm, η οποία χρησιμοποιείται ευρέως στην όραση υπολογιστών, στη ρομποτική, στον οπτικό έλεγχο και σε αλγορίθμους ψηφιακής επεξεργασίας εικόνας.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία PGM ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

Ιδιωτικά - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: Δεν μεταφορτώνεται κανένα byte σε εξωτερικούς διακομιστές. Όλη η επεξεργασία γίνεται τοπικά στο απομονωμένο περιβάλλον του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία PGM ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):

50 32 / 50 35

ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: P2 / P5

Τυποποίηση: Netpbm Library Standard

Τεχνικές Προδιαγραφές

Αρχιτεκτονική ΠεριέκτηΜορφή Netpbm ASCII (P2) ή δυαδική (P5), με πλάτος, ύψος, μέγιστη τιμή γκρι και ροή εικονοστοιχείων
ΣυμπίεσηΑσυμπίεστα ακατέργαστα δυαδικά byte ή ευανάγνωστοι αριθμοί κειμένου ASCII
Σειρά byte (endianness)Μεγάλης διάταξης (Big-Endian, για δυαδικά δείγματα 16 bit σε λειτουργία P5)
Χρωματικοί ΧώροιLinear Grayscale or sRGB Grayscale
Κανάλια & Δομή1 κανάλι κλίμακας του γκρι (ακρίβεια 8 bit ή 16 bit)
Μέγιστες ΔιαστάσειςΠρακτικά απεριόριστες διαστάσεις (υποστηρίζει αυθαίρετο χώρο συντεταγμένων 64 bit)
ΔιαφάνειαNone
Ροή δεδομένων και προοδευτική φόρτωσηΑκολουθιακή αναπαραγωγή και μετάδοση γραμμή προς γραμμή

Τεχνικός Πίνακας Σύγκρισης: PGM έναντι Ανταγωνιστών

Τεχνικό χαρακτηριστικόPGM (Τρέχον)PBMPPMPNG
Χρωματική ΛειτουργίαΚλίμακα του γκρι (8-bit / 16-bit)Μονόχρωμο 1-bitRGB Truecolor (24-bit / 48-bit)Κλίμακα του γκρι, RGB, RGBA
Συγγενές NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Πρότυπο W3C εκτός Netpbm
Magic BytesP2 (ASCII) / P5 (Δυαδικό)P1 (ASCII) / P4 (Δυαδικό)P3 (ASCII) / P6 (Δυαδικό)‰PNG....
ΣυμπίεσηΑσυμπίεστοΑσυμπίεστοΑσυμπίεστοDeflate χωρίς απώλειες

Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων

Η εικόνα εμφανίζεται ανεστραμμένη ή εντελώς καμένη στα λευκά.

Βασική Αιτία: Ασυμφωνία στην παράμετρο 'maxval' στην κεφαλίδα (π.χ. το maxval δηλώθηκε ως 1 αντί για 255).

Ανάκτηση: Διορθώστε τη γραμμή κεφαλίδας maxval ή κάντε transcode με το File2File.app Netpbm Converter.

Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή

Οι αποκωδικοποιητές PGM πρέπει να επαληθεύουν προσεκτικά ότι οι αναλυθέντες αριθμοί pixel ταιριάζουν με τις δηλωμένες διαστάσεις για την αποφυγή υπερχείλισης buffer.

Γνωστά διανύσματα επίθεσης

  • Υπερχείλιση ακεραίων κατά την εκχώρηση buffer width * height * (maxval > 255 ? 2 : 1).
  • Υπέρβαση ανάγνωσης buffer (buffer over-read) κατά την ανάγνωση παραμορφωμένων tokens αριθμών ASCII.
  • Άρνηση υπηρεσίας (DoS) μέσω τεράστιας εκχώρησης μνήμης που προκαλείται από πλαστές διαστάσεις κεφαλίδας.

Βέλτιστες αμυντικές πρακτικές: Θέστε ανώτατο όριο στις επιτρεπόμενες διαστάσεις και στις κατανομές μνήμης πριν από την ανάγνωση ροών pixel.

Ιστορική Αναδρομή & Ορόσημα

2000Τυποποίηση βάθους 16-bit (maxval έως 65535) στη λειτουργία δυαδικού P5 για επιστημονική απεικόνιση.
1993Το PGM ενσωματώνεται στην εργαλειοθήκη Netpbm ως η τυπική ενδιάμεση μορφή εικόνων κλίμακας του γκρι.
1989Ο Jef Poskanzer δημιουργεί το PGM για να συμπληρώσει το PBM με πλήρη υποστήριξη κλίμακας του γκρι 256 επιπέδων.

Κύρια Πλεονεκτήματα

  • Η συμπαγής δομή του PGM διευκολύνει την υλοποίηση βασικών προγραμμάτων ανάγνωσης, αν και απαιτείται προσοχή στον χειρισμό του βάθους δειγμάτων, των κεφαλίδων και των κακοσχηματισμένων εισόδων.
  • Η εγγενής υποστήριξη κλίμακας του γκρι 16-bit το καθιστά ιδανικό για χάρτες υψομέτρου, χάρτες βάθους και θερμική απεικόνιση.
  • Η λειτουργία ASCII (P2) επιτρέπει την άμεση επιθεώρηση και χειρισμό των ακατέργαστων τιμών pixel σε τυπικούς επεξεργαστές κειμένου.

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Χωρίς συμπίεση: μεγάλος όγκος αρχείου σε σύγκριση με συμπιεσμένες μορφές όπως το PNG.
  • Δεν διαθέτει μεταδεδομένα για φυσικές διαστάσεις, χρωματικούς χώρους ή γεωεντοπισμό.
  • Αυστηρά μονοκαναλικό: δεν μπορεί να αποθηκεύσει χρωματικά δεδομένα ή διαφάνεια alpha.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Το OpenCV, το ROS (Robot Operating System) και τα συστήματα μηχανικής όρασης χρησιμοποιούν συχνά το PGM για χάρτες πλοήγησης SLAM.
  • Οι προγραμματιστές παιχνιδιών χρησιμοποιούν συχνά αρχεία PGM 16-bit ως χάρτες υψομέτρου εδάφους επειδή τα ακατέργαστα δεδομένα ανύψωσης είναι ασυμπίεστα και εύκολα στη φόρτωση.
  • Η παράμετρος 'maxval' στην κεφαλίδα ορίζει τη μέγιστη τιμή φωτεινότητας (συνήθως 255 για 8-bit ή 65535 για 16-bit).

Συχνές Τεχνικές Ερωτήσεις

Σε τι χρησιμοποιείται η μορφή PGM;

Το PGM χρησιμοποιείται κυρίως στην όραση υπολογιστών (OpenCV), στη ρομποτική (αρχεία χαρτών ROS), στην επιστημονική απεικόνιση και στη δημιουργία χαρτών υψομέτρου τρισδιάστατου εδάφους.

Ποια είναι η διαφορά μεταξύ αρχείων PGM P2 και P5;

Το P2 είναι απλό κείμενο ASCII όπου κάθε pixel είναι ένας γραπτός αριθμός, ενώ το P5 αποθηκεύει τα pixels ως συμπαγή δυαδικά byte.

Πώς μπορώ να μετατρέψω PGM σε JPG ή PNG;

Το PGM αποθηκεύει δείγματα σε κλίμακα του γκρι. Μετατρέψτε το σε PNG για εικόνα χωρίς απώλειες, που υποστηρίζεται από πολλά προγράμματα προβολής, ή σε JPEG όταν προέχει μικρότερο αρχείο τύπου φωτογραφίας· ο μετατροπέας εκτελείται στο πρόγραμμα περιήγησής σας.