نقشه خاکستری قابل حمل (.pgm)

Netpbm استاندارد

فرمت گری‌مپ قابل حمل (PGM) مشخصات تصویر مقیاس خاکستری خانواده Netpbm است که به طور گسترده در بینایی ماشین، رباتیک، بازرسی نوری و الگوریتم‌های پردازش تصویر دیجیتال استفاده می‌شود.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های PGM را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های PGM را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

50 32 / 50 35

نمایش ASCII: P2 / P5

استانداردسازی: Netpbm Library Standard

مشخصات فنی

معماری کانتینرASCII (P2) or binary (P5) Netpbm format with width, height, maximum gray value, and pixel stream
فشرده‌سازیUncompressed raw binary bytes or human-readable ASCII text numbers
ترتیب بایت‌ها (Endianness)Big-Endian (for 16-bit binary samples in P5 mode)
فضاهای رنگیLinear Grayscale or sRGB Grayscale
کانال‌ها و ساختار1 channel grayscale (8-bit or 16-bit precision)
حداکثر ابعادPractically unlimited (supports arbitrary 64-bit coordinate space)
شفافیت مشخصاتNone
استریمینگ و پیش‌روندهSequential row-by-row streaming playback

ماتریس مقایسه فنی: PGM در برابر رقبا

ویژگی فنیPGM (فعلی)PBMPPMPNG
حالت رنگمقیاس خاکستری (۸ بیتی / ۱۶ بیتی)تک‌رنگ ۱ بیتیRGB Truecolor (۲۴ بیتی / ۴۸ بیتی)مقیاس خاکستری، RGB، RGBA
فرمت هم‌خانواده NetpbmPGM (گری‌مپ قابل حمل)PBM (بیت‌مپ قابل حمل)PPM (پیکس‌مپ قابل حمل)استاندارد W3C غیر Netpbm
بایت‌های جادوییP2 (متنی) / P5 (باینری)P1 (متنی) / P4 (باینری)P3 (متنی) / P6 (باینری)‰PNG....
فشرده‌سازیفشرده نشدهفشرده نشدهفشرده نشدهDeflate بدون افت کیفیت

حالت‌های رایج خرابی و راهنمای بازیابی هگز

تصویر به صورت معکوس یا کاملاً سفید و سوخته نمایش داده می‌شود.

علت ریشه‌ای: پارامتر 'maxval' نامنطبق در هدر (به عنوان مثال maxval به جای ۲۵۵ به عنوان ۱ اعلام شده است).

بازیابی: خط هدر maxval را اصلاح کنید یا با مبدل File2File Netpbm تبدیل کنید.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

رمزگشاهای PGM باید به دقت اعتبارسنجی کنند که تعداد پیکسل‌های تجزیه شده با ابعاد اعلام شده مطابقت دارد تا از سرریز بافر جلوگیری شود.

بردارهای حمله شناخته‌شده

  • سرریز عدد صحیح در حین تخصیص بافر عرض * ارتفاع * (maxval > 255 ? 2 : 1).
  • خواندن بیش از حد بافر هنگام خواندن توکن‌های اعداد ASCII بدفرمت.
  • حمله محرومیت از سرویس (DoS) از طریق تخصیص حافظه عظیم که توسط ابعاد هدر ساختگی ایجاد می‌شود.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2000عمق ۱۶ بیتی (maxval تا ۶۵۵۳۵) در حالت باینری P5 برای تصویربرداری علمی استاندارد شد.
1993به عنوان فرمت استاندارد مقیاس خاکستری میانی در جعبه ابزار Netpbm گنجانده شد.
1989جف پوسکینزر (Jef Poskanzer) فرمت PGM را برای تکمیل PBM با پشتیبانی کامل از مقیاس خاکستری ۲۵۶ سطحی ایجاد کرد.

مزایا و نقاط قوت کلیدی

  • صفر پیچیدگی: تجزیه و نوشتن بسیار ساده در C، Python یا WebAssembly بدون کتابخانه‌های خارجی.
  • پشتیبانی بومی از مقیاس خاکستری ۱۶ بیتی، آن را برای نقشه‌های ارتفاع، نقشه‌های عمق و تصویربرداری حرارتی ایده‌آل می‌کند.
  • حالت ASCII (P2) امکان بررسی و دستکاری مستقیم مقادیر خام پیکسل را در ویرایشگرهای متن استاندارد فراهم می‌کند.

محدودیت‌ها و معایب فنی

  • بدون فشرده‌سازی: ردپای فایل‌های بزرگ در مقایسه با فرمت‌های فشرده مانند PNG.
  • فاقد متادیتا برای ابعاد فیزیکی، فضاهای رنگی یا موقعیت جغرافیایی.
  • کاملاً تک‌کاناله: نمی‌تواند داده‌های رنگی یا شفافیت آلفا را ذخیره کند.

نکات فنی جالب

  • OpenCV، ROS (سیستم عامل ربات) و سیستم‌های بینایی ماشین اغلب از PGM برای نقشه‌های ناوبری SLAM استفاده می‌کنند.
  • توسعه‌دهندگان بازی اغلب از فایل‌های PGM ۱۶ بیتی به عنوان نقشه‌های ارتفاع زمین استفاده می‌کنند زیرا داده‌های ارتفاع خام فشرده نشده و بارگذاری آن‌ها آسان است.
  • پارامتر 'maxval' در هدر، حداکثر مقدار روشنایی را تعریف می‌کند (معمولاً ۲۵۵ برای ۸ بیتی یا ۶۵۵۳۵ برای ۱۶ بیتی).

سوالات فنی متداول

فرمت PGM برای چه مواردی استفاده می‌شود؟

فرمت PGM عمدتاً در بینایی ماشین (OpenCV)، رباتیک (فایل‌های نقشه ROS)، تصویربرداری علمی و تولید نقشه‌های ارتفاعی عوارض زمین سه‌بعدی استفاده می‌شود.

تفاوت بین فایل‌های P2 و P5 PGM چیست؟

فرمت P2 متن ساده ASCII است که در آن هر پیکسل یک عدد مکتوب است، در حالی که P5 پیکسل‌ها را به عنوان بایت‌های باینری فشرده ذخیره می‌کند.

چگونه می‌توانم PGM را به JPG یا PNG تبدیل کنم؟

فایل PGM خود را در File2File.app آپلود کنید تا آن را با حریم خصوصی کامل مستقیماً در مرورگر خود به PNG یا JPG تبدیل کنید.