מבוא לעיבוד תמונה 1 תרגול מספר 1 מבוא לעיבוד תמונה.

Slides:



Advertisements
Similar presentations
Introduction to Matlab
Advertisements

Introduction to MATLAB for Biomedical Engineering BME 1008 Introduction to Biomedical Engineering FIU, Spring 2015 Lesson 2: Element-wise vs. matrix operations.
ממיבחניםC שאלות ++.
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB. אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה,
MATLAB for Image Processing April 10 th, Outline Introduction to MATLAB –Basics & Examples Image Processing with MATLAB –Basics & Examples.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
What is MATLAB ? MATrix LABoratory Developed by The Mathworks, Inc ( Mathworks, Inc Interactive, integrated, environment –for.
Multicycle MIPS תרגול כיתה מס' 13.
Matrices and Arrays sum, transpose, and diag By Sagi Berglas.
עיבוד תמונות ואותות בעזרת מחשב תרגול מס' 1: Welcome to Matlab!
מבוא ל matlab שיטות נומריות תרגול 3.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
אלכסנדר ברנגולץ דואר אלקטרוני: פישבך 346, טל : 4619 פישבך 346, טל : 4619 שעות קבלה : ב ’ 18:30-19:30 אלכסנדר ברנגולץ דואר אלקטרוני:
Entering Matrices In MATLAB
עיבוד תמונות ואותות במחשב 1 תרגול מספר 1 עיבוד אותות ותמונות במחשב.
Introduction to Matlab Οικονομίδης Δημήτρης
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Introduction to Matlab 332:202 Discrete Mathematics Spring 2007.
Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
תכנות תרגול 1 שבוע : צור קשר מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. דואר אלקטרוני :
MATLAB for Image Processing CS638-1 TA: Tuo Wang Feb 12 th, 2010.
1 Statistical Computing in MATLAB AMS 597 Ling Leng.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
Yasser F. O. Mohammad Approximations and Round-off Errors.
INTRODUCTION TO MATLAB LAB# 01
Gulsah Tumuklu Ozyer MATLAB IMAGE PROCESSING TOOLBOX.
Lecture 2 - Matlab Introduction CVEN 302 June 5, 2002.
Getting Started with MATLAB CS534 TA: Matt McDaniel Sep 17 th, 2012 Slides by Chunhui Zhu – Fall 2011 Thanks to the help from Tuo.
Introduction MATLAB stands for MATrix LABoratory.  Basics  Matrix Manipulations  MATLAB Programming  Graphics  Image types  Image Processing  Useful.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
CSE123 Lecture 3 Files and File ManagementScripts.
ELG 3120 Lab 2 TAs Wei Zhang Ozgur Ekici (Section A) (Section B)
Outline Introduction to MATLAB Image Processing with MATLAB
Introduction to MATLAB 1.Basic functions 2.Vectors, matrices, and arithmetic 3.Flow Constructs (Loops, If, etc) 4.Create M-files 5.Plotting.
Introduction to Matlab Patrice Koehl Department of Biological Sciences National University of Singapore
Matlab Tutorial 1 David Goldstein University of Colorado Dept of Aerospace Engineering Sciences.
CSE 455 : Computer Vision MATLAB 101 Getting Started with MATLAB.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
Introduction to Matlab Engr. Mian Shahzad Iqbal LAB NO.2
PATTERN RECOGNITION LAB 2 TA : Nouf Al-Harbi::
การใช้งานโปรแกรม MATLAB ดร. อำนาจ ขาวเน. BASIC ELEMENTS OF MATLAB MATLAB Desktop MATLAB Editor Help System MATLAB (MATrix LABoratory)
An Introduction to Programming in Matlab Emily Blumenthal
전자장 1 실험 - Matlab 사용법 - Photonic Systems Laboratory School of EE, Seoul National University Photonic Systems Lab School of EECS, S.N.U.
ייצוגים גרפיים ב - MATLAB. 2 יעדים לימודיים סרטוט גרפים עם מערכת צירים xy  בחירת רזולוציה לציר ה- x  סרטוט כמה גרפים על אותה מערכת צירים  סרטוט כמה.
Beginning Programming for Engineers Animation. Special matrix functions >> clear >> ones(2,3) >> zeros(3,5) >> ones(2) >> zeros(3) >> eye(4) >> magic(4)
MATLAB ……………….matrix laboratory. Bhushan D Patil PhD Research Scholar Department of Electrical Engineering Indian Institute of Technology, Bombay Powai,
Getting Started with MATLAB
Tutorial on Matlab Basics
Introduction to Mat lab
3D-Graphs A 3D surface is defined as: z = f(x, y)
Statistical Computing in MATLAB
Ch3 Graphics Overview of Plotting Editing Plots
מחלקות classes.
אינדקסינג והשינג (indexing & hashing)
Introduction to Matlab
SQL בסיסי – הגדרה אינדוקטיבית
MATLAB הכרת סביבת העבודה.
Matlab Tutorial.
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
Shell Scripts בסביבת UNIX
NG Interpolation: Divided Differences
Introduction to Matlab
MATLAB stands for MATrix LABoratory.
Presentation transcript:

מבוא לעיבוד תמונה 1 תרגול מספר 1 מבוא לעיבוד תמונה

2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, ויזואליזציה ותכנון אלגוריתמים. איך למצוא מידע נוסף: פקודות help, helpwin, helpdesk, demo מתוך סביבת ה-Matlab באינטרנט:

מבוא לעיבוד תמונה 3 מטריצות ב- Matlab מטריצות מלבניות הן מבנה הנתונים העיקרי. כדי לבנות מטריצה פשוט כותבים: a=[0.2,7,11,5] - וקטור-שורה (אופרטור, שרשור לאורך שורה) x=5:2:11 - וקטור ]5,7,9,11[=x (אופרטורa:b:c ) m=[2.1;66;11;9] עמודה וקטור A=[3 4 5; 4 7 9; 2 6 7] - 3X3 מטריצה הרכבת מטריצה מתת מטריצותB=[a b;c d] העתקת תת מטריצה A=B(3:5, 4:7) הוצאת עמודות מסוימות מהמטריצה B A=B(:,[ ]) A=B ’ - (transpose) שחלוף מטריצה

מבוא לעיבוד תמונה 4 פעולות עם מטריצות יצירת מטריצות ייחודיות: (zeros(3,5), rand(5,1) ones(6,2),eye (6,2 פקודות על מטריצות: +,-,*(כפל מטריצי),/(חילוק מטריצי),^ דוגמאות:A^2, a+b, A*x-y פקודות על איברים מתאימים במטריצות element wise : a./b, a.^2, a.*b הפעלת פונקציות:(sqrt(x), sin(y), exp(a+b), result=isempty(a [v,d] = eig(x) S=sum(A) %S is a row vector of the columns sums of A S=sum(A,2) %S is a column vector of the rows sums of A S=sum(sum(A)) %sum of matrix A [NumRows, NumColumns]=size(M)

מבוא לעיבוד תמונה 5 Visualization and Graphics plot(x,y), plot(x,sin(x)) %plot 1-D function figure, figure(k)%open a new figure hold on, hold off mesh(x_ax,y_ax,z_mat)%view surface contour(z_mat) %view z as top. map subplot(3,1,2) %several plots in figure axis([xmin xmax ymin ymax]) title( ‘ figure title ’ ) %add title to figure

מבוא לעיבוד תמונה 6 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)) ’ )

מבוא לעיבוד תמונה 7 M-files בד”כ לא נוח לעבוד בצורה אינטראקטיבית בלבד מאבדים את כל מה שנעשה בין session ל-session. ניתן לעבוד בעורך (editor) המועדף או בעורך של Matlab ע”י edit. כדי להפעיל my_m_file.m script פשוט כותבים בMatlab את השם my_m_file וזה מריץ את הפקודות סדרתית בסביבה הגלובלית. הגדרה של פונקציות: גלובליות - כל פונקציה בקובץ ניפרד בעל אותו שם. לוקליות - לאחר הפונקציה הראשית מגדירים פנקציות נוספות בהן משתמשים.

מבוא לעיבוד תמונה 8 פונקציות ב- Matlab function [c,d,e]= pyt(a,b) % returns the hypotenuse in a right angle % triangle according to Pythagoras theorem. % c is the hypotenuse, % d and e are the two sharp angles c=sqrt(a.^2+b.^2); d=atan(b/a); e=pi/2-d; נייצר קובץ pyt.m המכיל : נייצר קובץ pyt.m המכיל :

מבוא לעיבוד תמונה 9 ספריות החיפוש של Matlab חיפוש הקבצים מבוצע בכל הספריות המופיעות ב- CD וב- path. ניתן לכתוב cd או path על-מנת לראות את תוכנם. ניתן לכתוב: cd d:\mydir על מנת לשנות את ספריית העבודה הנוכחית. ניתן לכתוב: path(path, ’ d:\mydir ’ ) על-מנת להוסיף את d:\mydir ל- path (לא נשמר ביציאה מ- Matlab). ניתן להשתמש גם ב- Path browser.

מבוא לעיבוד תמונה 10 שמירת workspace הפקודה whos מציגה את המשתנים שבזיכרון. הפקודה save file_name שומרת משתנים אלה בקובץ file_name.mat וניתן לשחזר משתנים אלה לתוך הזיכרון ע"י load file_name. הפקודה clear a מוחקת את משתנה a מהזכרון. הפקודה clear מוחקת את כל המשתנים שבזיכרון.

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

מבוא לעיבוד תמונה 12 פקודת 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

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

מבוא לעיבוד תמונה 14 פקודת 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

מבוא לעיבוד תמונה 15 פונקצית find ותנאים לוגיים תנאים לוגיים==,, (not equal)~=,(not)~ find(a==3) מחזירה אינדקסים ב a לאיברים שמקיימים את התנאי הלוגי. הפונקציה מחזירה אינדקס יחיד במטריצה (שרץ לאורך העמודות) או זוג אינדקסים (y,x) (תלוי במספר פרמטרי החזרה) a=[1 2 3;4 5 6;7 8 9] a = » z=find(a>7) z = 6 9 » [y,x]=find(a>7) y = 3 x = 2 3

מבוא לעיבוד תמונה 16 ייצוג תמונה ב- Matlab

מבוא לעיבוד תמונה 17 ייצוג תמונה ב- Matlab כמו קודם נצייר את Z=sinc(R)ע“י.mesh Z היא מטריצה המוצגת כאן כמשטח.

מבוא לעיבוד תמונה 18 ייצוג תמונה ב- Matlab נתייחס ל-Z (הגובה) בתור תמונה imshow(Z,[]) הבהירות של הפיקסל (x,y) בתמונה מתאימה לגובה Z(x,y).

מבוא לעיבוד תמונה 19 ייצוג תמונה ב- Matlab אפשר להגדיל גם את Z ע"י zoom on וסימון ע"י עכבר. אפשר גם בלחצן בחלון הגרפי.

מבוא לעיבוד תמונה 20 סוגי תמונות Indexed – מטריצה של ערכים [1-P] שהם אינדקסים למפת הצבעים (colormap). Intensity – מטריצה של רמות אפור [0-255]המייצגות את הטווח הדינמי של הערכים. Binary – ערכים לוגים ממופים: 0 – שחור, 1 – לבן. RGB – מטריצה תלת ממדי של ערכי צבע. בכל רמה הטווח הדינמי ממופה. [X,map]=imread(‘file’); %Indexed I=imread(‘pout.tif’); %intensity imwrite(I,‘file.fmt’, ‘fmt’); המרה בין תמונות: gray2ind,ind2gray, rgb2ind, ind2rgb, rgb2gray, im2bw

מבוא לעיבוד תמונה 21 פקודות נוספות print -djpeg filename – הדפסת figure לקובץ filename.jpg im2double(img), im2uint8(img) – מעביר תמונה בין טיפוס uint8 (8 ביט) ו.double - אי אפשר לבצע את כל הפעולות אריתמטיות על uint8. פעולות גאומטריות: a=imcrop(img)- לחתוך תת תמונה ע“י סימון עם העכבר. imresize(img,[10 10], ’ method ’ )לשנות גודל תמונה לגודל 10X10. Imrotate(img,angle, ’ method ’ ) סיבוב בזוית.