מפת גווני אפור ניידת (.pgm)

תקן תקן

פורמט מפת גווני האפור הניידת (PGM) הוא מפרט תמונות גווני האפור של משפחת Netpbm, הנמצא בשימוש נרחב בראייה ממוחשבת, רובוטיקה, בקרת איכות אופטית ואלגוריתמים לעיבוד תמונה דיגיטלית.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי PGM על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי PGM על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

50 32 / 50 35

ייצוג ASCII: P2 / P5

תקינה: תקן ספריית Netpbm

מפרט טכני

מבנה המכולהפורמט Netpbm בטקסט ASCII ‏(P2) או בינארי ‏(P5), עם רוחב, גובה, ערך אפור מרבי וזרם פיקסלים
דחיסהבייטים בינאריים גולמיים או מספרים בטקסט ASCII קריא לאדם, ללא דחיסה
סדר בתים (Endianness)Big-Endian (לדגימות בינאריות של 16 סיביות במצב P5)
מרחבי צבעגווני אפור ליניאריים או גווני אפור sRGB
ערוצים ומבנהערוץ אחד של גווני אפור (דיוק של 8 או 16 סיביות)
ממדים מרבייםמגבלות מעשיות כמעט שאינן קיימות (תומך במרחב קואורדינטות שרירותי של 64 סיביות)
שקיפותללא
הזרמה ופרוגרסיביותהפעלה רציפה בהזרמה, שורה אחר שורה

מטריצת השוואה טכנית: PGM מול מתחרים

תכונה טכניתPGM (נוכחי)PBMPPMPNG
מצב צבעגווני אפור (8-bit / 16-bit)מונוכרום 1-bitצבע אמיתי RGB (24-bit / 48-bit)גווני אפור, RGB, RGBA
אח במשפחת NetpbmPGM (מפת גווני אפור ניידת)PBM (מפת סיביות ניידת)PPM (מפת פיקסלים ניידת)תקן W3C שאינו מבית Netpbm
בייטי זיהוי (Magic Bytes)P2 (ASCII) / P5 (בינארי)P1 (ASCII) / P4 (בינארי)P3 (ASCII) / P6 (בינארי)‰PNG....
דחיסהללא דחיסהללא דחיסהללא דחיסהDeflate ללא אובדן

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

התמונה מוצגת הפוכה או לבנה לחלוטין (נשרפה לחלוטין).

גורם שורש: פרמטר 'maxval' לא תואם בכותרת (לדוגמה, maxval הוגדר כ-1 במקום 255).

שחזור: תקנו את שורת הכותרת של maxval או בצעו המרה באמצעות ממיר ה-Netpbm של File2File.app.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

מפענחי PGM חייבים לוודא היטב שספירות הפיקסלים המפוענחות תואמות למימדים המוצהרים כדי למנוע דריסת חוצץ.

ווקטורי תקיפה ידועים

  • גלישת מספר שלם במהלך הקצאת חוצץ בחישוב רוחב * גובה * (maxval > 255 ? 2 : 1).
  • קריאת יתר של חוצץ בעת קריאת אסימוני מספרי ASCII פגומים.
  • מניעת שירות (DoS) באמצעות הקצאת זיכרון עצומה המופעלת על ידי מימדי כותרת מומצאים.

שיטות מומלצות להגנה: הגבל את ממדי המקסימום המותרים ואת מגבלות הקצאת הזיכרון לפני קריאת זרמי פיקסלים.

היסטוריה ואבני דרך

2000עומק של 16-bit (ערך מקסימלי maxval עד 65535) ממוסד במצב בינארי P5 עבור הדמיה מדעית.
1993משולב בערכת הכלים Netpbm כפורמט הביניים התקני לגווני אפור.
1989ג'ף פוסקאנצר יוצר את PGM כדי להשלים את PBM עם תמיכה מלאה בגווני אפור ברמת 256.

יתרונות מרכזיים

  • המבנה הקומפקטי של PGM עשוי להקל על מימוש קוראים בסיסיים, אך עדיין יש לטפל בעומקי דגימה, בכותרות ובקלט פגום.
  • תמיכה מולדת בגווני אפור של 16-bit הופכת אותו לאידיאלי עבור מפות גובה, מפות עומק והדמיה תרמית.
  • מצב ASCII‏ (P2) מאפשר בדיקה ומניפולציה ישירה של ערכי פיקסלים גולמיים בעורכי טקסט תקניים.

מגבלות טכניות וחסרונות

  • ללא דחיסה: נפחי קבצים גדולים בהשוואה לפורמטים דחוסים כמו PNG.
  • חסר מטא-דאטה עבור מימדים פיזיים, מרחבי צבע או מידע גיאוגרפי.
  • ערוץ יחיד בלבד: אינו יכול לאחסן נתוני צבע או שקיפות אלפא.

עובדות טכניות מעניינות

  • OpenCV‏, ROS (מערכת הפעלה לרובוטים) ומערכות ראייה ממוחשבת משתמשים לעתים קרובות ב-PGM עבור מפות ניווט למיפוי ומיקום בו-זמני (SLAM).
  • מפתחי משחקים משתמשים לעתים קרובות בקבצי PGM ברזולוציית 16-bit כמפות גובה של פני השטח משום שנתוני הגובה הגולמיים אינם דחוסים וקלים לטעינה.
  • פרמטר ה-'maxval' בכותרת מגדיר את ערך הבהירות המקסימלי (בדרך כלל 255 עבור 8-bit או 65535 עבור 16-bit).

שאלות טכניות נפוצות

למה משמש פורמט PGM?

PGM משמש בעיקר בראייה ממוחשבת (OpenCV), ברובוטיקה (קובצי מפות של ROS), בהדמיה מדעית וביצירת מפות גובה לתוואי שטח תלת-ממדי.

מה ההבדל בין קובצי PGM מסוג P2 לבין P5?

P2 הוא טקסט ASCII רגיל שבו כל פיקסל הוא מספר כתוב, בעוד ש-P5 מאחסן פיקסלים כבייטים בינאריים קומפקטיים.

כיצד אוכל להמיר PGM ל-JPG או ל-PNG?

PGM מאחסן דגימות בגווני אפור. המר אותו ל-PNG כדי לקבל תמונה ללא אובדן נתונים שנתמכת במגוון רחב של מציגים, או ל-JPEG אם חשוב לך קובץ קטן יותר בסגנון צילום; הממיר פועל בדפדפן שלך.