Portable Graymap (.pgm)

Netpbm Standart

Taşınabilir Gri Harita Formatı (PGM), bilgisayarlı görü, robotik, optik denetim ve dijital görüntü işleme algoritmalarında yaygın olarak kullanılan Netpbm ailesinin gri tonlamalı görüntü şartnamesidir.

İncele & Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, PGM dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seçin veya bırakın

Kesinlikle %100 tarayıcı içi gizli dönüşüm - dosyalar asla cihazınızdan ayrılmaz

veya yapıştırın Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcınızın korumalı alanında (sandbox) yerel olarak gerçekleştirildi.

Bayt Düzeyinde Başlık İmzası (Magic Bytes)

İşletim sistemleri ve dosya çözümleyicileri, PGM dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

50 32 / 50 35

ASCII GÖSTERİMİ: P2 / P5

Standardizasyon: Netpbm Library Standard

Teknik Özellikler

Konteyner MimarisiASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
SıkıştırmaUncompressed raw binary bytes or human-readable ASCII text numbers
Bayt Düzeni (Endianness)Big-Endian (for 16-bit binary samples in P5 mode)
Renk UzaylarıLinear Grayscale or sRGB Grayscale
Kanallar ve Yapı1 channel grayscale (8-bit or 16-bit precision)
Maksimum BoyutlarPractically unlimited (supports arbitrary 64-bit coordinate space)
ŞeffaflıkNone
Akış ve Aşamalı (Streaming & Progressive)Sequential row-by-row streaming playback

Teknik Karşılaştırma Matrisi: PGM ve Rakipleri

Teknik NitelikPGM (Güncel)PBMPPMPNG
Renk ModuGri Tonlama (8-bit / 16-bit)1-bit MonokromRGB Truecolor (24-bit / 48-bit)Gri Tonlama, RGB, RGBA
Netpbm KardeşiPGM (Taşınabilir Gri Harita)PBM (Taşınabilir İkili Harita)PPM (Taşınabilir Piksel Haritası)Netpbm dışı W3C standardı
Sihirli BaytlarP2 (ASCII) / P5 (İkili)P1 (ASCII) / P4 (İkili)P3 (ASCII) / P6 (İkili)‰PNG....
SıkıştırmaSıkıştırılmamışSıkıştırılmamışSıkıştırılmamışKayıpsız Deflate

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Görüntü ters veya tamamen patlamış beyaz renkte görüntülenir.

Kök Neden: Başlıkta eşleşmeyen 'maxval' parametresi (ör. maxval 255 yerine 1 olarak bildirilmiş).

Kurtarma: Maxval başlık satırını düzeltin veya File2File Netpbm Dönüştürücü ile dönüştürün.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

PGM kod çözücüleri, arabellek taşmasını önlemek için ayrıştırılan piksel sayı手数lerinin bildirilen boyutlarla eşleştiğini dikkatlice doğrulamalıdır.

Bilinen Saldırı Vektörleri

  • Genişlik * yükseklik * (maxval > 255 ? 2 : 1) arabellek tahsisi sırasında tamsayı taşması.
  • Bozuk ASCII sayı belirteçleri okunurken arabellek okuma sınırı aşımı.
  • Oluşturulan başlık boyutları tarafından tetiklenen devasa bellek ayırma yoluyla hizmet reddi (DoS).

Savunmacı En İyi Uygulamalar:

Tarihsel Kökenler ve Kilometre Taşları

2000Bilimsel görüntüleme için ikili P5 modunda 16-bit derinlik (65535'e kadar maxval) standartlaştırıldı.
1993Standart ara gri tonlama formatı olarak Netpbm araç setine eklendi.
1989Jef Poskanzer, PBM'yi tam 256 seviyeli gri tonlama desteğiyle tamamlamak için PGM'yi oluşturdu.

Temel Avantajlar ve Artılar

  • Sıfır karmaşıklık: Harici kitaplıklar olmadan C, Python veya WebAssembly'de ayrıştırılması ve yazılması son derece basittir.
  • Yerel 16-bit gri tonlama desteği, onu yükseklik haritaları, derinlik haritaları ve termal görüntüleme için ideal kılar.
  • ASCII modu (P2), standart metin düzenleyicilerinde ham piksel değerlerinin doğrudan incelenmesine ve işlenmesine izin verir.

Teknik Kısıtlamalar ve Eksiler

  • Sıkıştırma yok: PNG gibi sıkıştırılmış formatlara kıyasla büyük dosya boyutları.
  • Fiziksel boyutlar, renk uzayları veya coğrafi konum için meta verilerden yoksundur.
  • Kesinlikle tek kanallıdır: Renk verilerini veya alfa şeffaflığını depolayamaz.

İlginç Teknik Bilgiler

  • OpenCV, ROS (Robot İşletim Sistemi) ve makine vizyonu sistemleri, SLAM navigasyon haritaları için sıklıkla PGM kullanır.
  • Oyun geliştiricileri genellikle 16-bit PGM dosyalarını arazi yükseklik haritaları olarak kullanırlar çünkü ham yükseklik verileri sıkıştırılmamıştır ve yüklenmesi kolaydır.
  • Başlıktaki 'maxval' parametresi maksimum parlaklık değerini tanımlar (genellikle 8-bit için 255 veya 16-bit için 65535).

Sıkça Sorulan Teknik Sorular

PGM formatı ne için kullanılır?

PGM öncelikle bilgisayarla görü (OpenCV), robotik (ROS harita dosyaları), bilimsel görüntüleme ve 3D arazi yükseklik haritası (heightmap) oluşturmada kullanılır.

P2 ve P5 PGM dosyaları arasındaki fark nedir?

P2, her pikselin yazılı bir sayı olduğu düz ASCII metin formatıdır; P5 ise pikselleri kompakt ikili baytlar olarak saklar.

PGM'yi JPG veya PNG'ye nasıl dönüştürebilirim?

Tam gizlilikle doğrudan tarayıcınızda PNG veya JPG'ye dönüştürmek için PGM dosyanızı File2File.app'e yükleyin.