ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Εικόνας Ενότητα 2 : Βελτιστοποίηση εικόνας (Image enhancement) Ιωάννης Έλληνας Τμήμα Η/ΥΣ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Στην ενότητα αυτή εξετάζονται διάφοροι αλγόριθμοι βελτιστοποίησης μιας εικόνας, όπως η επέκταση της φωτεινότητας ή η βελτίωση της αντίθεσης. Ακόμα εξετάζονται οι τεχνικές χώρου με τις οποίες δημιουργούμε φίλτρα τα οποία κυρίως χρησιμοποιούνται για την αποκατάσταση μιας εικόνας από το θόρυβο. 4
Περιεχόμενα ενότητας Τι είναι ο εμπλουτισμός εικόνας Τεχνικές σημείου Αντιστροφή φωτεινότητας Επέκταση της αντίθεσης Κλιμάκωση φωτεινότητας Κόψιμο φωτεινότητας Τεμαχισμός κλίμακας φωτεινότητας Ανάλυση σε δυαδικές εικόνες Λογαριθμική συμπίεση κλίμακας φωτεινότητας Εκθετική συμπίεση κλίμακας φωτεινότητας Πράξεις επί των εικόνων Εξισορρόπηση ιστογράμματος Προσαρμογή ιστογράμματος σε δεδομένο ιστόγραμμα Τεχνικές χώρου-φίλτρα Γραμμικά φίλτρα Μη γραμμικά φίλτρα Τετραδικό δέντρο 5
Τι είναι ο εμπλουτισμός εικόνας (Image Enhancement); Ο εμπλουτισμός εικόνας διαπραγματεύεται τους τρόπους βελτίωσης μιας εικόνας, δηλαδή όλες εκείνες τις μεθόδους επεξεργασίας οι οποίες καθιστούν την εικόνα περισσότερο εκμεταλλεύσιμη. Για παράδειγμα, η μεταβολή της φωτεινότητας, η βελτίωση της αντίθεσης, η βελτίωση του λόγου σήμα προς θόρυβο, η μεταβολή της οξύτητας, η μεταβολή του τονισμού μιας εικόνας ή ακόμα η σμίκρυνση, η μεγέθυνση, η περιστροφή είναι αντικείμενα αυτού του κεφαλαίου. Οι διάφορες μέθοδοι που αφορούν στη βελτίωση της ποιότητας μιας εικόνας ομαδοποιούνται σε τρεις βασικές κατηγορίες: τις τεχνικές σημείου ή pixel (point operations), τις τεχνικές στο πεδίο της εικόνας ή χωρικές τεχνικές (spatial operations) και τις τεχνικές στο πεδίο συχνοτήτων (frequency operations) ή στο πεδίο μετασχηματισμού γενικότερα (transform operations). 6
Τεχνικές σημείου 7
Αντιστροφή φωτεινότητας (1) Η αντιστροφή της φωτεινότητας μιας εικόνας πραγματοποιείται σύμφωνα με την εξής σχέση: 8
Αντιστροφή φωτεινότητας (2) Σχήμα 2.2 Α. Αρχική εικόνα Σχήμα 2.2 Β. Αντιστροφή φωτεινότητας 9
Επέκταση της αντίθεσης (1) Πολλές εικόνες έχουν χαμηλή αντίθεση, λόγω κακού φωτισμού λήψης, με αποτέλεσμα το οπτικό αποτέλεσμα να είναι φτωχό. Η γραμμική μεταβολή μιας περιοχής επιπέδων φωτεινότητας της εικόνας καλείται επέκταση της αντίθεσης (contrast stretching) και η γενική της μορφή περιγράφεται από το Σχήμα 2.3 και τη σχέση (2.3): Σχήμα 2.3 Επέκταση της αντίθεσης 10
Επέκταση της αντίθεσης (2) Το Σχήμα 2.4 δείχνει την εικόνα pout.tif με χαμηλό επίπεδο αντίθεσης και το αντίστοιχο ιστόγραμμά της. Σχήμα 2.4 Αρχική εικόνα και ιστόγραμμα Τα επίπεδα φωτεινότητας περιορίζονται στη περιοχή 70 έως 170 περίπου, δίνοντας ένα φτωχό αποτέλεσμα. Εάν, εφαρμόζοντας την παραπάνω σχέση, αυτή η περιοχή φωτεινότητας επεκταθεί σε ολόκληρη την περιοχή [0, 255], θέτοντας I 1 = 0 και Ι 2 = 255, η εικόνα γίνεται φωτεινότερη και το αντίστοιχο ιστόγραμμά της επεκτείνεται σε ολόκληρη την περιοχή φωτεινότητας, Σχήμα 2.5. 11
Επέκταση της αντίθεσης (3) Σχήμα 2.5 Εικόνα και ιστόγραμμα μετά την επέκταση της φωτεινότητας 12
Επέκταση της αντίθεσης (4) Παράδειγμα 2.1 Στη συγκεκριμένη περίπτωση, το πρόγραμμα το οποίο χρησιμοποιήθηκε για την παραγωγή του παραπάνω Σχήματος είναι το ακόλουθο: Οι τιμές 0.3059 και 0.6314, τις οποίες δημιούργησε η συνάρτηση stretchlim(x), αντιστοιχούν σε φωτεινότητες 78 και 161 αντίστοιχα, οι οποίες ευρίσκονται στα άκρα του ιστογράμματος της αρχικής εικόνας. 13
Κλιμάκωση φωτεινότητας (1) Σχήμα 2.6 Καμπύλη κλιμάκωσης φωτεινότητας 14
Κλιμάκωση φωτεινότητας (2) Σχήμα 2.7 Κλιμάκωση φωτεινότητας για την εικόνα spine. 15
Κόψιμο φωτεινότητας (1) Σχήμα 2.8 Κόψιμο και κατωφλίωση του επιπέδου φωτεινότητας 16
Κόψιμο φωτεινότητας (2) Σχήμα 2.9 Κατωφλίωση της εικόνας pout.tif 17
Τεμαχισμός κλίμακας φωτεινότητας Σχήμα 2.10 Τεμαχισμός φωτεινότητας εικόνας 18
Παράδειγμα 2.1 (1) Το πρόγραμμα με το οποίο μπορεί να γίνει τεμαχισμός φωτεινότητας μιας εικόνας στο Matlab. Η εικόνα spine μετά την κλιμάκωση φωτεινότητας έχει τη μορφή του Σχήματος 2.7. Η εφαρμογή αυτών των δύο τεχνικών σε αυτήν την εικόνα και στην περιοχή [80,110] δίνει τις εικόνες του παρακάτω Σχήματος 2.11(α) και (β). Το πρόγραμμα τεμαχισμού είναι το ακόλουθο. load spine; x=rescale(x); y=slice_im(x,80,110,'1'); imshow(y); y=slice_im(y,80,110,'2'); figure; imshow(y); 19
Παράδειγμα 2.1 (2) Σχήμα 2.11 Τεμαχισμός φωτεινότητας της εικόνας spine Σημείωση: Ο τεμαχισμός της φωτεινότητας δεν μπορεί να γίνει με την εντολή imadjust, για παράδειγμα imadjust(x,[a b],[0 1]), η οποία τοποθετεί τα όρια [a b] στα άκρα [0 1] και τροποποιεί τις ενδιάμεσες φωτεινότητες. 20
Ανάλυση σε δυαδικές εικόνες (1) Σχήμα 2.12 Ανάλυση εικόνας σε δυαδικές εικόνες 21
Ανάλυση σε δυαδικές εικόνες (2) Το πρόγραμμα με το οποίο μια εικόνα μπορεί να αναλυθεί σε δυαδικές εικόνες είναι το παράπλευρο. Η εικόνα woman αναλύεται σε δυαδικές εικόνες με το παρακάτω πρόγραμμα. Το Σχήμα 2.13 δείχνει την αρχική εικόνα και πέντε από τις οκτώ δυαδικές εικόνες, που δημιουργούνται από τους συντελεστές βάρους α 7, α 6, α 5, α 1, α 0 αντίστοιχα. 22
Ανάλυση σε δυαδικές εικόνες (3) Σχήμα 2.13 Ανάλυση της εικόνας woman σε δυαδικές εικόνες. (α) Αρχική εικόνα. (β) Δυαδική εικόνα από το συντελεστή α 7. (γ) Δυαδική εικόνα από το συντελεστή α 6. (δ) Δυαδική εικόνα από το συντελεστή α 5. (ε) Δυαδική εικόνα από το συντελεστή α 1. (στ) Δυαδική εικόνα από το συντελεστή α 0. Σημείωση: Η ανάλυση εικόνας σε δυαδικές εικόνες χρησιμοποιείται και στην κωδικοποίησή της. Έτσι, έχει αναπτυχθεί και άλλη συνάρτηση σε επόμενο κεφάλαιο. 23
Λογαριθμική συμπίεση της κλίμακας φωτεινότητας (1) 24
Λογαριθμική συμπίεση της κλίμακας φωτεινότητας (2) Σχήμα 2.14 Λογαριθμική συμπίεση της δυναμικής περιοχής φωτεινότητας της εικόνας Lenna. (α) Αρχική εικόνα. (β) Γραμμική προσαρμογή της δυναμικής περιοχής. (γ) Λογαριθμική προσαρμογή της δυναμικής περιοχής. 25
Λογαριθμική συμπίεση της κλίμακας φωτεινότητας (3) Σχήμα 2.15 Λογαριθμική συμπίεση της δυναμικής περιοχής φωτεινότητας 26
Εκθετική συμπίεση της κλίμακας φωτεινότητας (1) 27
Εκθετική συμπίεση της κλίμακας φωτεινότητας (2) Σχήμα 2.16 Εκθετική συμπίεση φωτεινότητας για διάφορες τιμές του συντελεστή συμπίεσης γ 28
Εκθετική συμπίεση της κλίμακας φωτεινότητας (3) Σχήμα 2.17 Μεταβολή της απεικόνισης της εικόνας woman μετά από εκθετική συμπίεση με γ=5. (α) Αρχική εικόνα. (β) Εικόνα μετά από την εκθετική συμπίεση. 29
Πράξεις επί των εικόνων (1) 30
Πράξεις επί των εικόνων (2) Σχήμα 2.18 Λογική πράξη επί μιας εικόνας για την απομόνωση μιας περιοχής της. 31
Πράξεις επί των εικόνων (3) Σχήμα 2.19 Διαφορά μεταξύ των εικόνων ενός στερεοσκοπικού ζεύγους. (α) Αριστερή και δεξιά εικόνα. (β) Η διαφορά τους. 32
Εξισορρόπηση ιστογράμματος (1) 33
Εξισορρόπηση ιστογράμματος (2) Σχήμα 2.20 Η εικόνα sphere και το ιστόγραμμά της. (α) Η εικόνα. (β) Το ιστόγραμμά της. 34
Εξισορρόπηση ιστογράμματος (3) 35
Εξισορρόπηση ιστογράμματος (4) Σχήμα 2.21 Κανονικοποιημένο ιστόγραμμα και αθροιστική συνάρτηση πιθανότητας της εικόνας sphere. 36
Εξισορρόπηση ιστογράμματος (5) Σχήμα 2.22 Η εικόνα sphere και το ιστόγραμμά της μετά την εξισορρόπησή του. (α) Η εικόνα. (β) Το ιστόγραμμά της. 37
Εξισορρόπηση ιστογράμματος (6) 38
Προσαρμογή σε δεδομένο ιστόγραμμα (1) 39
Προσαρμογή σε δεδομένο ιστόγραμμα (2) Σχήμα 2.23 Διαδικασία προσαρμογής εικόνας σε δεδομένο ιστόγραμμα. (α) Ιστόγραμμα αρχικής εικόνας. (β) Αθροιστική συνάρτηση πιθανότητας αρχικής εικόνας. (γ) Δεδομένο ιστόγραμμα. (δ) Αθροιστική συνάρτηση πιθανότητας δεδομένου ιστογράμματος. 40
Προσαρμογή σε δεδομένο ιστόγραμμα (3) Σχήμα 2.24 Η εικόνα sphere μετά από εξισορρόπηση ιστογράμματος ή προσαρμογή σε δεδομένο ιστόγραμμα. (α-β) Εξισορρόπηση ιστογράμματος. (γ-δ) Προσαρμογή σε δεδομένο ιστόγραμμα. 41
Παράδειγμα 2.2 (1) Το πρόγραμμα υλοποίησης δείχνεται παράπλευρα. Το Σχήμα 2.25 δείχνει την πορεία αυτών των μετατροπών. Το (α) απεικονίζει την αρχική εικόνα forest, η οποία έχει το ιστόγραμμα (β). Μετά την προσαρμογή των επιπέδων φωτεινότητας στο διάστημα [0 128] προκύπτει η εικόνα (γ) με αντίστοιχο ιστόγραμμα το (δ). Η εικόνα αυτή προσαρμόζεται στο αρχικό ιστόγραμμα (β) και δίνει την εικόνα (ε) με ιστόγραμμα το (στ), που είναι ίδια με τα (α) και (β) αντίστοιχα. 42
Παράδειγμα 2.2 (2) Σχήμα 2.25 Η εικόνα forest μετά από προσαρμογή σε δεδομένο ιστόγραμμα. (α) Αρχική εικόνα. (β) Ιστόγραμμα αρχικής εικόνας. (γ) Εικόνα μετά από περιορισμό των επιπέδων φωτεινότητας. (δ) Ιστόγραμμα νέας εικόνας. (ε) Εικόνα μετά από προσαρμογή ιστογράμματος. (στ) Ιστόγραμμα μετά την προσαρμογή ιστογράμματος. 43
Τεχνικές χώρου - Φίλτρα(1) Η διαδικασία σύμφωνα με την οποία η τιμή κάθε pixel μιας εικόνας μπορεί να τροποποιηθεί σύμφωνα με έναν αλγόριθμο ο οποίος θα επενεργεί στα γειτονικά pixels του κάθε φορά εξεταζόμενου pixel καλείται χωρικό φιλτράρισμα και μπορεί να είναι γραμμικό ή μη γραμμικό ανάλογα με τη φύση του χρησιμοποιούμενου αλγορίθμου. 44
Τεχνικές χώρου - Φίλτρα(2) Εάν η μάσκα είχε όλους τους συντελεστές ίσους με 1, το Ι 1 ισούται με τη μέση τιμή όλων των γειτονικών pixels του πρώτου pixel της εικόνας εισόδου. Σε αυτή τη διαδικασία, συνήθως υπάρχει πρόβλημα με τα pixels που ευρίσκονται στα όρια της εικόνας. Μία περίπτωση είναι τα pixels που δεν υπάρχουν να θεωρούνται μηδενικής τιμής (zero padding). Αυτό προφανώς δημιουργεί παραμόρφωση στα όρια της εικόνας. Άλλη περίπτωση είναι η συμμετρική (symmetric padding) ή η περιοδική επέκταση (periodic padding). 45
Παράδειγμα 2.3(1) 46
Παράδειγμα 2.3(2) Στη πρώτη περίπτωση το γραμμικό φίλτρο καλείται φίλτρο μέσης τιμής (averaging filter), ενώ στη δεύτερη περίπτωση όπου κάποιοι συντελεστές της μάσκας έχουν διαφορετικές τιμές από τη μονάδα, το φίλτρο καλείται ειδικών βαρών μέσης τιμής (weighting average filter). Στο τελευταίο φίλτρο κάποια pixels επιδρούν περισσότερο από άλλα στη διαμόρφωση της μέσης τιμής. Αυτός ο τύπος φίλτρων είναι η συσχέτιση (correlation) της εικόνας εισόδου με την αντίστοιχη μάσκα. Ένας άλλος τύπος είναι η συνέλιξη (convolution) της εικόνας εισόδου με τη μάσκα. Σε αυτήν την περίπτωση, η μάσκα περιστρέφεται κατά 180 0 και στη συνέχεια συσχετίζεται με την εικόνα εισόδου όπως περιγράφεται παραπάνω. Εάν η μάσκα έχει συμμετρική μορφή, οι δυο μέθοδοι δίνουν το ίδιο αποτέλεσμα. Οι δυο παραπάνω μάσκες είναι συμμετρικές 47
Γραμμικά φίλτρα (1) Μια συνάρτηση η οποία δημιουργεί γραμμικό φιλτράρισμα με τον παραπάνω τρόπο στο Matlab είναι η εξής: y = imfilter ( x, mask, mode, padd ) Όπου y = εικόνα εξόδου, x = εικόνα εισόδου, mask = πίνακας μάσκας, mode = corr ή conv και padd=μια τιμή (default=0) με την οποία συμπληρώνει την περιφέρεια. Συνήθως η τιμή αυτή είναι το μηδέν (zero padding). = replicate επανάληψη των τιμών που ευρίσκονται στα όρια της εικόνας. = symmetric συμμετρικές τιμές ως προς το τέλος της εικόνας. = circular περιοδική επανάληψη της εικόνας μετά τα όρια. 48
Γραμμικά φίλτρα (2) Παράδειγμα 2.3 Δημιουργούμε μια ασπρόμαυρη εικόνα, Σχήμα 2.26, και χρησιμοποιούμε την παραπάνω συνάρτηση γραμμικού φιλτραρίσματος. Η μάσκα η οποία χρησιμοποιείται είναι αυτή της μέσης τιμής, διαστάσεων 7 7. Ο τρόπος φιλτραρίσματος είναι η συσχέτιση (μέση τιμή) και δοκιμάζονται όλοι οι τρόποι τελειώματος της εικόνας. >> x=zeros(128); >> x(:,1:64)=1; >> imshow(x); >> mask=ones(7); >> y1=imfilter(x,mask,'corr'); >> figure; >> imshow(y1,[]); >> y2=imfilter(x,mask,'replicate'); >> figure; >> imshow(y2,[]); >> y3=imfilter(x,mask,'symmetric'); >> figure; >> imshow(y3,[]); >> y4=imfilter(x,mask,'circular'); >> figure; >> imshow(y4,[]); 49
Γραμμικά φίλτρα (3) Με το zero padding (προσθήκη μαύρου στα όρια) δημιουργούνται θολές περιοχές μεταξύ άσπρου και μαύρου. Το replicate και το symmetric συμπεριφέρονται ίδια και διορθώνουν το παραπάνω πρόβλημα. Το circular δημιουργεί το ίδιο πρόβλημα με την πρώτη περίπτωση μόνο εκεί που η περιοδικότητα δημιουργεί εναλλαγή άσπρου και μαύρου. Σχήμα 2.26 Γραμμικό φιλτράρισμα. (α) Εικόνα εισόδου. (β) Zero padding. (γ) Replicate. (δ) Symmetric padding. (ε) Circular. 50
Γραμμικά φίλτρα (4) Η συνάρτηση H συνάρτηση του Matlab η οποία παρέχει τη μάσκα που πρόκειται να χρησιμοποιήσει η imfilter είναι: y = fspecial ( type, parameters ) Όπου type = average, disk, gaussian, laplacian, log, motion, prewitt, sobel, unsharp και parameters είναι οι σταθερές που προσδιορίζουν το συγκεκριμένο τύπο φίλτρου. Μια συνηθισμένη μέθοδος εμπλουτισμού μιας εικόνας είναι το φιλτράρισμα με μάσκα Laplacian. Ο τελεστής Laplacian ορίζεται ως εξής (βλ.2.13): Όπου οι δεύτερες παράγωγοι της συνάρτησης f έχουν την εξής μορφή σε διακριτή μορφή(βλ.2.14): Παράδειγμα 2.4 51
Γραμμικά φίλτρα (5) Επομένως ο τελεστής Laplacian σε διακριτή μορφή είναι: Η μορφή του σαν πίνακας είναι η εξής: 52
Γραμμικά φίλτρα (6) Η μορφή του σαν πίνακας είναι η εξής: Το πρόγραμμα με το οποίο γίνεται το φιλτράρισμα της εικόνας moon είναι το ακόλουθο. >> mask=fspecial('laplacian',0); >> mask mask = 0 1 0 1-4 1 0 1 0 >> x=imread('moon.tif'); >> x=im2double(x); >> imshow(x,[]); >> figure; >> y1=imfilter(x,mask,'replicate'); >> imshow(y1,[]); >> y2=x-y1; >> figure; >> imshow(y2,[]); 53
Γραμμικά φίλτρα (7) Η δεύτερη παράγωγος και επομένως ο τελεστής Laplacian αναδεικνύει τις απότομες μεταβολές φωτεινότητας σε μια εικόνα (sharpening) ενώ εξομαλύνει τις περιοχές ομαλής μεταβολής της φωτεινότητας. Αυτό φαίνεται και στο Σχήμα 2.27. Σχήμα 2.27 Φιλτράρισμα της εικόνας moon με το Laplacian φίλτρο το οποίο αναδεικνύει τις ακμές των αντικειμένων. Η μεσαία εικόνα είναι αυτή που προκύπτει από το φιλτράρισμα και στην οποία έχουν ομογενοποιηθεί όλες οι περιοχές ομαλής μεταβολής της φωτεινότητας. Για να πάρουμε καθαρή εικόνα με τονισμένες τις ακμές αφαιρούμε από την αρχική εικόνα αυτή που προέκυψε από το φιλτράρισμα. 54
Παράδειγμα 2.5 (1) 55
Παράδειγμα 2.5 (2) Σχήμα 2.28 Εικόνα μετά από φιλτράρισμα με τελεστή Sobel ο οποίος προσεγγίζει την πρώτη παράγωγο κατά την κάθετη κατεύθυνση. 56
Μη γραμμικά φίλτρα (1) Η τιμή του τρέχοντος pixel υπολογίζεται με ένα μη γραμμικό τρόπο από τα γειτονικά του pixels. Το πιο γνωστό από αυτά είναι το φίλτρο median, το οποίο υπολογίζει αν τιμή του τρέχοντος pixel τη μεσαία τιμή από τα γειτονικά του. Το φίλτρο αυτό χρησιμοποιείται για την απαλοιφή θορύβου τύπου salt and pepper, ο οποίος εμφανίζεται σαν μαύρα και άσπρα σημάδια σε μια εικόνα. Για την εύρεση της μεσαίας τιμής σε μια γειτονιά 3 3, πρώτα όλα τα στοιχεία ταξινομούνται κατά αύξουσα σειρά και μετά επιλέγεται το πέμπτο κατά σειρά στοιχείο, το οποίο ως μεσαία τιμή τοποθετείται στη θέση του κεντρικού στοιχείου της γειτονιάς. Το φίλτρο αυτό υποχρεώνει τα στοιχεία με διαφορετικότητα να πάρουν τιμή περίπου ίδια με τα γειτονικά τους. 57
Μη γραμμικά φίλτρα (2) Στο Matlab το φίλτρο median παρέχεται με τη συνάρτηση: y = medfilt2 ( x, [m n], pad) Όπου [m n] είναι η γειτονιά (π.χ. 3 3) και pad είναι ο τρόπος υπολογισμού στα όρια της εικόνας ( zero ή symmetric ). Παρακάτω προστίθεται θόρυβος τύπου salt and pepper σε μια εικόνα και εφαρμόζεται ένα φίλτρο median για την αντιμετώπισή του. 58
Μη γραμμικά φίλτρα (2) >> x=imread('cameraman.tif'); >> x1=imnoise(x,'salt & pepper',0.2); >> y=medfilt2(x1,[3 3],'zero'); >> y1=medfilt2(x1,[3 3],'symmetric'); >> imshow(x); >> figure; >> imshow(x1); >> figure; >> imshow(y); >> figure; >> imshow(y1); Σχήμα 2.29 Εικόνα μετά από φιλτράρισμα με φίλτρο τύπου median με μηδενική ή συμμετρική επέκταση στα όριά της. 59
Τετραδικό δέντρο (1) Η ανάλυση σε τετραδικό δέντρο (QTD-Quad Tree Decomposition) διαιρεί μια εικόνα σε υπο-εικόνες σύμφωνα με κάποιο κριτήριο. Στο Matlab πραγματοποιείται με τη συνάρτηση qtdecomp ως εξής: S = qtdecomp (x, thr, mindim) S=Πίνακας ο οποίος περιέχει τις συντεταγμένες των κορυφών των υποεικόνων x=εικόνα εισόδου thr=κατώφλι διάσπασης με τιμή στο διάστημα [0 1]-Εάν η μέγιστη μείον την ελάχιστη φωτεινότητα μιας υπο-εικόνας υπερβαίνει το κατώφλι thr τότε πραγματοποιείται διάσπαση. Mindim=Ελάχιστο μέγεθος υπο-εικόνας (π.χ. 8Χ8) 60
Τετραδικό δέντρο (2) Η απεικόνιση του τετραδικού δέντρου γίνεται με τη συνάρτηση qtgetblk ως εξής: [vals, r, c]=qtgetblk (x, S, dim) Vals=τρισδιάστατος πίνακας με όλες τις υπο-εικόνες r, c=οι κορυφές των υπο-εικόνων dim=διαστάσεις υπο-εικόνων 61
Τετραδικό δέντρο (3) 62
Τετραδικό δέντρο (4) Το κριτήριο διάσπασης μπορεί να δίνεται από μια συνάρτηση: S = qtdecomp (x, @fun, parameters) fun=η συνάρτηση η οποία δημιουργεί το διάνυσμα διάσπασης με λογικές τιμές 0 ή 1 σύμφωνα με κάποιο κριτήριο. Το παρακάτω παράδειγμα χρησιμοποιεί τη συνάρτηση splitfun η οποία υπολογίζει την τυπική απόκλιση κάθε υπο-εικόνας και τη συγκρίνει με μια τιμή κατωφλίου. Η συνάρτηση επιστρέφει μια σειρά λογικών 0 (δεν διαιρείται άλλο) και 1 (διαιρείται), όσα και ο αριθμός των υπο-εικόνων, τα οποία δείχνουν ποιες υπο-εικόνες θα διαιρεθούν στη συνέχεια. Η ελάχιστη διάσταση διάσπασης εμπεριέχεται στη συνάρτηση και επηρεάζει το διάνυσμα εξόδου. 63
Τετραδικό δέντρο (5) 64
Βιβλιογραφία 1. N. Η. Παπαμάρκος, Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας, Δημοκρίτειο, Ξάνθη 2001. 2. Σ. Δ. Κόλλιας, Επεξεργασία, Ανάλυση και Τεχνολογία Εικόνων και Βίντεο, Σημειώσεις ΕΜΠ, Αθήνα 2001. 3. I. Pitas, Digital Image Processing Algorithms, Prentice Hall, 1992. 4. R. C. Gonzalez, R. E. Woods, Digital Image Processing, Prentice Hall, 2 nd Edition 2002. 5. R. C. Gonzalez, R. E. Woods, S. L. Eddins, Digital Image Processing Using MATLAB, Prentice Hall. 6. A. K. Jain, Fundamentals of Digital Image Processing, Prentice Hall, 1989. 65
Τέλος Ενότητας