התבוננתם בנוף והחלטתם שאתם רוצים לתעד אותו. הוצאתם את המצלמה וצילמתם תמונה. אך מה הקשר בין הנוף שראיתם בעיניכם ובין התמונה שנשמרה במצלמה?
המחשב "מסתכל" על התמונה כטבלה (מטריצה) של מספרים כך שכל תא בטבלה מייצג נקודה בתמונה הנקראת "פיקסל". הפיקסל הוא יחידת המידה הקטנה ביותר בתמונה.
ככל שהתמונה תהייה מורכבת מיותר פיקסלים, היא תהיה בעלת בעלת צפיפות גבוהה יותר, ואיכות התמונה תהייה טובה יותר. צפיפות התמונה נמדדת על ידי היחס בין מספר הפיקסלים בתמונה, לשטח שכל פיקסל מייצג pixels/cm. במצלמות דיגיטליות טובות כל תמונה מורכבת ממליוני פיקסלים.
רזולוציה של תמונה מתארת את מספר הפיקסלים שמהם היא מורכבת (למשל, כאשר מדברים על רזולוציית 4k, מדובר ב3840x2160 פיקסלים). בתמונה ברזולוציה נמוכה, אפשר לראות את הריבועים המרכיבים אותה. תופעה זו נקראת פיקסליזציה. תופעה זו מתרחשת כאשר לוקחים תמונה ברזולוציה נמוכה ומגדילים אותה יותר מדי במחשב. כתוצאה מכך, כל פיקסל תופס יותר שטח, מתקבלת תמונה מטושטשת וניתן להבחין במעברים בין הפיקסלים.
הפיקסל מכיל ערך מספרי אשר מייצג את רמת האור שהאזור נחשף אליה בזמן הצילום, כאשר האור המתקבל מורכב מתמהיל של שלושת ערוצי הצבע המרכיבים אותו. כאשר מצלמים תמונה, הפיקסלים נצרבים על גבי חיישן אופטי שמקודד את התמונה על זכרון מכשיר הצילום. תמונות צבעוניות מכילות 3 טבלאות מספרים הנקראות "ערוצי צבע". ערוצי הצבע מגדירים ביחד "מרחב צבע". מרחב הצבע הנפוץ ביותר הוא RGB (אדום, ירוק וכחול) [2] (ראו תמונה 1).
תמונה 1: מרחב הצבע RGB ממודל בצורת קובייה. ניתן לראות לפי כיווני החצים את אפקט הצבע המתקבל בהוספת גוון מסויים. [3]
ערך פיקסל בערוץ צבע מסויים מתאר את עוצמת האור של הצבע בפיקסל. למשל, פיקסל בגוון אדום מיוצג בעזרת עוצמות הצבעים (255,0,0). ניתן לראות כי הוא מכיל ערך גבוה בערוץ הצבע האדום, אך ערך מספרי נמוך בערוצים הירוק והכחול.
איך מייצגים בהירות בעזרת RGB? צבע לבן נוצר מערבוב שווה של שלושת הצבעים והוא חסר גוון ומיוצג בעזרת שילוב הצבעים (255,255,255). כלומר, עוצמת האדום, כחול וירוק מקסימלית. לעומת זאת, שחור, שהוא הצבע הכהה ביותר, נקלט במח כהעדר אור, ובדומה מיוצג ב-RGB בערכים (0,0,0).
במודל ה-RGB אומנם קל להבחין בבהירות של צבעים כמו אדום, ירוק, וכחול "נקי", אבל כאשר מסתכלים על צבעים מעורבבים יותר, המשימה נעשית יותר מורכבת (ראו תמונה 2).
תמונה 2: מרחב הצבע HSV ממודל בצורת דיסקה. ניתן לראות לפי כיווני החצים את אפקט הצבע המתקבל במעבר בין הגוונים, ערכים ורווית הצבעים. [4]
מודל נוסף לייצוג צבעים נקרא HSV - Hue, Saturation, Value. במודל זה מיוצג כל צבע בעזרת שלושה פרמטרים:
- H - גוון (hue). מייצג גוון על גלגל הצבעים מאדום-0, לצהוב-60 ,לירוק-120, לכחול-240 ובחזרה לאדום. מיוצג בעזרת מספר בין 0 ל-360.
- S - רוויה (saturation) (דומה לערבוב הגוון בצבע גואש לבן). מספר המיוצג בין 0 ל-100 כאשר 0 מייצג צבע לבן ו-100 מייצג גוון שלא התערבב עם לבן.
- V - בהירות (value) עד כמה הצבע מואר או חשוך - מיוצג באחוזים בין 0 ל-100.
אדום בתצורת HSV ייוצג בעזרת: (0,100,100) שהם 0 בחישוב הגוון, מקסימום רווייה ללא ערבוב עם הצבע הלבן ומקסימום בהירות), בורדו שהוא אדום בעל בהירות נמוכה יותר מיוצג כ- (0,100,40), כלומר אותם ערכי גוון ורווייה וערך בהירות נמוך יותר). כחול מיוצג על ידי (240,100,100) ותכלת שהוא כחול מעורבב עם לבן (הפחתת רוויית הצבע) מיוצג על ידי (240,20,100).
ניתן לעבור בין תצורת RGB ל-HSV בעזרת נוסחה מתמטית. המרת הנתונים בין מרחבי הצבעים השונים יכולה לשמש באפליקציות שונות. למשל: מעצבים גרפיים יתעניינו במרחב HSV המאפשר להם לכוונן ערכי צבע בצורה עדינה, לעומת מסך תצוגה; שיכיל את ערוצי ה-RGB על מנת להציג תמונה צבעונית (הוספת 3 ערוצי צבע על גבי מסך שחור).
איך אפשר לשנות את בהירות התמונה? כדי להבהיר תמונה נרצה להגדיל את בהירות הפיקסלים בצורה אחידה. הדרך הנוחה ביותר לעשות זאת היא בעזרת המרת ייצוג הצבע מ-RGB ל-HSV ולאחר מכן הגדלה של ערך הבהירות בצורה שווה לכל הפיקסלים. אם נרצה להכהות, נקטין את ערך הבהירות.
כדי להוסיף אפקט גשם נשתמש בהוספת "מסכה" לתמונה המקורית. מסכה זו בנויה מתמונה באותה הרזולוציה אשר מכילה מקבצי פיקסלים לבנים המתארים את הגשם, ורקע שחור המתאר את האזורים בהם לא מתווסף אפקט הגשם. בתוצאת החיבור נקבל שבאיזורים בהם תמונת האפקט שחורה לא יהיה שינוי מהצבע המקורי, כי אנחנו מוסיפים 0 לצבע בתמונה המקורית. באזורים בהם מופיע צבע לבן מוסיפים 255, שזה המספר הכי גדול שכל ערוץ צבע יכול לקבל, ולכן לבן+(צבע כלשהו) יתן לבן. אפקטים נוספים שניתן להוסיף לתמונה יכולים לדמות את העצם תחת תנאי הבשלה שונים (למשל שהעלה יראה יבש יותר), שרקע התמונה יראה בהיר יותר (כמו ביום שמשי יותר) ואף ניתן להוסיף בצורה מלאכותית חרקים קטנים על גבי העלה (ראו תמונה 3).
תמונה 3: מימין לשמאל: תמונה לפני ואחרי הוספת גשם בצורה דיגיטלית [6, 7]
תמונות בשחור-לבן מציגות תמונה בעלת ערוץ צבע אחד בלבד. ערוץ הצבע מכיל ערכים מספריים לגווני אפור אשר נעים מהערך 0 המתאר את הצבע השחור (כלומר, שום אור לא נקלט בפיקסל והוא חשוך לחלוטין) ל-255, שמייצג במקרה זה את הצבע הלבן. אחת השיטות להפוך תמונה לתמונת שחור-לבן נחליף כל פיקסל בממוצע הצבעים שלו, ונכתוב את הערך החדש בשלושת ערוצי הצבע.
ראינו שתמונה מיוצגת בעזרת מערכי מספרים, וכן, שאפשר ליצור אפקטים על תמונה בעזרת פעולות מתמטיות. בנוסף לאפקטים שהזכרנו ישנם אפקטים נוספים שאפשר ליצור בעזרת הפעלת פעולות מתמטיות כמו הפחתת "רעשים", הדגשת פרטים, חידוד, ריטוש תמונה, תיקון צבעים, תיקון פגמים ועוד.
מקורות וקריאה נוספת:
[1] אתר המציג הסבר מפורט למשמעות רזולוציית תמונה, איכותה והצגתה על צג מחשב
[2] הסבר נוסף על מרחב הצבע RGB
[3] ערך מרחב הצבע RGB באתר ויקיפדיה (תמונה)
[4] ערך מרחב הצבע HSV באתר ויקיפדיה (תמונה)
[5] אתר להמרה בין מספר מרחבי צבע
[6] ערך גשם באתר ויקיפדיה (תמונה)
[7] אתר המאפשר הוספת גשם לתמונות בצורה מקוונת