Mapa de grises portátil (.pgm)
Netpbm StandarPortable Graymap Format (PGM) adalah spesifikasi gambar grayscale dari keluarga Netpbm, yang banyak digunakan dalam visi komputer, robotika, inspeksi optik, dan algoritma pemrosesan citra digital.
Periksa & Metadata
Sistem operasi dan penganalisis file mengidentifikasi file PGM dengan memeriksa urutan byte biner utama:
Tanda Tangan Header Tingkat-Byte (Magic Bytes)
Sistem operasi dan penganalisis file mengidentifikasi file PGM dengan memeriksa urutan byte biner utama:
SIGNATURE HEX (OFFSET 0):
50 32 / 50 35REPRESENTASI ASCII: P2 / P5
Standardisasi: Netpbm Library Standard
Spesifikasi Teknis
| Arsitektur Wadah | ASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream |
| Kompresi | Uncompressed raw binary bytes or human-readable ASCII text numbers |
| Endianness Byte | Big-Endian (for 16-bit binary samples in P5 mode) |
| Ruang Warna | Linear Grayscale or sRGB Grayscale |
| Saluran & Struktur | 1 channel grayscale (8-bit or 16-bit precision) |
| Dimensi Maks | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Transparansi | None |
| Streaming & Progresif | Sequential row-by-row streaming playback |
Matriks Perbandingan Teknis: PGM vs Pesaing
| Atribut Teknis | PGM (Saat Ini) | PBM | PPM | PNG |
|---|---|---|---|---|
| Mode Warna | Skala abu-abu (8-bit / 16-bit) | Monokrom 1-bit | RGB Truecolor (24-bit / 48-bit) | Skala abu-abu, RGB, RGBA |
| Turunan Netpbm | PGM (Portable Graymap) | PBM (Portable Bitmap) | PPM (Portable Pixmap) | Standar W3C Non-Netpbm |
| Magic Byte | P2 (ASCII) / P5 (Biner) | P1 (ASCII) / P4 (Biner) | P3 (ASCII) / P6 (Biner) | ‰PNG.... |
| Kompresi | Tidak dikompresi | Tidak dikompresi | Tidak dikompresi | Deflate Lossless |
Mode Kerusakan Umum & Panduan Pemulihan Hex
Gambar ditampilkan terbalik atau putih kosong sepenuhnya.
Penyebab Utama: Parameter 'maxval' yang tidak cocok di tajuk (misalnya maxval dideklarasikan sebagai 1 alih-alih 255).
Pemulihan: Koreksi baris tajuk maxval atau transkode dengan Konverter Netpbm File2File.
Analisis Keamanan & Vektor Serangan Parser
Dekoder PGM harus dengan hati-hati memvalidasi bahwa jumlah piksel yang diurai cocok dengan dimensi yang dideklarasikan untuk mencegah buffer overrun.
Vektor Serangan yang Diketahui
- Integer overflow selama alokasi buffer lebar * tinggi * (maxval > 255 ? 2 : 1).
- Buffer over-read saat membaca token angka ASCII yang cacat.
- Penolakan layanan melalui alokasi memori besar yang dipicu oleh dimensi tajuk buatan.
Praktik Terbaik Defensif:
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Nol kompleksitas: sangat sederhana untuk diurai dan ditulis dalam C, Python, atau WebAssembly tanpa pustaka eksternal.
- Dukungan grayscale 16-bit asli menjadikannya ideal untuk peta ketinggian, peta kedalaman, dan pencitraan termal.
- Mode ASCII (P2) memungkinkan pemeriksaan langsung dan manipulasi nilai piksel mentah di editor teks standar.
Keterbatasan Teknis & Kekurangan
- Tanpa kompresi: ukuran berkas besar dibandingkan dengan format terkompresi seperti PNG.
- Tidak memiliki metadata untuk dimensi fisik, ruang warna, atau geolokasi.
- Secara ketat saluran tunggal: tidak dapat menyimpan data warna atau transparansi alfa.
Fakta Teknis Menarik
- OpenCV, ROS (Robot Operating System), dan sistem machine vision sering menggunakan PGM untuk peta navigasi SLAM.
- Pengembang game sering menggunakan berkas PGM 16-bit sebagai peta ketinggian medan karena data elevasi mentah tidak dikompresi dan mudah dimuat.
- Parameter 'maxval' dalam tajuk menentukan nilai kecerahan maksimum (biasanya 255 untuk 8-bit atau 65535 untuk 16-bit).
Pertanyaan Teknis yang Sering Diajukan
Untuk apa format PGM digunakan?
PGM terutama digunakan dalam visi komputer (OpenCV), robotika (file peta ROS), pencitraan ilmiah, dan pembuatan peta ketinggian medan 3D.
Apa perbedaan antara file PGM P2 dan P5?
P2 adalah teks ASCII biasa di mana setiap piksel adalah angka tertulis, sementara P5 menyimpan piksel sebagai byte biner yang ringkas.
Bagaimana cara mengonversi PGM ke JPG atau PNG?
Unggah file PGM Anda ke File2File.app untuk mengonversinya ke PNG atau JPG langsung di browser Anda dengan privasi penuh.