עיבוד תמונות ואותות בעזרת מחשב תרגול מס' 1: Welcome to Matlab!

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB. אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה,
עיבוד תמונות ואותות בעזרת מחשב
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
ספר סקיצות ספר סקיצות קלאסי עם יכולות ממוחשבות. ספר סקיצות רגיל  יתרונות : נוח לנשיאה, מהיר ונוח לעבודה, עמיד.  חסרונות : הכול ידני, קשה לקבל דיוקים.
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מבוא לעיבוד תמונה 1 תרגול מספר 1 מבוא לעיבוד תמונה.
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבוא למדעי המחשב מחרוזות, מצביעים וכתובות
מבני בקרה מבוא לתכנות למנע " ס - שבוע מספר 3 - מאיר קומר - סמסטר ב ' - תשס " ו הסתעפות “ אם השמאל ואימנה ואם הימין ואשמאילה ”
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
Matrices and Arrays sum, transpose, and diag By Sagi Berglas.
מבוא ל matlab שיטות נומריות תרגול 3.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
נוצר ע " י ד " ר ארקדי שטיינבוק Visual Basic for Application VBA כדוגמה VBA ב - WORD.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
אלכסנדר ברנגולץ דואר אלקטרוני: פישבך 346, טל : 4619 פישבך 346, טל : 4619 שעות קבלה : ב ’ 18:30-19:30 אלכסנדר ברנגולץ דואר אלקטרוני:
עיבוד תמונות ואותות במחשב 1 תרגול מספר 1 עיבוד אותות ותמונות במחשב.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
עקרון ההכלה וההדחה.
עיבוד תמונות ואותות בעזרת מחשב תרגול מס' 8: Template Matching
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
A. Frank File Organization Introduction to Pile File.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 1 שבוע : צור קשר מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. דואר אלקטרוני :
Structure. מה לומדים היום ? דרך לבנות מבנה נתונים בסיסי – Structure מייצר " טיפוס " חדש מתאים כאשר רוצים לאגד כמה משתנים יחד דוגמאות : עובד : שם, טלפון,
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
Matlab Tutorial 1 David Goldstein University of Colorado Dept of Aerospace Engineering Sciences.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
עקרונות תכנות מונחה עצמים תרגול 11: OOP in C++. Outline  Where do the objects live ?  Inheritance  Slicing  Overriding vs Shadowing.
מחרוזות – הטיפוס String
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
MATLAB הכרת סביבת העבודה.
מבוא לתכנות בWINDOWS ב#C
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
Shell Scripts בסביבת UNIX
תוכנה 1 תרגול 13 – סיכום.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

עיבוד תמונות ואותות בעזרת מחשב תרגול מס' 1: Welcome to Matlab!

אני: קצת פרטים: מתן פרוטר בניין טאוב, חדר 437 שעת קבלה: matan.protter -at- gmail.com לפנות: שאלות, בעיות, טענות, ...

קורסים חופפים טורי פוריה (מתמטיקה) אותות ומערכות (חשמל) טורי פוריה, טרנספורם פוריה אותות ומערכות (חשמל) אותות ומערכות בזמן בדיד ורציף טרנספורם פוריה הבדיד עיבוד וניתוח תמונות (חשמל) ייצוגי תמונות אלגוריתמים לשיפור ולניתוח תמונות

מה זה עיבוד תמונה? Image Model Computer Vision Comp. Geometry Image Processing Computer Graphics

מבוא ל Matlab (1) המון כלים מוכנים מראש עזרה נוספת: שפת סקריפטים לא צריך לקמפל אפשר להריץ שורה אחרי שורה מאד נוח לדבג, פחות יעיל להרצות מסיביות המון כלים מוכנים מראש תמונות: קריאה, שמירה, תצוגה, הגדלה/הקטנה, עיבוד... מתמטיקה: פתרון משוואות, אינטגרלים, מטריצות... עזרה נוספת: פקודות help, helpwin, helpdesk, demo מתוך סביבת ה-Matlab באינטרנט: http://www.mathworks.com/support/ http://webee.technion.ac.il/courses/matlab/Lectures/Introduction%20to%20Matlab%20color.pdf אזהרה: Matlab is Case-Sensitive!

חלון פקודות מבוא ל Matlab (2) תיקיית עבודה רשימת משתנים היסטוריית פקודות

מבוא לMatlab (3) איפה עובדים במטלב: תואר ראשון: תואר שני/שלישי: בחוות PC תואר שני/שלישי: דרך cs-general ב- \\cs-general-pdc\matlab\bin\win32\matlab.exe ב- Unix לכתוב matlab בחלון terminal

