GIMP/הסרת רעש אחיד בעזרת אנליזת פורייה
בהקשר שלנו, רעש אחיד (רעש קוהרנטי בלעז) הוא איזו תבנית או דפוס קבוע שמשבשים את איכות התמונה. דוגמאות לגורמים שיכולים ליצור רעש כזה הן:
- הפרעות אלקטרומגנטיות בסביבת המכשיר שמייצר את התמונה.
- "רעש" בעת שידור התמונה, כדוגמת זה שהיה נוצר בטלוויזיות ישנות עבור תכניות ששודרו בצורה אנלוגית.
- טקסטורה של הנייר עליו הודפסה התמונה, בעיקר אם מדובר בנייר עיתון זול
ניסיון לתקן רעשים כאלה ב"מרחב התמונה" בכלים רגילים כמו שיכפול דפוס ההפרעה והסרתו מהתמונה יהיה קשה עד כדי לא מעשי, ולא צפוי להצלחה רבה. לעתים ניתן לטשטש הפרעות בתמונה ע"י הקטנתן או הפעלת טשטוש, אך גם כאן התוצאות לרוב אינן משביעות רצון. יש מקרים בהם ניתן להשתמש בכלי convolutions , אך זו טכניקה מתקדמת.
מאחר והפרעות של דפוס קבוע תופסות רוחב פס קטן מאוד בספקטרום התמונה, טכניקה פשוטה ואפקטיבית מאוד להתמודד איתן תהיה לזהותן בספקטרום חזקה שמייצרת אנליזת פורייה, לתקנן שם ואז לחזור למרחב התמונה.
כדי להבין בצורה מלאה מה שנעשה במדריך זה נדרשת הבנה של עקרונות הבסיס של אנליזת פורייה . אך לשם שימוש בו נדרש רק לעקוב אחר ההוראות כאן צעד אחר צעד, והתהליך הקצר המתואר כאן אכן מאפשר לשפר בצורה משמעותית תמונות עם רעש אחיד, בקלות יחסית. לאחר שאמרנו זאת, נציין שיש צורך בהתקנת תוספים לגימפ לשם שימוש במדריך זה, אך אל ייאוש! גם התקנת התוספים הדרושים מתוארת כאן!
לשם מוטיבציה, ראו תמונות לפני/אחרי משמאל.
התקנות דרושות
[עריכה]מדריך זה מכוון למשתמשי לינוקס, בעיקר אובונטו. מאחר וגימפ זמין עבור פלטפורמות רבות, נעשה ניסיון לתאר את התקנת התוספים גם בצורה כללית עבור משתמשים עם מערכות אחרות. אם ביכולתכם לספק הסבר כזה, אתם מוזמנים לכלול הוראות מדויקות להתקנה עבור פלטפורמה מסוימת.
ובכן, נתקין תחילה את הכלים הדרושים: כל התוספים ורכיבי התכנה הדרושים זמינים בחינם ברשת.
לינוקס
[עריכה]על לינוקס יש להוריד ולהתקין את הרכיבים הבאים:
- גימפ (כמובן!) שזמין דרך מנהל החבילות של ההפצה שלכם, או באתר שלו :
- The gimptool utility: בחלק מההפצות כלי זה נמצא באותה חבילה עם גימפ עצמו, ובחלקו, כולל בדביאן ואובונטו הוא בחבילה שנקראת libgimp2.0-dev .
- fftw, ספרייה לחישוב טרנספורמציית פורייה המהירה, ניתן להורדה מכאן: www.fftw.org. בהפצות דביאן ואובונטו היא זמינה כחבילות fftw3 וכן fftw3-dev
- תוסף גימפ עבור טרנספורמציית פורייה . לא קיים כחבילה עבור דביאן/אובונטו, לכן יש להורידה ולהתקינה מקוד מקור (ההתקנה פשוטה, הוראות בדף ההורדה). יש לשים לב שבחלק מהמערכות כולל אובונטו ייתכן ותצטרכו להתקין כ - root ואז להתקין שוב בתור המשתמש שמפעיל את גימפ כדי שהתוסף יופיע בתפריטים.
חלונות
[עריכה]יש להוריד את החבילה הבינרית "Binaries for Windows" של התוסף Fourier Gimp plug-in מכאן . לאחר מכן יש לפתוח את החבילה בספריית התוספים של גימפ, .gimp-2.x\plug-ins בספריית המשתמש שלכם או C:\Program Files\GIMP-2.x\lib\gimp\2.0\plug-ins
דוגמה לרעש אחיד
[עריכה]בתמונה למעלה שמסומנת כ"לפני", נראה פרח עם דפוס דגם של רעש אחיד עליו. נוכל להביא תמונה כזו למצב שנוכל להשתמש בה עבור סורק, להדפסה על נייר שקוף למשל. ברור שההפרעה היא על כל שטח התמונה, כך שיהיה קשה להסירה באמצעים "רגילים" כמו טשטוש, חידוד או שכפול. ההפרעה היא רגולרית, כלומר לפי דגם אחיד. זו הסיבה שיהיה קל למדי להסירה בטווח התדר. לרוע המזל, הסרת רעש אחיד יגרום גם להסרה של כמות מסוימת של מידע "נחוץ" של התמונה ששוכן באותן תדירויות כמו ההפרעה שלנו. שימור מידע זה קשה להשגה ולא יתואר במדריך זה. אנו מניחים שאיבוד מסוים של מידע יהיה מחיר הסרת הרעש.
עריכת התמונה
[עריכה]פיתחו את התמונה בגימפ. אם זו תמונה צבעונית, מודל הצביעה שבו נעבוד יהיה RGB. על תמונה צבעונית נוכל לפעיל את תהליך ניקוי הרעש על כל ערוץ צבע בנפרד.
- הקליקו "Image > Mode > Decompose" או בגרסה 2.6.4 של גימפ "Colors > Components > Decompose" . בחרו RGB ולחצו OK . גימפ ייצר תמונה נוספת בשחור לבן, עם פירוק לשכבות שחור לבן שמייצגות כל אחד מצבעי היסוד של RGB. ראו תמונה משמאל.
- בחרו בחלון עם התמונה החדשה (זו שבשחור לבן).
- גשו לדיאלוג השכבות. אם אינכם יכולים לראותו לחצו "File > Dialogs > Layers" והוא ייפתח.
- הסתירו את כל השכבות מלבד אחת, ע"י הקלקה על העין שליד שם השכבה. בחרו את השכבה הנראית לעין. בצילום המסך שמשמאל, השכבה הנראית והפעילה היא השכבה הכחולה. במצב זה נוכל לעבוד על השכבה בנפרד, ולראות מה אנחנו עושים בלי לקלקל שכבות אחרות.
- זה החלק שבו הקסם קורה! נעביר את השכבה לספקטרום, בעזרת תוסף ה FFT שהתקנו: בתפריט הראשי שבראש החלון (או קליק ימני על אזור התמונה בשחור-לבן) "Filters > Generic > FFT Forward" (ראו שוב צילום מסך משמאל) . כעת נוכל לעבוד על ספקטרום השכבה הכחולה של התמונה.
הערה: מבחינה מתמטית, טרנספורמציית פורייה של אות (סיגנל) מורכבת ממשרעת ומופע. גימפ מציג רק את המשרעת, וזה גם הדבר היחיד שתוכלו לערוך, אך זה מספיק למטרתנו.
בהביטכם בספקטרום, אתם אמורים לראות אזורים של כתמים בהירים יותר במקומות מסוימים. אלו מייצגים את הספקטרום של הרעש שברצוננו להסיר. מאחר והרעש שלנו רגולרי מאוד, הוא יופיע בבירור רב בתחום התדר. בתמונה משמאל, ניתן לראות את הספקטרום של השכבה האדומה עם חיצים אדומים מהבהבים מצביעים על הנקודות המדוברות. השכבה האדומה נבחרה לצורך העניין כיוון שהנקודות הללו היו ניכרות בה בצורה המובחנת ביותר (משמעות דבר זה היא שגם רוב ההפרעה שאנו רוצים לבטל שוכן בשכבה זו). כל שצריך לעשות כעת הוא למחוק את האזורים הבהירים הללו. אם חשבתם על כלי ה"מחק" - זהו רעיון לא מוצלח, כיוון שמחיקה מלאה של האינפורמציה על אזור זה בספקטרום תגרום לשינוי חד בצבעוניות ולמעשה תגביר את ההפרעה שברצוננו למחוק. נצטרך למחוק אותם בצורה חלקה. צורה אחת לעשות זאת היא בעזרת כלי ה"מריחה" , מאחר ויש לו אפקט "ממצע"; אם נשתמש בו על הכתמים הבהירים, למעשה נפחית את גודל ההפרעה בלי למחוק אותה כליל. אפשרות אחרת היא להשתמש במברשת הצבע עם צבע אפרפר ממוצע (הערך ההקסדצימלי 808080). אין לנו דרך לדעת כאן מראש היכן האינפורמציה שנרצה לשמור מתחילה. ייתכן ויידרשו מספר ניסיונות עד לקבלת תוצאה טובה.
לאחר שסיימנו למחוק את הכתמים הבהירים, נצטרך כמובן להמיר את התמונה בחזרה למרחב התמונה, ע"י שימוש בכוון ההפוך של FFT . נשוב לתפריט הראשי ונלך אל: "Filters > Generic > FFT Inverse" כפי שמופיע בתמונה משמאל. לעתים ההפרעה ניכרת רק בערוץ יחיד, אך לקבלת תוצאות מיטביות, בד"כ יש לחזור על מחיקת הרעש עבור כל שכבה ושכבה.
לאחר שערכנו את כל השכבות והסרנו מהן את הכתמים הבהירים (זכרתם לבצע על כולן FFT הפוך? ) נצטרך למזגן בחזרה לתמונת RGB. זאת נעשה ע"י גישה לתפריט הראשי ובחירת "Image > Mode > Compose" (ראו צילום מסך משמאל).
וזהו! אם פעלתם נכון, תקבלו תוצאה דומה לזו שמוצגת כתמונת " אחרי" בתחילת מדריך זה.
הבחינו בכך שעדיין אפשר לראות כמות מסוימת של רעש, אך התוצאה עדיין טובה בהרבה מהמקור, בעיקר על הפרח עצמו!