Mapa de grises portátil (.pgm)

Netpbm Standar

Portable Graymap Format (PGM) adalah spesifikasi gambar skala abu-abu dari keluarga Netpbm, yang banyak digunakan dalam visi komputer, robotika, inspeksi optik, dan algoritma pemrosesan citra digital.

Pemeriksaan & Metadata

Sistem operasi dan penganalisis file mengenali file PGM dengan memeriksa urutan byte biner di bagian awal:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

Tanda Tangan Header per Byte (Byte Penanda)

Sistem operasi dan penganalisis file mengenali file PGM dengan memeriksa urutan byte biner di bagian awal:

TANDA TANGAN HEX (OFFSET 0):

50 32 / 50 35

REPRESENTASI ASCII: P2 / P5

Standardisasi: Netpbm Library Standard

Spesifikasi Teknis

Arsitektur KontainerFormat Netpbm ASCII (P2) atau biner (P5) dengan lebar, tinggi, nilai abu-abu maksimum, dan aliran piksel
KompresiByte biner mentah tanpa kompresi atau angka teks yang dapat dibaca manusia
Urutan ByteBig-Endian (untuk sampel biner 16-bit dalam mode P5)
Ruang WarnaSkala abu-abu linear atau skala abu-abu sRGB
Saluran & Struktur1 saluran skala abu-abu (presisi 8-bit atau 16-bit)
Dimensi MaksimumSecara praktis tidak terbatas (mendukung ruang koordinat 64-bit arbitrer)
TransparansiTidak ada
Streaming & ProgresifPemutaran streaming berurutan baris demi baris

Perbandingan Teknis PGM dengan Pesaing

Atribut TeknisPGM (Saat Ini)PBMPPMPNG
Mode WarnaSkala abu-abu (8-bit / 16-bit)Monokrom 1-bitRGB Truecolor (24-bit / 48-bit)Skala abu-abu, RGB, RGBA
Turunan NetpbmPGM (Portable Graymap)PBM (Portable Bitmap)PPM (Portable Pixmap)Standar W3C non-Netpbm
Magic ByteP2 (ASCII) / P5 (Biner)P1 (ASCII) / P4 (Biner)P3 (ASCII) / P6 (Biner)‰PNG....
KompresiTidak dikompresiTidak dikompresiTidak dikompresiDeflate Lossless

Pola Kerusakan Umum dan 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.app.

Analisis Keamanan & Vektor Serangan Parser

Dekoder PGM harus dengan hati-hati memvalidasi bahwa jumlah piksel yang diurai cocok dengan dimensi yang dideklarasikan untuk mencegah luapan buffer.

Vektor Serangan yang Diketahui

  • Luapan bilangan bulat selama alokasi buffer lebar * tinggi * (maxval > 255 ? 2 : 1).
  • Pembacaan berlebih pada buffer saat membaca token angka ASCII yang cacat.
  • Penolakan layanan melalui alokasi memori besar yang dipicu oleh dimensi tajuk buatan.

Praktik Terbaik Defensif: Batasi dimensi maksimum yang diizinkan dan batas alokasi memori sebelum membaca aliran piksel.

Asal-Usul & Tonggak Sejarah

2000Kedalaman 16-bit (maxval hingga 65535) distandarisasi dalam mode biner P5 untuk pencitraan ilmiah.
1993Dimasukkan ke dalam perangkat Netpbm sebagai format grayscale perantara standar.
1989Jef Poskanzer membuat PGM untuk melengkapi PBM dengan dukungan skala abu-abu 256 tingkat penuh.

Keunggulan & Kelebihan Utama

  • Struktur PGM yang ringkas dapat memudahkan penerapan pembaca dasar, meskipun penanganan kedalaman sampel, header, dan masukan yang cacat tetap memerlukan kehati-hatian.
  • Dukungan skala abu-abu 16-bit asli menjadikannya ideal untuk peta ketinggian, peta kedalaman, dan pencitraan termal.
  • Mode ASCII (P2) memungkinkan pemeriksaan langsung dan pengubahan 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.
  • Hanya memiliki satu saluran: tidak dapat menyimpan data warna atau transparansi alfa.

Fakta Teknis Menarik

  • OpenCV, ROS (Robot Operating System), dan sistem visi mesin 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 menyimpan setiap nilai piksel sebagai angka dalam teks ASCII biasa, sedangkan P5 menyimpan piksel sebagai byte biner yang ringkas.

Bagaimana cara mengonversi PGM ke JPG atau PNG?

PGM menyimpan sampel skala abu-abu. Konversikan ke PNG untuk gambar lossless yang didukung banyak penampil, atau ke JPEG jika memerlukan file bergaya foto yang lebih kecil; konversi JPEG dapat menurunkan kualitas.