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

Slides:



Advertisements
Similar presentations
Introduction to Matlab
Advertisements

ממיבחניםC שאלות ++.
MATLAB – What is it? Computing environment / programming language Tool for manipulating matrices Many applications, you just need to get some numbers in.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 19P. 1Winter Quarter MATLAB: Script and.
ECEN/MAE 3723 – Systems I MATLAB Lecture 1. Lecture Overview  Introduction and History  Matlab architecture  Operation basics  Visualization  Programming.
מבוא כללי למדעי המחשב תרגול 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.
Computer Science in Practice This course is an introduction to problems (and solutions) that arise in applied fields of computer science such as machine.
Computer Science in Practice This course is an introduction to problems (and solutions) that arise in applied fields of computer science such as machine.
מבוא לעיבוד תמונה 1 תרגול מספר 1 מבוא לעיבוד תמונה.
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
תכנות תרגול 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.
Matrices and Arrays sum, transpose, and diag By Sagi Berglas.
עיבוד תמונות ואותות בעזרת מחשב תרגול מס' 1: Welcome to Matlab!
מבוא ל matlab שיטות נומריות תרגול 3.
אלכסנדר ברנגולץ דואר אלקטרוני: פישבך 346, טל : 4619 פישבך 346, טל : 4619 שעות קבלה : ב ’ 18:30-19:30 אלכסנדר ברנגולץ דואר אלקטרוני:
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
EPSII 59:006 Spring Outline Managing Your Session File Usage  Saving Workspace  Loading Data Files  Creating M-files More on Matrices Review.
MATLAB Lecture One Monday 4 July Matlab Melvyn Sim Department of Decision Sciences NUS Business School
1 Statistical Computing in MATLAB AMS 597 Ling Leng.
Martin Ellison University of Warwick and CEPR Bank of England, December 2005 Introduction to MATLAB.
Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
MEGN 536 – Computational Biomechanics MATLAB: Getting Started Prof. Anthony J. Petrella Computational Biomechanics Group.
Yasser F. O. Mohammad Approximations and Round-off Errors.
MATLAB Tutorial EE 327 Signals and Systems 1. What is MATLAB? MATLAB – Matrix Laboratory The premier number-crunching software Extremely useful for signal.
INTRODUCTION TO MATLAB LAB# 01
Gulsah Tumuklu Ozyer MATLAB IMAGE PROCESSING TOOLBOX.
Lecture 2 - Matlab Introduction CVEN 302 June 5, 2002.
Introduction MATLAB stands for MATrix LABoratory.  Basics  Matrix Manipulations  MATLAB Programming  Graphics  Image types  Image Processing  Useful.
Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes.
Master in Optical Fiber Communications and Photonic Technologies Foundations of Digital Transmission - Fall quarter Introduction to Matlab.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
Introduction to Matlab By E. Noura Semary. Contents MATLAB Environment  Command window, Workspace, Path window, Editor window,and Figure window) Basic.
CSE123 Lecture 3 Files and File ManagementScripts.
Introduction to Matlab  Matlab is a software package for technical computation.  Matlab allows you to solve many numerical problems including - arrays.
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.
Introduction to Matlab Engr. Mian Shahzad Iqbal LAB NO.2
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.
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,
מחרוזות – הטיפוס String
Tutorial on Matlab Basics
Introduction to Matlab
MATLAB: Script and Function Files
Introduction to Mat lab
Statistical Computing in MATLAB
Introduction to MATLAB
Introduction to Matlab
Introduction To MATLAB
MATLAB: Script and Function Files
MATLAB PRIMER by Michael Medvinsky(2014)
StatLab Matlab Workshop
MATLAB הכרת סביבת העבודה.
Matlab Tutorial.
StatLab Workshop: Intro to Matlab for Data Analysis and Statistical Modeling 11/29/2018.
Shell Scripts בסביבת UNIX
MATLAB: Script and Function Files
How to Use MATLAB A Brief Introduction.
MATLAB stands for MATrix LABoratory.
Presentation transcript:

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

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

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

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