פעולות חישוב בסיסיות הפעלת פונקציות (קיימות) הגדרת משתנים 2 1 >> log(a) ans = 1.6094379124341 >> sqrt(a) 2.23606797749979 >> mod(a,b) 2 הפעלת פונקציות (קיימות) הגדרת משתנים 2 >> a = 5; >> b = 3; >> a*b ans = 15 >> 5*3 >>a*3; >> a*3 >> a^b 125 1 נקודה-פסיק (;) בסוף הפקודה מונע את הדפסת התוצאה כתיבת מספר פקודות באותה שורה >> a = 5; b = 3; c = a*b, d = a+b; e = a/b c = 15 e = 1.66666666666667 3 לא קריא, ולא מומלץ!

מטריצה – יחידת הנתונים הבסיסית מטלב מתייחס לכל המשתנים בתור מטריצות. סקלר הוא מטריצה 1x1 וקטור הוא מטריצה ממימד 1, וקטור עמודה וקטור שורה יש גם מטריצות ממימדים גבוהים (3 , 4 , ...) String (כמו ‘hello’) אפשר להתייחס כוקטור של אותיות יש גם משתנים מסוג מורכב יותר: struct, cell array

מטריצה – יחידת הנתונים הבסיסית - המשך a = 5; a = [1 3 5 7 9]; a = [1 : 2 : 9]; a = [1 ; 3 ; 5 ; 7 ; 9]; A = [11 12 13 ; 21 22 23 ; 31 32 33]; B = A(2:3 , 2:3); B = A(2:end , 1:3); B = A(: , [1 3]); C = A’; str = ‘This is a String!’; איך מייצרים מטריצה? סקלר: וקטור שורה: וקטור עמודה: מטריצה :3x3 העתקת תת מטריצות: העתקת עמודות מסוימות מטריצת שחלוף transpose: מחרוזת (גם מטריצה!):

