Εργαλεία προγραµµατισµού. Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox. ΤΨΣ 150 Ψηφιακή Επεξεργασία Εικόνας

Σχετικά έγγραφα
Εργαλεία Προγραμματισμού Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 1: Εισαγωγή στην Ψηφιακή Επεξεργασία Εικόνας

Τυπικές χρήσεις της Matlab

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 1

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Εισαγωγή στην Αριθμητική Ανάλυση

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ, ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

Εισαγωγή στο Matlab Μέρος Α. Κυριακίδης Ιωάννης 2011

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

MATLAB Desktop (Επιφάνεια Εργασίας MATLAB) [1.]

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Συστήματα Αναμονής (Queuing Systems)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Ειζαγωγή ζηο MATLAB (MATLAB Fundamentals)

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Εισαγωγή στο GNU Octave/MATLAB

Αλληλεπίδραση με το Matlab

ΑΣΚΗΣΗ 3 ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕΛΕΤΗ ΙΣΤΟΓΡΑΜΜΑΤΟΣ. ( ) 1, αν Ι(i,j)=k hk ( ), διαφορετικά

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

ΑΣΚΗΣΗ 2 ΒΑΣΙΚΑ ΚΑΙ ΣΥΝΘΕΤΑ ΣΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ - ΕΙΚΟΝΑΣ

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

Επεξεργασία εικόνας. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #08

Ακαδηµαϊκό Έτος , Χειµερινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης

Ψηφιακή Επεξεργασία Εικόνας

scanf() scanf() stdin scanf() printf() int float double %lf float

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

Α. Ερωτήσεις Ανάπτυξης

a = 10; a = k; int a,b,c; a = b = c = 10;

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Δημιουργία και εκτέλεση προγραμμάτων. Εντολές εισόδου από το πληκτρολόγιο και εξόδου στην οθόνη.

ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ, ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Προγραμματισμός I (Θ)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση

Εισαγωγή στους Υπολογιστές

References. Chapter 10 The Hough and Distance Transforms

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

Εισαγωγή στους Υπολογιστές

Διαδικασιακός Προγραμματισμός

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

ΚΕΦΑΛΑΙΟ 5. Matlab GUI για FWSVM και Global SVM

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Ψευδοκώδικας. November 7, 2011

Simulation Users Manual

Επιµέλεια Θοδωρής Πιερράτος

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB )

Εισαγωγή στη Βιοπληροφορική

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Εισαγωγή στην OpenGL

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Κατάτµηση εικόνας σε οµοιόµορφες περιοχές

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση 12 η. Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων

Κεφάλαιο 10 ο Υποπρογράµµατα

Το παράθυρο έναρξης του Μatlab

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

5ο Συνέδριο ΕΛΛΑΚ Εργαστήριο Octave

Διαδικασιακός Προγραμματισμός

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Εισαγωγή στον Προγραμματισμό

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ

Προγραµµατισµός Η/Υ. Δρ. Δ.Ν. Παγώνης. Καθηγητής Εφαρµογών. Τηλ: Τµήµα Ναυπηγών Μηχανικών ΤΕ, ΤΕΙ Αθήνας

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Ανοίξτε την εικόνα Hel_MDSGEO και δημιουργήστε δύο έγχρωμα σύνθετα ένα σε πραγματικό χρώμα (True color) και ένα σε ψευδοέχρωμο υπέρυθρο (CIR)

2. Δημιουργία και Διαχείριση Πολυφασματικών εικόνων

Προγραµµατισµός 2 The shell

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Transcript:

ΤΨΣ 150 Ψηφιακή Επεξεργασία Εικόνας Εργαλεία Προγραµµατισµού Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία Περιεχόµενα Ενότητας Εργαλεία προγραµµατισµού για Ψηφιακή Επεξεργασία Εικόνας Εισαγωγή στη Matlab Αναπαράσταση Εικόνων στη Matlab Ανάγνωση και Αποθήκευση Εικόνων Τύποι Εικόνων και Κλάσεις εδοµένων Προγραµµατισµός m-συναρτήσεων Βιβλιογραφία: Gonzales [2004]: Chapter 2 Tutorial on Matlab Digital Image Processing Toolbox, http://www.mathworks.com/access/helpdesk/help/toolbox/ima ges/images.shtml http://www.ph.tn.tudelft.nl/diplib/dipimage_1.html Εργαλεία προγραµµατισµού για ΨΕΕ Image Processing Toolbox, Matlab, http://www.mathworks.com/products/image/ http://www.mathworks.com/products/image/tryit.html Image processing with Java 2D, http://www.javaworld.com/javaworld/jw-09-1998/jw-09- media.html http://www.utopia1.demon.co.uk/javaipl/ http://www.developer.com/java/other/article.php/3403921 Intel, Open Source Computer Vision Library (OpenCV) http://www.intel.com/technology/computing/opencv/ 1

