תמונות ועיבוד תמונה
הערה
עיין בכרטיסייה טקסט ותמונות לפרטים נוספים!
עבור מחשב, תמונה היא מערך של ערכי פיקסלים מספריים. לדוגמה, שקול את המערך הבא:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
המערך מורכב משבע שורות ושבע עמודות, המייצגות את ערכי הפיקסלים לתמונה בגודל 7x7 פיקסלים (המכונה רזולוציית התמונה). לכל פיקסל יש ערך בין 0 (שחור) ל- 255 (לבן); כאשר ערכים בין גבולות אלה מייצגים גוונים של אפור. התמונה המיוצגת על ידי מערך זה נראית דומה לתמונה הבאה (המוגדלת):
מערך ערכי הפיקסלים לתמונה זו הוא דו-ממדי (מייצג שורות ועמודות, או קואורדינטות xו-y ) ומגדיר מלבן יחיד של ערכי פיקסלים. שכבה אחת של ערכי פיקסלים כזו מייצגת תמונה בגווני אפור. במציאות, רוב התמונות הדיגיטליות הן רב ממדיות ומורכבות משלוש שכבות (המכונות ערוצים) המייצגות גווני צבע אדום, ירוק וכחול (RGB). לדוגמה, אנו יכולים לייצג תמונה צבעונית על ידי הגדרת שלושה ערוצים של ערכי פיקסלים היוצרים את אותה צורה ריבועית כמו הדוגמה הקודמת בגווני אפור:
Red:
150 150 150 150 150 150 150
150 150 150 150 150 150 150
150 150 255 255 255 150 150
150 150 255 255 255 150 150
150 150 255 255 255 150 150
150 150 150 150 150 150 150
150 150 150 150 150 150 150
Green:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
Blue:
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 0 0 0 255 255
255 255 0 0 0 255 255
255 255 0 0 0 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
הנה התמונה המתקבלת:
הריבועים הסגולים מיוצגים על ידי הצירוף:
Red: 150
Green: 0
Blue: 255
הריבועים הצהובים במרכז מיוצגים על ידי השילוב:
Red: 255
Green: 255
Blue: 0
מסננים
דרך נפוצה לביצוע משימות עיבוד תמונות היא להחיל המסננים לשנות את ערכי הפיקסל של התמונה כדי ליצור אפקט חזותי. מסנן מוגדר על-ידי מערך אחד או יותר של ערכי פיקסלים, הנקראים המסנן. לדוגמה, באפשרותך להגדיר מסנן עם ליבה של 3x3 כפי שמוצג בדוגמה זו:
-1 -1 -1
-1 8 -1
-1 -1 -1
לאחר מכן, הליבה לאורך התמונה, מחשבת סכום משקול עבור כל תיקון של 3x3 פיקסלים ומקצה את התוצאה לתמונה חדשה. קל יותר להבין כיצד הסינון פועל על-ידי סקירת דוגמה שלב אחר שלב.
בוא נתחיל עם התמונה בגווני אפור שסיירנו בה בעבר:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 255 255 255 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
תחילה, אנו מחילים את הליבה של המסנן על התיקון הימני העליון של התמונה, מכפילים כל ערך פיקסל בערך העובי המתאים בליבה ומוסיף את התוצאות:
(0 x -1) + (0 x -1) + (0 x -1) +
(0 x -1) + (0 x 8) + (0 x -1) +
(0 x -1) + (0 x -1) + (255 x -1) = -255
התוצאה (-255) הופכת לערך הראשון במערך חדש. לאחר מכן נעביר את הליבה של המסנן פיקסל אחד ימינה ותחזור על הפעולה:
(0 x -1) + (0 x -1) + (0 x -1) +
(0 x -1) + (0 x 8) + (0 x -1) +
(0 x -1) + (255 x -1) + (255 x -1) = -510
שוב, התוצאה מתווספת למערך החדש, המכיל כעת שני ערכים:
-255 -510
התהליך חוזר על עצמו עד לפתרון המסנן לאורך התמונה כולה, כפי שמוצג בהנפשה זו:
המסנן פתור לאורך התמונה, ו מחשב מערך חדש של ערכים. חלק מהערכים עשויים להיות מחוץ לטווח הערכים של 0 עד 255 פיקסלים, כך שהערכים מותאמים כך שיתאימו לטווח זה. בשל צורת המסנן, הקצה החיצוני של הפיקסלים אינו מחושב, ולכן מוחל ערך מרווח (בדרך כלל 0). המערך המתוצא מייצג תמונה חדשה שבה המסנן הפך את התמונה המקורית. במקרה זה, המסנן הדגיש את הקצוות של צורות בתמונה.
כדי לראות את השפעת המסנן בצורה ברורה יותר, להלן דוגמה של אותו מסנן שהוחל על תמונה אמיתית:
| תמונה מקורית | תמונה מסוננים |
|---|---|
|
|
מאחר שהמסנן מפוענח ברחבי התמונה, טיפול בתמונה מסוג זה מכונה לעתים קרובות סינון convolutional. המסנן המשמש בדוגמה זו הוא סוג מסוים של מסנן (הנקרא מסנן Laplace ) המסמן את הקצוות באובייקטים בתמונה. קיימים סוגים רבים אחרים של מסנן שניתן להשתמש בהם כדי ליצור טשטוש, חידוד, היפוך צבעים ואפקטים אחרים.