מה עושים עם מטריצות? פעולות בסיסיות: zeros(5,6) ones(3,4) eye(2,4) rand(5,2) C = A+B; C = A+5; C = A*B; A.*B A.^2 A./B sqrt(A), abs(A), eig(A) v = A(:); sumCol=sum(A,1); sumRow=sum(A,2); sum(A(:)) or sum(sum(A,1),2) [numRows , numCols] = size(A); פעולות בסיסיות: מטריצות מיוחדות: חיבור מטריצות: אותו גודל או עם סקלר כפל מטריצות פעולות איבר-איבר (להוסיף . לפני האופרטור להפעיל פונקציה על מטריצה להפוך מטריצה לוקטור עמודה סכום איברים לאורך עמודות/שורות סכום איברים של כל המטריצה בירור גודל של מטריצה

עוד על מטריצות האינדקס הראשון במטריצה הוא השורה, והשני – עמודה עלול לבלבל, כי רגילים למימד ראשון X ושני Y מומלץ במקום אינדקסים x & y להשתמש באינקסים r & c למניעת בלבול. הסדר של האיברים במטריצה: למשל, כשבונים וקטור ממטריצה על ידי v=A(:); קודם כל, ילקחו איברי העמודה הראשונה (מהשורה הראשונה עד האחרונה), אח"כ העמודה השניה, וכן הלאה. אם רוצים לסדר לפי השורות, צריך לעשות B=A’; v=B(:);

סוגי משתנים סוגי משתנים: משתני floating point: double או single (8 או 4 בתים) שלמים: uint8, int8, uint16, int16, uint32, int32,… u בהתחלה מציין שללא סימן – מספרים חיוביים בלבד המספר בסוף – מספר הבתים המוקצים למשל, int8 בין -128 ל +127, uint16 בין 0 ל 2^(=16)-1. לוגיים (בוליאניים): 0 או 1 ( true או false) מחרוזות אם לא מגדירים במפורש, מטלב בוחר בעצמו את סוג המשתנה!

סוגי משתנים אפשר להמיר באופן מפורש: A = uint8(A) אם מקצים, אפשר לקבוע A = zeros([200 300] , ‘int16’) לוודא שלא חורגים מהתחום של המשתנה איך יודעים מה סוגי המשתנים? הפקודה whos אפשר גם בחלון workspace ברירת המחדל היא double, אבל יש פונקציות שמחזירות סוגים אחרים... לעיתים נבחר משתנים כמו uint8 כדי לחסוך בזיכרון...

תנאים לוגיים וחיפושים אופרטורים לוגיים: >> a = [1 2 3 ; 4 5 6 ; 7 8 9] a = 1 2 3 4 5 6 7 8 9 >> inds = find(mod(a , 2) == 0) inds = 2 4 6 8 >> [r,c] = find(mod(a , 2) == 0); [r c] ans = 2 1 1 2 3 2 2 3 >> inds = find(mod(a,2) , 2 , 'first') 1 3 >> אופרטורים לוגיים: Not (~), שוויון == , שונה מ ~= , גדול או קטן מ < > חיפוש איברים: הפונקציה find מחפשת איברים במטריצה לוגית inds = find(A == 3); [rs, cs] = find(A == 3); inds = find(v == 3, 5 , ‘first’);

גרפיקה ותצוגה figure, figure(k) open a new display window plot(x,y) draws x Vs. y hold on keep current content when adding a plot. If not set, new plot will override the current content mesh – view 2D function as surface contour – view 2D function as topographic map subplot – plot several graphs in the same figure axis([xmin xmax ymin ymax]) set axis limits title(‘This is the title’) adds a title to current axes

עזרה במטלב כדי לקבל עזרה על פונקציה: help func_name >> Help eig EIG Eigenvalues and eigenvectors. E = EIG(X) is a vector containing the eigenvalues of a square matrix X. [V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that X*V = V*D. » lookfor differentiation NUDERST Selects the step size for numerical differentiation DIFF Alternative entry to the symbolic differentiation function. In unix: !ls or !mkdir כדי לקבל עזרה על פונקציה: help func_name כדי לחפש פונקציה ששמה לא ידוע lookfor keyword כדי לקבל כלי עזרה אינטראקטיבי helpwin/helpdesk איזה משתנים קיימים בשדה העבודה whos פקודות למ"ה : !command

עיבוד תמונות ואותות במחשב Sinc דו-ממדי (דוגמה) a=-9:0.2:9; [x,y] = meshgrid(a); R = sqrt(x.^2+y.^2)+eps; Z = sin(R)./R; mesh(a,a,Z) או mesh(x,y,Z) title(‘Sinc(sqrt(x^2+y^2))’) עיבוד תמונות ואותות במחשב

איך (לא) מתכנתים בפועל? אפשר פשוט לכתוב פקודה אחרי פקודה בחלון הראשי טוב לבדיקות קצרות, לבדוק אם משהו עובד, ... אפשר "להעלות באוב" בפקודות קודמות, לחיצה על מקש "למעלה" אם התחלנו לכתוב פקודה, ידפדף בפקודות קודמות בעלות אותה התחלה למה זה לא טוב? אי אפשר להריץ שוב בקלות הולך לאיבוד קשה לעשות debugging קשה להריץ שוב עם פרמטרים אחרים...

איך (כן) מתכנתים בפועל? לכתוב סקריפט קובץ (סיומת .m) שבו רצף פקודות פועל בזכרון שבו מפעילים (עובד ומשתנה ערכים קימים) פונקציה קובץ (סיומת .m), עם קלט (אופציונאלי) ופלט (אופציונאלי) פועל בזכרון נפרד (לא משנה משתנים פרט לפלט) כותרת: [Out1, Out2] = Some_Cool_Function(In1 , In2 , In3) קיימת אפשרות לעבוד עם מספר "משתנה" של קלטים ופלטים: varargin, varargout

איך (כן) מתכנתים בפועל? - המשך שונות כל טקסט אחרי % (אחוז) הן הערות בניגוד לC, כל שורה היא פקודה חדשה. אם רוצים "לחבר" (נוחות קריאה), יש לשים "..." בסוף השורה (טקסט אחרי זה באותה שורה – הערה) פקודת return מחזירה את השליטה למי שקרא לפונקציה כלי שימושי diary: מקליט את כל מה שקורה ב command window לקובץ. תיקיות: Matlab Path מטלב מחפש פונקציות שנקראות בתיקייה הנוכחית מעבר לכך, יש תיקיות עם פונקציות ספריה שמחפש בהן אוטומטית ניתן להוסיף תיקיות לחיפוש, ע"י פונקציות כמו addpath, או ידנית על ידי File -> Set Path.

קצת על Debugging כיוון שמטלב הוא אינטרפטר, אפשר לעצור אחרי כל פקודה, לבדוק את מצב המשתנים, לשנות את ערכם, לבדוק השפעה של שורות קוד ספציפיות, וכו' – מאד נוח. לשים breakpoint – לוחצים על ה "–" ליד מספר השורה מקשים שימושים: F5 – המשך לרוץ F10 – להריץ את הפקודה הבאה F11 – להריץ את הפקודה הבאה, ואם זאת פונקציה, להיכנס לתוכה F9 – להריץ את הקוד המסומן (כמו להעתיק לשורת הפקודה)

עוד קצת על Debugging כלי נוח: Cell Coding %% כל הקוד בין %% ל%% הבא נחשב אזור אחד מאפשר להריץ בקלות אוסף פקודות מתוך סקריפט או ב debugging מומלץ לקרוא עוד ב HELP. לעיתים נרצה לשמור את הסביבה (כלומר המשתנים): save(‘filename.mat’); שומר את כל המשתנים לקובץ filename.mat load(‘filename.mat’); טוען את כל המשתנים מהקובץ (אם קיים כבר משתנה כזה, אז דורס אותו!) save(‘filename.mat’ , ‘a’ , ‘Mat’ , ‘Im’); שומר אך ורק את המשתנים a , Mat, Im לקובץ (לשים לב – מרכאות סביב שמות המשתנים). load(‘filename.mat’ , ‘Mat’ , ‘Im’); טוען אך ורק את המשתנים האלה (אם לא קיימים, מטלב נותן אזהרה)

עיבוד תמונות ואותות במחשב בקרת הזרימה פקודת if: if (A > B), statement; elseif (A< B), elseif ~A, statement; else, end if i==1, statement; end if res(n,2) ~= 0, else, עיבוד תמונות ואותות במחשב

עיבוד תמונות ואותות במחשב פקודת switch switch (rem(n,3) ==0) & (rem(n,2)==0) case 0 disp('n is not dividable by 6') case 1 disp('n is dividable by 6') otherwise error('This is impossible.') end אין גלישה כמו ב C עיבוד תמונות ואותות במחשב

עיבוד תמונות ואותות במחשב פקודת for לולאה פשוטה: for n=1:1:4, subplot(2,2,n) plot(a(:,1),a(:,n+1)) title(num2str(n)) end עיבוד תמונות ואותות במחשב

עיבוד תמונות ואותות במחשב פקודת while a = 4; fa = sin(a); b = 2; fb = sin(b); while a - b > 5 * eps, x = (a+b)/2; fx = sin(x); if sign(fx) == sign(fa), a = x; fa=fx; break; else b = x; fb = fx; end עיבוד תמונות ואותות במחשב

לולאות במטלב – בזבוז זמן יש להימנע ככל האפשר משימוש בלולאות פעולות במטלב עדיף לעשות בצורה וקטורית/מטריצית (בבת אחת על כל הוקטור או מטריצה), ולא בלולאות דרושה מיומנות על מנת לעשות בצורה מיטבית... >> a = rand(3000); >> b = a; tic; for c1 = 1 : numel(a), b(c1) = a(c1).^2 + 3; end; toc; Elapsed time is 18.259007 seconds. >> tic; c = a.^2 + 3; toc Elapsed time is 0.175207 seconds. >>

תמונות במטלב בד"כ נייצג תמונות במטלב על ידי מטריצה דו-מימדית – העוצמה בכל פיקסל. תמונות צבע – מטריצה תלת מימדית (3 ערוצי צבע בכל פיקסל) אפשר לחתוך תמונה, לשנות ערכים...

קריאה / כתיבה של תמונות הפונקציה imread קוראת כמעט את כל הפורמטים הפונקציה imwrite כותבת בפורמטים רבים, כדי לשמור TIF ללא כיווץ: imwrite(Im , ‘path\filename.tif' , 'tif' , 'compression' , 'none'); אפשר לשמור חלון (figure) על ידי: print –djpeg filename or print –dtiff filename הפונקציה imfinfo נותנת מידע על קובץ תמונה, בלי לקרוא אותו ממש (גודל, סוג וכו').

תצוגה של תמונות הפונקציה figure; פותחת חלון תצוגה חדש (אחרת נשתמש באותו חלון תצוגה). הפונקציה figure(k); עוברת לחלון מס' k אם קיים, או פותחת חדש אם לא. הפונקציה imshow(Im) מציגה את התמונה בחלון הנוכחי (כדאי לקרוא help על הפונקציה) הפונקציה surf מאפשרת תצוגה כמו מפת גבהים

תצוגה של תמונות - המשך הכלי הגרפי מאפשר לעשות Zoom, לבדוק ערך של פיקסל, ועוד. כלים שימושיים נוספים: impixelinfoval imcrop zoom on או zoom off Imresize מאפשר לשנות גודל של תמונה

סיכום מטלב הוא interpeter, מריץ שורה אחרי שורה מומלץ לכתוב פונקציות וסקריפטים כרגיל – לתעד היטב, שמות משתנים ברורים קוד ברור הוא התיעוד הטוב ביותר... המון כלים מוכנים, פונקציות ספריה אפשר לעשות דברים "מורכבים" בקלות תכנותית היעילות סובלת...