Εφαρµογές Matlab Matlab= Matrix Laboratory Προγραµµατιστικό περιβάλλον το οποίο αρχικά αναπτύχθηκε για χειρισµό διδιάστατων πινάκων (matrices) Σήµερα αποτελεί το Νο. 1 εργαλείο ταχείας πρωτοτυποποίησης για ερευνητικούς και εκπαιδευτικούς (πανεπιστηµιακής εκπαίδευσης) σκοπούς Εφαρµογές: Μαθηµατικά και υπολογισµοί Ανάπτυξη αλγορίθµων Σύλληψη (απόκτηση) δεδοµένων Μοντελοποίηση, προσοµοίωση και πρωτοτυποποίηση Ανάλυση δεδοµένων, διερεύνηση και απεικόνιση Ανάπτυξη εφαρµογών συµπεριλαµβανόµενης και ιαπροσωπείας µε Γραφικά (Graphical User Interface) Πληκτρολογήστε demo από το Command prompt της Matlab για να δείτε µια πληρέστερη γκάµα εφαρµογών της Matlab Κύριες περιοχές: Path Command Window Current Directory Workspace Browser Command History Figure Window Σε ποια directories ψάχνει η Matlab για συναρτήσεις Το Matlab Desktop O Matlab Editor Text editor και debugger για τη δηµιουργία m-files Για ενεργοποίηση του editor πληκτρολογούµε από το Command Prompt edit edit filename (ανοίγει το m-file µε όνοµα filename για επεξεργασία) 2

Ηβοήθεια στη Matlab: Help browser Ηβοήθεια στη Matlab: Άλλες µορφές doc filename Ενεργοποίηση του help browser στο εδάφιο που αναφέρεται στη συγκεκριµένη συνάρτηση Παράδειγµα: doc imadjust help filename Εµφανίζει τις γραµµές που περιγράφουν τη συνάρτηση filename (help text block) Παράδειγµα: help imadjust type filename Εµφανίζει όλο το κείµενο (βοήθεια και εντολές) της συνάρτησης filename Παράδειγµα: type imadjust lookfor keyword Εµφανίζει όλες τις συναρτήσεις στο κείµενο βοήθειας τωνοποίωνυπάρχειηλέξηκλειδίkeyword Παράδειγµα: lookfor histogram Από το Workspace browser: Save Workspace As. Από το Command prompt: save WorkspaceName Παράδειγµα: save session24102005 Αποθήκευση µερικών µεταβλητών µόνο: save WorkspaceName Variable1 Variable2 Παράδειγµα: save session24102005 X map Το αποτέλεσµα αποθήκευσης ενός χώρου εργασίας είναι η δηµιουργία ενός αρχείου µε επέκταση.mat Για ανάκληση του χώρου εργασίας: Αποθήκευση και Ανάκληση Χώρου Εργασίας Επιλογή από τον Workspace browser Εκτέλεση: load WorkspaceName από το Command prompt 3

Αναπαράσταση Εικόνων στη Matlab Οι εικόνες στη Matlab αναπαριστώνται ως διδιάστατοι ή τριδιάστατοι πίνακες ιδιάστατοι πίνακες: Μαυρόασπρες εικόνες, εικόνες αποχρώσεων του γκρι, εικόνες παλέτας χρωµάτων Τρισδιάστατοι πίνακες: Έγχρωµες Εικόνες RGB, HIS,YIQ κλπ. Προσοχή: Στη Matlab η αρίθµηση των pixels αρχίζει από το 1 και όχι από το 0 (βλέπε σχήµα) Ανάγνωση Εικόνων Για την ανάγνωση εικόνων µέσα από το περιβάλλον της Matlab χρησιµοποιούµε την εντολή imread( filename ) Παράδειγµα: f=imread('pc250128.jpg'); Το αποτέλεσµα της παραπάνω εντολής είναι η δηµιουργία του τρισδιάστατου πίνακα f o οποίος αντιστοιχεί στην εικόνα PC250128.jpg Για να βρούµε τις διαστάσεις τις εικόνας χρησιµοποιούµε την εντολή size(f) Ειδική περίπτωση για τις εικόνες µε παλέτα χρωµάτων: [f map]=imread('unipi-logo.gif'); Προβολή Εικόνων στην Οθόνη Για την προβολή της εικόνας στην οθόνη χρησιµοποιούµε την εντολή imshow(matrixname) matrixname είναι το όνοµα του πίνακα µε τον οποίο αναπαρίσταται η εικόνα µετά την ανάγνωση της Παράδειγµατα: imshow(f) imshow(f, map) (για εικόνες παλέτας χρωµάτων) imshow(f, [low high]) (για εικόνες αποχρώσεων του γκρι) Προβολή περισσότερων από µια εικόνες Εντολή figure Εντολή pixval 4

