עיבוד תמונה

עיבוד תמונה הוא תחום במדעי המחשב, מתמטיקה שימושית, הנדסת חשמל ואלקטרוניקה העוסק בעיבוד של תמונות ובמניפולציות שונות עליהן. לרוב העיבוד נעשה בתחום הדיגיטלי לאחר שהתמונה כבר נדגמה אך שם התחום כולל גם עיבוד תמונה אופטית במערכות אופטיות בהם נעשה שילוב של עיבוד ספרתי ואנלוגי. עיבוד תמונה נעשה לשתי מטרות עיקריות: לשם שיפור התמונה: הפחתת "רעשים", הדגשת פרטים, חידוד, ריטוש תמונה, יצירת אפקטים, תיקון צבעים ורמות אפור וכדומה. לשם הסקת מסקנות: מדידות, זיהוי פגמים, גילוי תנועה, זיהוי צורות וסיווג אובייקטים. לעיבוד תמונה שימושים רבים: בתעשייה עיבוד התמונה משמש למדידות ולזיהוי פגמים. ישנן גם מכונות ש"רואות" את העובד המשתמש בהן, מכוונות את כלי העבודה ואחר בודקות את התוצאה. בביטחון לאומי, בביטחון פנים ובאבטחה עיבוד התמונה משמש לזיהוי תנועה וסיווג צורות. בציבור הרחב משתמשים בעיבוד תמונה על מנת לשפר את התמונות שצולמו. בתחום זה עוסקים בקביעת פורמטים שונים לאחסון תמונות, במיוחד אלו העוסקים בדחיסה ובפריסת קובץ התמונה, בפילטרים ובעיבודים נוספים של התמונות, כמו שיפור איכות ירודה של תמונה. בתחום הזה ישנו ענף של זיהוי צורות, כדי שעבודת העיבוד תהיה אוטומטית. אחד היישומים הנפוצים ביותר בתחום, הוא שינוי רזולוציה של תמונה, סיבובה או היפוכה (ראו תמונה עליונה). גם המנגנון של הסרת עיניים אדומות מהתמונה, שקיים היום ברוב התוכנות הנפוצות לעיבוד תמונה, הוא יישום די נפוץ. תחום המצלמות הדיגיטליות שהתפתח בשנים האחרונות, הזריק דם חדש בתחום הזה, ותוכנות לעיבוד תמונה נפוצות היום, כמעט כמו תוכנות לעיבוד תמלילים. כל קובץ תמונה מורכב מנקודות זעירות הקרויות פיקסלים. ככל שיש יותר נקודות ביחידת שטח, כך הרזולוציה של התמונה גבוהה יותר, והתמונה תראה חדה יותר. ככל שנקודה יכולה לתת טווח יותר גדול של צבעים, כך עומק הצבע גדול יותר, והתמונה תראה ריאליסטית יותר. הנתונים הללו מאוחסנים כמו שהם בקובץ Bitmap (תמונת מפת סיביות), שבו יש יצוג מספרי לכל נקודה בתמונה, או שנדחסים באמצעות אלגוריתם מיוחד ונשמרים בקבצים דחוסים כדוגמת JPG. בכל תהליך של שמירה ופתיחה בקבצים דחוסים, התוכנה משתמשת בתהליך עיבוד מיוחד, שיודע לדחוס את נתוני התמונה תוך איבוד מינימלי של מידע. מערכת עיבוד תמונה בסיסית מורכבת מדוגם תמונה המחובר למחשב המסוגל לאחסן את התמונה בזיכרון ואחר כך לעבד אותו באמצעות תוכנה מתאימה המסוגלת לנהל את הדגימה, את התצוגה של התמונה ולבצע את האלגוריתמים השונים. התמונה הנדגמת תופיע בזיכרון בצורת מטריצה דו־ממדית   p [ x ] [ y ] {\displaystyle \ p[x][y]} , כל איבר במטריצה הוא פיקסל. כל פיקסל מכיל אינפורמציה על רמת האור שהפיקסל הזה נחשף לה בזמן הצילום. הרזולוציה נקבעת על ידי צפיפות הפיקסלים על חיישן המצלמה, ואם דוגמים ומייצגים פיקסל בבייט (8 ביט) זה אומר שכל פיקסל מייצג אחד מ־256 רמות אפור. במקרה של טיפול בתמונה צבעונית משתמשים לרוב ב־RGB ‏(Red Green Blue) ואז ישנן שלוש מטריצות:   p red [ x ] [ y ] , p green [ x ] [ y ] , p blue [ x ] [ y ] {\displaystyle \ p_{\text{red}}[x][y],p_{\text{green}}[x][y],p_{\text{blue}}[x][y]} לצורך שיפור תמונה משתמשים בחיבור בין פילטר המתוכנן לתוצאה שרוצים להשיג לבין התמונה. לרוב הפילטר יהיה קטן בממדים מהתמונה ואז כדי לייצר את מטריצת החיבור מציבים את הפילטר על התמונה, מצמידים אותה לפיקסל 0,0 (שהוא בדרך כלל הפיקסל השמאלי עליון), מבצעים מכפלות בין הפיקסלים, מסכמים את כל המכפלות ומקבלים מספר המוצב במקום 0,0 במטריצת התוצאה. מזיזים את הפילטר פיקסל אחד לימין (ב־X) מחשבים באותה דרך את המספר שיוצב במקום ה־1,0 וכך עד שמסיימים את השורה (הטיפול בעמודות דומה). פעולה זו היא בעצם פעולת קונבולוציה בדידה. צריך לשים לב לכך שמטריצת היציאה קטנה בממדיה מהתמונה, אם גודל התמונה הוא X,Y וגודל הפילטר M,N אזי גודל מטריצת היציאה יהיה 1+X-M+1 ,Y-N. ( 0.25 0.25 0.25 0.25 ) {\displaystyle {\begin{pmatrix}0.25&0.25\\0.25&0.25\end{pmatrix}}} פיקסל במקום x,y במטריצת היציאה יהיה:   O u t [ x ] [ y ] = ( p [ x ] [ y ] + p [ x + 1 ] [ y ] + p [ x ] [ y + 1 ] + p [ x + 1 ] [ y + 1 ] ) / 4 {\displaystyle \ Out[x][y]=(p[x][y]+p[x+1][y]+p[x][y+1]+p[x+1][y+1])/4} אפשר לראות שהתוצאה היא שכל פיקסל ביציאה יהיה ממוצע של 4 פיקסלים מהתמונה וזה ימצא רעש בתדר גבוה, אם תדר הרעש נמוך יותר (נקודות רעש גדולות יותר) אפשר יהיה לבחור מטריצה גדולה יותר שהמשמעות תהיה מיצוע שטחים גדולים יותר. ( 1 1 1 1 − 8 1 1 1 1 ) {\displaystyle {\begin{pmatrix}1&1&1\\1&-8&1\\1&1&1\end{pmatrix}}} פילטר זה מתקבל לאחר פעולת סכימה בין 4 פילטרי נגזרת שנייה הבאים: נגזרת שנייה בציר ה- X: ( 0 0 0 1 − 2 1 0 0 0 ) {\displaystyle {\begin{pmatrix}0&0&0\\1&-2&1\\0&0&0\end{pmatrix}}} נגזרת שנייה בציר ה- Y: ( 0 1 0 0 − 2 0 0 1 0 ) {\displaystyle {\begin{pmatrix}0&1&0\\0&-2&0\\0&1&0\end{pmatrix}}} נגזרת שנייה אלכסונית: ( 0 0 1 0 − 2 0 1 0 0 ) {\displaystyle {\begin{pmatrix}0&0&1\\0&-2&0\\1&0&0\end{pmatrix}}} נגזרת שנייה אלכסונית בכיוון השני: ( 1 0 0 0 − 2 0 0 0 1 ) {\displaystyle {\begin{pmatrix}1&0&0\\0&-2&0\\0&0&1\end{pmatrix}}} אפשר לראות שאם אין שינויים בתמונה הפילטר המאוזן הזה יפיק אפס, כדי לקבל ערך כלשהו בתמונה חייבים להיות שינויים. פילטר פופולרי זה ידוע בכינויו "לפלסיאן" (laplacian). בכל זמן נתון דוגמים תמונה לתוך מטריצה   p [ x ] [ y ] [ t ] {\displaystyle \ p[x][y][t]} . יוצרים מטריצת יציאה   p out [ x ] [ y ] = | p [ x ] [ y ] [ t ] − p [ x ] [ y ] [ t − 1 ] | {\displaystyle \ p_{\text{out}}[x][y]=\left|p[x][y][t]-p[x][y][t-1]\right|} . השימוש בערך המוחלט הוא מטעמים מעשיים, מערכות עיבוד תמונה עובדות עם מספרים חיוביים (אין משמעות לערך פיקסל שלילי). חוסר תזוזה גורם למטריצה יציאה שכולה אפסים, תוצאות אחרות מתקבלות רק כאשר יש תנועה. אלגוריתם זה מאתר כל תנועה ולכן גורם להרבה זיהויים שגויים מאחר שכל תזוזת ענפי עצים ברוח או מעוף ציפור יפעילו את הגלאי ולכן לרוב מוסיפים אלגוריתמים נוספים לטיפול במקרים אלו. פוטושופ (Photoshop) - תוכנה מקצועית לעיבוד תמונה לייטרום (Lightroom) - תוכנה מקצועית לעיבודי תמונה מהירים לצלמים Paint Shop Pro - תוכנת עיבוד תמונה הדומה במקצת לפוטושופ Facetune - אפליקציה לעיבוד תמונה במכשיר טלפון נייד פוטו אדיטור - תוכנה לעיבוד תמונה שמשולבת באופיס פוטו פיינט - תוכנה מקצועית לעיבוד תמונה המשולבת בתוכנה קורל דרו Microsoft Office Picture Manager הנמצאת בחבילות אופיס פיינט.נט - תוכנה חופשית בסביבת דוט נט GIMP - תוכנה חופשית (תחת רישיון GPL), מולטי-פלטפורמית, הנתמכת על ידי מערכות הפעלה נוספות מלבד חלונות PIXLR - תוכנה לעיבוד תמונה בWEB ולמכשירים ניידים של חברת אוטודסק אלגוריתם קני עיבוד תמונה מגמתי ראייה ממוחשבת גרפיקה ממוחשבת מדיה וקבצים בנושא עיבוד תמונה בוויקישיתוף עיבוד תמונה, באתר אנציקלופדיה בריטניקה (באנגלית) עיבוד תמונות, דף שער בספרייה הלאומית