Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "מבוא לעיבוד תמונה 1 תרגול מספר 1 מבוא לעיבוד תמונה."— Presentation transcript:

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

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

3 מבוא לעיבוד תמונה 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(:,[1 3 2 4]) A=B ’ - (transpose) שחלוף מטריצה

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

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

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

11 מבוא לעיבוד תמונה 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 מבוא לעיבוד תמונה 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 מבוא לעיבוד תמונה 13 פקודת for לולאה פשוטה: for n=1:1:4, subplot(2,2,n) plot(a(:,1),a(:,n+1)) title(num2str(n)) end

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

16 מבוא לעיבוד תמונה 16 ייצוג תמונה ב- Matlab 95 102 94 102 95 98 102 99 103 105 110 94 99 94 101 100 98 100 101 101 107 104 97 86 83 97 96 98 104 96 100 102 102 105 91 85 93 89 98 92 95 98 100 102 106 105 99 90 93 96 84 88 93 89 89 98 94 102 99 81 87 86 84 90 91 88 101 104 87 82 90 84 86 87 86 95 102 99 102 90 74 92 101 87 74 77 83 100 92 95 102 100 92 96 110 93 72 71 83 101 87 103 101 105 88 76 94 93 71 69 105 99 105 104 111 101 84 59 78 102 72

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

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

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

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


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

Similar presentations


Ads by Google