ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ Ενότητα 5: Μετασχηματισμοί Εικόνας Ιωάννης Έλληνας Τμήμα Υπολογιστικών Συστημάτων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2
1. Σκοποί ενότητας... 4 2. Περιεχόμενα ενότητας... 4 3. Μετασχηματισμός Fourier... 5 3.1 1 η Άσκηση... 5 3.2 2 η Άσκηση... 6 3.3 3 η Άσκηση... 6 3.4 4 η Άσκηση... 8 4. Μετασχηματισμός DCT... 9 4.1 1 η Άσκηση... 9 4.2 2 η Άσκηση... 9 5. Μετασχηματισμός wavelets... 10 5.1 1 η Άσκηση... 10 5.2 2 η Άσκηση... 11 5.3 3 η Άσκηση... 11 5.4 4 η Άσκηση... 12 5.5 5 η Άσκηση... 13 5.6 6 η Άσκηση... 14 3
1. Σκοποί ενότητας Σκοπός της ενότητας είναι να να εξετάσει τους μετασχηματισμούς των εικόνων Fourier, DCT και κυματιδίων και τις βασικές τους εφαρμογές και να κληθεί ο εκπαιδευόμενος να λύσει πρακτικές ασκήσεις. 2. Περιεχόμενα ενότητας H ενότητα αυτή περιλαμβάνει βασικές έννοιες που καλύπτουν τα ακόλουθα: Μετασχηματισμός Fourier Εφαρμογές Μετασχηματισμού Fourier Μετασχηματισμός DCT Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG Μετασχηματισμός κυματιδίων Εφαρμογή του DWT στη συμπίεση εικόνων Εφαρμογή του DWT στην απαλοιφή θορύβου Με τις αντίστοιχες ασκήσεις για λύση που καλύπτουν τις παραπάνω θεματικές. 4
3. Μετασχηματισμός Fourier 3.1 1 η Άσκηση Δημιουργείστε ένα τετραγωνικό παλμό δυο διαστάσεων με το πρόγραμμα που δίνεται στη θεωρία. Μετασχηματίστε κατά Fourier με προσθήκη μηδενικών μέχρι τη διάσταση 256Χ256 και δημιουργήστε απεικόνιση του μέτρου και του λογαρίθμου του μέτρου χωρίς ολίσθηση της DC συνιστώσας και με ολίσθησή της. Τι παρατηρείτε; Μέτρο χωρίς ολίσθηση Λογάριθμος μέτρου χωρίς ολίσθηση Μέτρο με ολίσθηση Λογάριθμος μέτρου με ολίσθηση 5
3.2 2 η Άσκηση Με την εντολή mesh(abs(f2)), όπου F2 είναι ο μετασχηματισμός μετά από ολίσθηση της συνεχούς συνιστώσας, απεικονίστε το γράφημα. Τι παρατηρείτε; Γράφημα 3.3 3 η Άσκηση Δημιουργείστε την απόκριση ενός δισδιάστατου χαμηλοπερατού φίλτρου (κατ αναλογία του φίλτρου διέλευσης ζώνης που υπάρχει στις σημειώσεις θεωρίας). Με τις αντίστοιχες συναρτήσεις και τη βοήθεια του μετασχηματισμού Fourier απεικονίστε την απόκριση αυτού του φίλτρου. Στη διαδικασία δημιουργίας του φίλτρου χρησιμοποιείτε τα παράθυρα τύπου BOXCAR, HAMMING, BARTLETT, CHEBWIN. Τι παρατηρείτε; Απόκριση με BOXCAR Απόκριση με HAMMING 6
Απόκριση με BARTLETT Απόκριση με CHEBWIN 7
3.4 4 η Άσκηση Διαβάστε και απεικονίστε την εικόνα text.tif. Δημιουργείστε τη μάσκα w=x(35:47,34:45) (γράμμα o ), όπου x η προηγούμενη εικόνα και απεικονίστε την. Τρέξτε το παρακάτω πρόγραμμα: x=imread( letter.tif ); [h,w]=size(x); w=x(35:47,34:45); %letter o f=fft2(x); g=fft2(w,h,w) %DFT of w padded with zeros to x size z=conj(g); %conjugate for correlation r=real(ifft2(z.*f)); %correlation in space imshow(x); rs=rescale(r) %extend range to [0,255] figure;imshow(gs); %correlated image figure;imshow(gs>240); %show only large values of intensity Τι παρατηρείτε; Γιατί η συσχετισμένη εικόνα έχει αυτήν τη μορφή; Γιατί δεν ανιχνεύτηκαν τα κάθετα γράμματα; Πως θα προσδιορίσουμε τις συντεταγμένες των επιτυχών συσχετίσεων; 8
4. Μετασχηματισμός DCT 4.1 1 η Άσκηση Δημιουργείστε τον πίνακα μετασχηματισμού 8X8 με τη συνάρτηση C=dctmtx(8). Εμφανίστε τον στην οθόνη του υπολογιστή σας. Φορτώστε μια εικόνα (π.χ. cameraman.tif ) και δημιουργείστε ένα πίνακα A με διαστάσεις 8Χ8 από αυτήν την εικόνα (π.χ. Α=x(128:135,128:135)). Δημιουργείστε το B=C*A*C T και το Α1= C T *B*C. (α) Απεικονίστε και συγκρίνετε το Α με το Α1. (β) Τι αντιπροσωπεύει το Β και τι παρατηρείτε; (γ) Μηδενίστε την τελευταία γραμμή του Β και ανασυνθέστε το Α2. Απεικονίστε το και γράψτε τις παρατηρήσεις σας. Πίνακας Α Πίνακας Α1 Πίνακας Α2 4.2 2 η Άσκηση Διαβάστε την εικόνα woman.mat και εφαρμόστε το πρόγραμμα μετασχηματισμού DCT και αντίστροφου μετασχηματισμού που υπάρχει στη θεωρία. Χρησιμοποιείστε δυο μάσκες μηδενισμού των συντελεστών. Μια σαν του παραδείγματος της θεωρίας και μια δεύτερη που να μηδενίζει ακόμα περισσότερους συντελεστές μετασχηματισμού. Απεικονίστε τις αντίστοιχες εικόνες που προκύπτουν από τον 9
αντίστροφο μετασχηματισμό και τις ποιότητες (PSNR) των εικόνων. Σχολιάστε το αποτέλεσμα. Εικόνα 1 Εικόνα 2 5. Μετασχηματισμός wavelets 5.1 1 η Άσκηση Διαβάστε την εικόνα woman.mat. Αναλύστε την χρησιμοποιώντας τη συνάρτηση wavedec2 σε δυο επίπεδα (όπως και στο αντίστοιχο παράδειγμα της θεωρίας). Ανασυνθέστε την εικόνα με τη συνάρτηση waverec2. Υπάρχουν απώλειες στην ποιότητα της εικόνας; ΝΑΙ ΟΧΙ 10
5.2 2 η Άσκηση Με τις συναρτήσεις ddencmp και wdencmp κβαντίστε τους συντελεστές των υποζωνών μετασχηματισμού και μετά ανασυνθέστε την εικόνα. Απεικονίστε τις εικόνες και υπολογίστε PSNR και εντροπία. δυο Αρχική Εικόνα Ανασυσταθείσα Εικόνα PSNR = db Entropy = bits/pixel 5.3 3 η Άσκηση Ανασυνθέστε τις υποζώνες προσέγγισης και λεπτομέρειας του δευτέρου επιπέδου. Απεικονίστε τις και κάντε τις παρατηρήσεις σας. Υποζώνη προσέγγισης Υποζώνη οριζόντιας λεπτομέρειας 11
Υποζώνη κάθετης λεπτομέρειας Υποζώνη διαγώνιας λεπτομέρειας 5.4 4 η Άσκηση Ανασυνθέστε την αρχική εικόνα μόνο από την υποζώνη προσέγγισης του πρώτου επιπέδου (θεωρείστε τις υποζώνες λεπτομέρειας του πρώτου επιπέδου ως μηδενικές). Απεικονίστε την τελική εικόνα και υπολογίστε PSNR και εντροπία. Τι παρατηρείτε; 12
Αρχική Εικόνα Ανασυσταθείσα Εικόνα PSNR = db Entropy = bits/pixel 5.5 5 η Άσκηση Διαβάστε την εικόνα sinsin.mat, προσθέστε θόρυβο και με τη βοήθεια των συναρτήσεων ddencmp και wdencmp απεικονίστε την εικόνα χωρίς θόρυβο. Ποιες είναι οι τιμές των παραμέτρων που χρησιμοποιούν οι συναρτήσεις; Αρχική Εικόνα με θόρυβο Εικόνα χωρίς θόρυβο thr = keepapp = 13
5.6 6 η Άσκηση Διαβάστε την εικόνα sinsin.mat, προσθέστε θόρυβο και μεταβάλλεται τις παραπάνω τιμές των παραμέτρων. Παραδείγματος χάριν πολλαπλασιάστε την τιμή thr με 1.5 και δώστε στη μεταβλητή sorh την τιμή hard. Τι παρατηρείτε στην εικόνα; Εάν επιτρέψετε την εφαρμογή του thr και στην υποζώνη προσέγγισης (αλλάζοντας την τιμή της μεταβλητής keepapp), τι παρατηρείτε; Αρχική Εικόνα με θόρυβο Εικόνα χωρίς θόρυβο (thr,soft,keepapp=1) Εικόνα χωρίς θόρυβο (thr=1.5*thr,hard,keepapp=1) Εικόνα χωρίς θόρυβο (thr=1.5*thr,hard,keepapp=0) 14