עיבוד תמונות ואותות במחשב 5 מטריצות ב- 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) שחלוף מטריצה יצירת מחרוזת: w= ‘ I am a string ’

עיבוד תמונות ואותות במחשב 6 פעולות עם מטריצות יצירת מטריצות ייחודיות: (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(sum(A)) %sum of matrix A [NumRows, NumColumns]=size(M)

עיבוד תמונות ואותות במחשב 7 פונקצית 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

עיבוד תמונות ואותות במחשב 8 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

עיבוד תמונות ואותות במחשב 9 עזרה ב- matlab » 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

עיבוד תמונות ואותות במחשב 10 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(x^2+y^2) ’ )

עיבוד תמונות ואותות במחשב 11 פונקציות ב- 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 המכיל :

עיבוד תמונות ואותות במחשב 12 פונקציות ב- Matlab comm=input( ‘ Enter a command name ’ ); op=input( ‘ Enter the argument ’ ); feval(comm,op); %executes comm with op Or eval([comm ‘ ( ‘’‘ op ‘’’ ); ’ ]); %if op is a string eval([comm ‘ ( ‘ num2str(op) ‘ ); ’ ]);%if op is a number מכיוון ש Matlab הוא interpreter ניתן לתת לו לבצע פקודות דינאמיות ( שלא ידועות בזמן קומפילציה ): שיטה זו שימושית כשכותבים script ( אוסף פקודות השמור כ - filename.m ומתבצע בסביבה הגלובלית כאשר רושמים filename ) ובפונקציות ( כמו script אבל מקבלת ומחזירה פרמטרים ועובדת עם משתנים לוקליים בסביבה פנימית ).

עיבוד תמונות ואותות במחשב 13 M-files בד”כ לא נוח לעבוד בצורה אינטראקטיבית בלבד מאבדים את כל מה שנעשה בין session ל-session. ניתן לעבוד בעורך (editor) המועדף או בעורך של Matlab ע ” י edit. כדי להפעיל my_m_file.m script פשוט כותבים בMatlab את השם my_m_file וזה מריץ את הפקודות סדרתית בסביבה הגלובלית. פקודות שימושיות: what מחזירה את השמות של קבצי matlab בcurrent directory. which fun מחזיר את מקור הקובץ עם path מלא. s=sprintf( ‘ Mydata%d ’,I) - זהה לאותה פקודה ב- C. diary( ‘ diary_file ’ ), diary off מקליט את כל ה-text שבחלון ה-.cmd

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

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

עיבוד תמונות ואותות במחשב 16 בקרת הזרימה פקודת 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

עיבוד תמונות ואותות במחשב 17 פקודת 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

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

עיבוד תמונות ואותות במחשב 19 פקודת 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

עיבוד תמונות ואותות במחשב 20 ייצוג תמונה ב- Matlab

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

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

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

עיבוד תמונות ואותות במחשב 24 פקודות נוספות print -djpeg filename – הדפסת figure לקובץ filename.jpeg im2double(img), im2uint8(img) – מעביר תמונה בין טיפוס uint8 (8 ביט) ו.double - אי אפשר לבצע את כל הפעולות אריתמטיות על uint8. [X,map]=imread( ‘ file ’ ) - לקרוא תמונה מקובץ לתוך משתנה X. imwrite(X,map, ’ file ’,fmt) - רשום התמונה שב X לקובץ file בפורמט fmt. imshow(img,n) - להציג תמונה ב n רמות אפור. a=imcrop(img)- לחתוך תת תמונה ע“י סימון עם העכבר. imresize(img,[10 10], ’ method_name ’ ) לשנות גודל תמונה לגודל 10X10. colormap(gray) מתרגם ערכי המטריצה בתמונה הנוכחית לגווני אפור.