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

Netpbm תקן

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

בדיקה ומטא-דאטה

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

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

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

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

חתימת כותרת ברמת הבייט (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
מצב צבעגווני אפור (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.

ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)

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

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

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

השיטות המומלצות להגנה:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

העלה את קובץ ה-PGM שלך ל-File2File.app כדי להמיר אותו ל-PNG או ל-JPG ישירות בדפדפן שלך בפרטיות מלאה.