Τύποι Εικόνων και Κλάσεις εδοµένων Προγραµµατισµός m-συναρτήσεων Αποθήκευση Εικόνων Για την αποθήκευση εικόνων µέσα από το περιβάλλον της Matlab χρησιµοποιούµε την εντολή imwrite (matrixname, filename ) Παράδειγµατα: imwrite (g, pouf2.png'); imwrite (g, pouf3.jpg, quality,50); imwrite (g, pouf3.tif, compression, packbits, resolution,[300 300]); Αποθήκευση εικόνων από figures (χρησιµοποιείται κυρίως για αποθήκευση διαγραµµάτων) print fno dfileformat rresno filename Παράδειγµα: print -f2 -dpng -r300 histogram.png Αποθήκευση Εικόνων (ΙΙ) Η επίδραση της παραµέτρου quality στην αποθήκευση εικόνων (ισχύει µόνο για εικόνες jpg και tif): imwrite (g, pouf3.jpg, quality,50); imwrite (g, pouf3.jpg, quality,25); imwrite (g, pouf3.jpg, quality,15); imwrite (g, pouf3.jpg, quality,5); imwrite (g, pouf3.jpg, quality,0); Αποθήκευση Εικόνων (ΙΙΙ) ιατήρηση του αριθµού των pixel της εικόνας αλλά αυξοµείωση της διάστασης της Χρήση της imwrite (g, pouf3.tif, resolution,[300 300]);. Εύρεση πληροφοριών της εικόνας χωρίς να την φορτώσουµε στο χώρο εργασίας Χρήση της εντολής imfinfo(filename); Παράδειγµα: imfinfo( pouf3.tif ); 5

Κλάσεις εδοµένων Τύποι Εικόνων Εικόνες φωτεινότητας (αποχρώσεων του γκρι)- intensity images. Οι τιµές των pixels είναι ακέραιοι στο πεδίο [0 255] (αναπαράσταση ως uint8) ή [0 65535] (αναπαράσταση ως uint16) ή πραγµατικοί αριθµοί στο πεδίο [0 1] (αναπαράσταση ως double) υαδικές εικόνες (µαύρο και άσπρο) binary images Λογικοί πίνακες - Οι τιµές των pixels είναι είτε 0 είτε 1 (αναπαράσταση ως logical) Εικόνες παλέτας χρωµάτων (έγχρωµες µε περιορισµένο αριθµό χρωµάτων) indexed images Εκτός από τις «τιµές» των pixels χρειάζεται και ένα άλλος πίνακας για την επεξήγηση των κωδικών που χρησιµοποιούνται (στη Matlab αυτός ο πίνακας συχνά ονοµάζεται map) Έγχρωµες εικόνες RGB images Τρισδιάστατοι πίνακες [MxNx3]. Οι τιµές των pixels είναι συνήθως ακέραιοι στο πεδίο [0 255]. Κάθε pixel ορίζεται από τρεις τέτοιους αριθµούς (R,G,B). Τύποι Εικόνων (ΙΙ) Οι παρακάτω συναρτήσεις χρησιµοποιούνται για τη µετατροπή µιας εικόνας τύπου Α σε µια εικόνα τύπου Β. Παράδειγµα: Μετατροπή εικόνας RGB σε εικόνα αποχρώσεων του γκρι g=rgb2gray (f); Όπου f η RGB εικόνα και g η εικόνα αποχρώσεων του γκρι. Παράδειγµα: Μετατροπή εικόνας αποχρώσεων του γκρι σε διτονική (binary) εικόνα b=im2bw (g); Όπου g η εικόνα αποχρώσεων του γκρι και b η διτονική εικόνα. Παράδειγµα: Μετατροπή εικόνας παλέτας χρωµάτων σε εικόνα αποχρώσεων του γκρι f=ind2gray (g); Όπου g η εικόνα αποχρώσεων του γκρι και f η εικόνα παλέτας χρωµάτων. 6

Προγραµµατισµός m- συναρτήσεων Τα αρχεία τύπου.m (m-files) είναι είτε: Απλά scripts τα οποία εκτελούν µια σειρά από εντολές Συναρτήσεις οι οποίες δέχονται εισόδους και δηµιουργούν κάποια αποτελέσµατα (έξοδοι) Μια συνάρτηση m αποτελείτε από τα εξής τµήµατα: Γραµµή ορισµού συνάρτησης (function definition line) Γραµµή Η1 (H1 line) Τµήµα ενσωµατωµένης βοήθειας (help text block) Σώµα συνάρτησης (function body) Σχόλια (comments) Τµήµατα m-συνάρτησης Γραµµή ορισµού συνάρτησης (function definition line) έχει την παρακάτω µορφή: function [outputs] = functionname(inputs) Παράδειγµα: function [ProcessedImage, MaxValue] = mediandenoise(filein, fileout) Μπορούµε να εκτελέσουµε m-functions µέσω του Command Window ή εντός άλλων m-functions. Παράδειγµα εκτέλεσης της παραπάνω συνάρτησης από το Command Window: > [NewImage, MaxV] = mediandenoise( pouf3.tif, fouf3-denoisy.jpg ); Η γραµµή Η1 (H1 line) είναι γραµµή σχολίου και αποτελεί την πρώτη επεξήγηση για το τι κάνει η συνάρτηση: % MEDIANDENOISE MEDIANDENOISE performs median filtering in % an image stored in filein and saves the result to fileout Τµήµατα m-συνάρτησης (ΙΙ) Το τµήµα ενσωµατωµένης βοήθειας (help text block) ακολουθεί τη γραµµή Η1 χωρίς να υπάρχει κενή γραµµή ανάµεσα τους. Παρέχει σχόλια όσον αφορά τη χρήση της συνάρτησης καθώς και επεξήγηση της αναµενόµενης µορφής των ορισµάτων εισόδου και εξόδου Το τµήµα ενσωµατωµένης βοήθειας µαζί µε τη γραµµή H1 δηµιουργούν το αποτέλεσµα της εντολής help functionname (π.χ. help mediandenoise) Σώµα συνάρτησης (function body) Αποτελείται από διάφορες εντολές µέσω των οποίων διεκπεραιώνεται η αποστολή της συνάρτησης. Κάθε εντολή διαχωρίζεται µε ; από την επόµενη. Σχόλια (comments) Αποτελούν επεξηγήσεις του κώδικα. Μπορούν να εισαχθούν σε οποιοδήποτε σηµείο του σώµατος της συνάρτησης. 7

Ένα παράδειγµα Τελεστές Συναρτήσεις για Εικόνες Για εικόνες αποχρώσεων του γκρι οι οποίες έχουν κλάση δεδοµένων uint8 ή uint16 ορισµένοι τελεστές (όπως +,-,/,*,./,.*) δεν µπορούν να εκτελεστούν. Οι συναρτήσεις που δίνονται παραπάνω εκτελούν τις αριθµητικές πράξεις σε κλάσεις δεδοµένων uint8 και uint16 Εναλλακτικά µπορούµε να µετατρέψουµε την κλάση των δεδοµένων σε double και να εκτελέσουµε τους αριθµητικούς τελεστές. 8

Συσχετιστικοί και Λογικοί Τελεστές Οι συσχετιστικοί τελεστές εφαρµόζονται σε δύο πίνακες (ίσων διαστάσεων) στοιχείο προς στοιχείο. Όπου ισχύει ο συσχετιστικός τελεστής το στοιχείο του αποτελέσµατος είναι 1 αλλιώς γίνεται 0. Παράδειγµα: Έστω Α=[1 2;3 4] και Β=[4 3;2 1]. Το αποτέσµα της εντολής: Α>Β θα είναι [0 0;1 1] Α==Β θα είναι [0 0;0 0] Α~=Β θα είναι [1 1;1 1] Οι λογικοί τελεστές εφαρµόζονται όχι µόνο σε λογικούς πίνακες αλλά και σε κάθε αριθµητικό πίνακα. Κάθε µη µηδενικό στοιχείο ενός πίνακα θεωρείται ως λογικό 1 Λογικές Συναρτήσεις Παράδειγµα: Έστω Α=[1 2;3-4] και Β=[0-1;2 0]. xor(α, Β)= [1 0;0 1] all(a)=[1 1] all(b)=[0 0] any(a)=[1 1] any(b)=[1 1] Λογικές Συναρτήσεις (ΙΙ) 9

Έλεγχος Ροής Σύνοψη Το υλικό που παρουσιάστηκε σε αυτή την ενότητα αποτελεί τη βάση για τη χρήση του Image Processing Toolbox (IPT) στο πλαίσιο των διαφόρων εργασιών που θα σας ανατεθούν Για πληρέστερη κατανόηση των παραδειγµάτων χρήσης του IPT δοκιµάστε τα demo του αντίστοιχου toolbox της Matlab. Για καλύτερη ενηµέρωση σχετικά µε την Matlab δείτε τα σχετικά demo (από το Command prompt της Matlab πληκτρολογήστε demo) 10