تدرج رمادي محمول (.pgm)
Netpbm قياسيتنسيق الصور الرمادية المحمولة (PGM) هو مواصفات الصور ذات التدرج الرمادي لعائلة Netpbm، ويُستخدم على نطاق واسع في الرؤية الحاسوبية، والروبوتات، والفحص البصري، وخوارزميات معالجة الصور الرقمية.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PGM من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PGM من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 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 (الحالي) | PBM | PPM | PNG |
|---|---|---|---|---|
| وضع الألوان | تدرج رمادي (8 بت / 16 بت) | أحادية اللون 1 بت | ألوان حقيقية RGB (24 بت / 48 بت) | تدرج رمادي، RGB، RGBA |
| شقيق Netpbm | PGM (صورة رمادية محمولة) | PBM (صورة نقطية محمولة) | PPM (صورة بكسل محمولة) | معيار W3C من غير Netpbm |
| بايتات السحر | P2 (نصي) / P5 (ثنائي) | P1 (نصي) / P4 (ثنائي) | P3 (نصي) / P6 (ثنائي) | ‰PNG.... |
| الضغط | غير مضغوط | غير مضغوط | غير مضغوط | ضغط Deflate بدون فقدان |
أنماط التلف الشائعة ودليل استرداد النظام السداسي
تظهر الصورة مقلوبة أو بيضاء بالكامل.
السبب الجذري: معامل 'maxval' غير متطابق في الترويسة (مثل الإعلان عن maxval كـ 1 بدلاً من 255).
الاسترداد: تصحيح سطر ترويسة maxval أو إعادة الترميز باستخدام محول File2File Netpbm.
تحليل الأمان وناقلات هجوم المحلل اللغوي
يجب على محللي PGM التحقق بعناية من أن عدد البكسلات المحللة يتطابق مع الأبعاد المعلنة لمنع تجاوز المخزن المؤقت.
ناقلات الهجوم المعروفة
- تجاوز سعة الأعداد الصحيحة أثناء تخصيص المخزن المؤقت العرض * الارتفاع * (maxval > 255 ? 2 : 1).
- تجاوز قراءة المخزن المؤقت عند قراءة رموز الأرقام النصية التالفة.
- حرمان من الخدمة من خلال تخصيص ذاكرة هائل ناجم عن أبعاد ترويسة مصطنعة.
أفضل الممارسات الدفاعية:
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- تعقيد صفر: سهل للغاية في التحليل والكتابة بلغة C أو Python أو WebAssembly دون الحاجة إلى مكتبات خارجية.
- دعم أصلي للتدرج الرمادي بـ 16 بت يجعله مثاليًا لخرائط الارتفاعات، وخرائط العمق، والتصوير الحراري.
- وضع النصوص (ASCII) (P2) يتيح الفحص المباشر والتلاعب بقيم البكسل الخام في محررات النصوص القياسية.
القيود الفنية والسلبيات
- بدون ضغط: أحجام الملفات كبيرة مقارنة بالتنسيقات المضغوطة مثل PNG.
- يفتقر إلى البيانات الوصفية للأبعاد الفيزيائية، أو مساحات الألوان، أو الموقع الجغرافي.
- قناة واحدة حصراً: لا يمكنه تخزين بيانات الألوان أو شفافية ألفا.
معلومات تقنية طريفة
- تستخدم OpenCV وROS (نظام تشغيل الروبوتات) وأنظمة الرؤية الآلية تنسيق PGM بشكل متكرر لخرائط ملاحة SLAM.
- غالبًا ما يستخدم مطورو الألعاب ملفات PGM بـ 16 بت كخرائط ارتفاع للتضاريس لأن بيانات الارتفاع الخام غير مضغوطة وسهلة التحميل.
- تحدد معاملة 'maxval' في الترويسة الحد الأقصى لقيمة السطوع (عادة 255 لـ 8 بت أو 65535 لـ 16 بت).
الأسئلة التقنية المتكررة
ما الذي تُستخدم لأجله صيغة PGM؟
تُستخدم صيغة PGM بشكل أساسي في الرؤية الحاسوبية (OpenCV)، والروبوتات (ملفات خريطة ROS)، والتصوير العلمي، وإنشاء خرائط ارتفاع التضاريس ثلاثية الأبعاد.
ما الفرق بين ملفات P2 و P5 PGM؟
تنسيق P2 عبارة عن نص ASCII عادي حيث يتم كتابة كل بكسل كرقم، بينما يخزن التنسيق P5 البكسلات كبايتات ثنائية مضغوطة.
كيف يمكنني تحويل PGM إلى JPG أو PNG؟
قم برفع ملف PGM الخاص بك إلى File2File.app لتحويله إلى PNG أو JPG مباشرة في متصفحك مع الحفاظ على الخصوصية الكاملة.