660 likes | 852 Views
ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Τμήμα Πληροφορικης & Επικοινωνιών - ΤΕΙ ΣΕΡΡΩΝ Δρ.Χ.Στρουθόπουλος. Οι στόχοι της ΨΕΕ είναι οι εξής: Η ψηφιοποίηση και κωδικοποίηση εικόνων με σκοπό την αποθήκευση, μετάδοση και εκτύπωσή τους.
E N D
ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ Τμήμα Πληροφορικης & Επικοινωνιών - ΤΕΙ ΣΕΡΡΩΝ Δρ.Χ.Στρουθόπουλος
Οι στόχοι της ΨΕΕ είναι οι εξής: • Η ψηφιοποίηση και κωδικοποίηση εικόνων με σκοπό την αποθήκευση, μετάδοση και εκτύπωσή τους. • Η βελτίωση και η αποκατάσταση των εικόνων με σκοπό την καλύτερη απεικόνισή τους. • Η ανάλυση και κατανόηση των εικόνων
Η ΨΕΕ συνεργάζεται με τους παρακάτω επιστημονικούς κλάδους: • Ψηφιακή Επεξεργασία Σημάτων (ΨΕΣ) • Ρομποτική όραση • Τεχνητή Νοημοσύνη • Αναγνώριση Προτύπων • Νευρωνικά Δίκτυα • Ασαφής Λογική • Κωδικοποίηση • Γραφικά Η/Υ
Η μετατροπή μιας εικόνας σε ψηφιακή μορφή ουσιαστικά είναι η μετατροπή ενός δισδιάστατου αναλογικού σήματος σε ψηφιακό και απαιτεί τις διαδικασίες της δειγματοληψίας και του κβαντισμού.
Η ΨΗΦΙΑΚΗ ΕΙΚΟΝΑ Εικονοστοιχείο (picture element, pixel, pel) Η τιμή I(j,k) με k=0,1,2….K-1 και j=0,1,2….J-1 είναι ο κωδικός του χρώματος του εικονοστοιχείου στην θέση (k,j) της ψηφιακής εικόνας J πλήθος γραμμών Κ πλήθος στηλών JxK πλήθος εικονοστοιχείων
ΕΙΔΗ ΨΗΦΙΑΚΩΝ ΕΙΚΟΝΩΝ Δυαδικές εικόνες (binary images) I(k,j){0,1} Εικόνες αποχρώσεων του γκρι (graylevelimages) I(k,j)=0,1,...255 Eγχρωμες εικόνες (colorimages): κάθε εικονοστοιχείο χρωματίζεται με χρώματα που προέρχονται από την ανάμειξη των αποχρώσεων του κόκκινου, πράσινου και μπλε (RGB). I(k.j)=(IR(k,j), IG(k,j), IB(k,j)) IR(k,j), IG(k,j), IB(k,j){0,1,2,...,255}
Το σύνολο των χρωμάτων που μπορούν να χρησιμοποιηθούν για τον χρωματισμό των εικονοστοιχείων της εικόνας λέγεται χρωματικήπαλέτα. Εάν Cείναι το πλήθος των χρωμάτων, τότε για την κωδικοποίησή τους απαιτούνται Β bits και ισχύουν οι σχέσεις: C=2B B=log2C Το Β ονομάζεται βάθοςbit(bitdepth)της ψηφιακής εικόνας. Εάν η εικόνα έχει Κ στήλες και J γραμμές τότε για την απεικόνισή της απαιτούνται JKBbits. Ο παρακάτω πίνακας παρουσιάζει ενδεικτικές τιμές των παραπάνω μεγεθών.
ΕΥΚΡΙΝΕΙΑ ΕΙΚΟΝΑΣ J K J ΜΟΝΑΔΕΣ pixels/mm2 dpi ( dots per inch : κουκίδες ανά ίντσα) Φαινόμενο της σκακιέρας K
ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΔΥΑΔΙΚΕΣ ΕΙΚΟΝΕΣ Κέντρο Βάρους
1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 (0,3),(7,2) (5,2),(9,2) (0,5),(7,3) (0,2),(8,9) (5,6),(9,10) (0,4),(7,9) 3,4,2,2 0,5,2,2,2 5,2,3,1 Κωδικοποίηση κατά μήκος διαδρομής (Run Length encoding, RLE) Συστοιχία Συνεκτικά και μη συνεκτικά συστατικά (χωρία), (connected components) Μη συνδεδεμένο χωρίο (not connected component) Συνδεδεμένο χωρίο (connected component)
2 3 1 0 4 5 7 6 Κωδικοποίηση αλυσίδας (chain coding) Εκκίνηση από (2,2) 0, 0, 0, 0, 0, 7, 6, 6, 6, 6, 7, 6, 4, 3, 5, 4, 4, 4, 4, 2, 3, 2, 2, 2, 2, 1. Υπογραφή (signature)
ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΕΙΚΟΝΕΣΑΠΟΧΡΩΣΕΩΝ ΤΟΥ ΓΚΡΙ
250 250 100 100 250 50 100 10 250 50 100 10 250 100 250 100 250 250 250 250 10 250 50 50 ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΕΙΚΟΝΕΣΑΠΟΧΡΩΣΕΩΝ ΤΟΥ ΓΚΡΙ Ιστόγραμμα
ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΕΙΚΟΝΕΣΑΠΟΧΡΩΣΕΩΝ ΤΟΥ ΓΚΡΙ Ιστόγραμμα
10 g 10 H(g) 14 h(g) 14 P(g) 14 g΄ 14 10 2 14 25 2/15 25 2/15 25 255*2/15 = 34 14 25 26 5 27 5/15 27 7/15 27 255*7/15 = 119 25 4 4/15 11/15 255*11/15 = 187 26 1 1/15 12/15 255*12/15 = 204 27 3 3/15 15/15 255*15/15 = 255 ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΕΙΚΟΝΕΣΑΠΟΧΡΩΣΕΩΝ ΤΟΥ ΓΚΡΙ Βελτίωση εικόνας με εξισορρόπηση του ιστογράμματος P(g) = P(g-1)+ h(g). I΄(k,j) = [(G-1)P(I(k,j)]
ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΙΣ ΕΙΚΟΝΕΣΑΠΟΧΡΩΣΕΩΝ ΤΟΥ ΓΚΡΙ Βελτίωση εικόνας με εξισορρόπηση του ιστογράμματος Παράδειγμα 1ο
Βελτίωση εικόνας με εξισορρόπηση του ιστογράμματος Παράδειγμα 2ο
Κατωφλίωση και πολυκατωφλίωση Συχνά τα εικονοστοιχεία ενός αντικειμένου μιας εικόνας παίρνουν τιμές σε ένα μικρό διάστημα αποχρώσεων. Αυτό οδηγεί συνήθως στη δημιουργία ενός τοπικού μέγιστου στην περιοχή του ιστογράμματος της εικόνας. Η εύρεση τέτοιων τοπικών μεγίστων διευκολύνει τον εντοπισμό των αντικειμένων της εικόνας και την απόδοσή της με λιγότερες κύριες αποχρώσεις. Παρακάτω θα περιγράψουμε διάφορες τεχνικές για τον καθορισμό τιμών του πεδίου των αποχρώσεων μεταξύ των οποίων εμφανίζονται τοπικά μέγιστα του ιστογράμματος. Οι τιμές αυτές λέγονται κατώφλια.
Μετατροπή εικόνας αποχρώσεων του γκρι με δυαδική κατωφλίωση g Τ C1 C2
Κατωφλίωση - Μέθοδος της διασποράς (Otsu) p1+p2=1. μ2 μ1 μ=p1μ1+p2μ2 t=107
Κατωφλίωση - Μέθοδος της Εντροπίας (Kapur) t=111
w0 I(x,y) wj-2 w1 wj+2 wj-1 wj+1 wj x I wJ-1 Γειτονιά του j νευ- ρώνα για d(t)=2 Πολυκατωφλίωση – ΝΔ Kohonen oc(t) = min{oj(t)} wj(t+1)=wj(t)+Δwj(t)
Μ έ θ ο δ ο ς Πλήθος κατωφλίων ΝΔ Kohonen Reddi Kapur Παπαμάρκου 1 T0 164 164 42 114 2 T0 T1 151 227 112 191 42 210 167 226 3 T0 T1 T2 106 179 229 97 149 205 42 139 210 117 184 227 4 T0 T1 T2 T3 106 178 224 237 95 142 192 230 42 118 164 210 117 184 227 - Πολυκατωφλίωση Συγκριτικά αποτελέσματα
Εύρεση ακμών Σε μια εικόνα αποχρώσεων του γκρι υπάρχουν περιοχές εικονοστοιχείων με απότομη αύξηση της φωτεινότητας. Οι περιοχές αυτές βρίσκονται στα όρια των τμημάτων της εικόνας που έχουν σημαντικά διαφορετικές αποχρώσεις. Η ανίχνευση των ορίων αυτών λέγεται προσδιορισμός των ακμών της εικόνας (edge detection). Η ανίχνευση ακμών είναι εξαιρετικά χρήσιμη εργασία στην ανάλυση των εικόνων διότι μέσω αυτής προσδιορίζονται τα περιγράμματα των αντικειμένων της εικόνας. Υπάρχει πληθώρα αλγορίθμων που αφορούν την επίλυση του προβλήματος, όμως όλοι βασίζονται στην έννοια της κλίσης της συνάρτησης φωτεινότητας Ι(k,j) στη θέση (k, j) ενός εικονοστοιχείου της εικόνας. Το αποτέλεσμα της όλης εργασίας είναι μια νέα δυαδική εικόνα, ιδίων διαστάσεων με την αρχική, όπου τα εικονοστοιχεία του αντικειμένου είναι οι ακμές της αρχικής εικόνας, Στο ακόλουθο σχήμα φαίνονται σε μία διάσταση, τύποι ακμών που διαφέρουν ως προς την κλίση τους.
Εύρεση ακμών με τον τελεστή Laplace 1K(k+1,j)- 1K(k,j)= I(k+1,j)-I(k,j)-( I(k,j)-I(k-1,j))= I(k+1,j)-2I(k,j)+I(k-1,j) 1J(k,j+1)- 1J(k,j)= I(k,j+1)-I(k,j)-( I(k,j)-I(k,j-1))= I(k,j+1)-2I(k,j)+I(k,j-1)
0 0.6 1 1 1 0 0 \ 0.08 0.16 0.4 0.32 0 1 0 1 1 0 Συμπίεση ψηφιακών εικόνων Κωδικοποίηση HUFFMAN • Ευκρινής • Μονοσήμαντος • Στιγμιαία αποκωδικοποιήσιμος Για την εικόνα του παραδείγματος απαιτούνται 1×5+1×5+2×4+4×3+7×2+5×2+5×2=54 bits αντί των 25×3=75 bits που απαιτούνται για κωδικές λέξεις σταθερού μήκους τριών bits (3=[log27]+1)
Μετασχηματισμός συνημιτόνου Έστω οι ακολουθίες τιμών για n=0,1,2
n: 0 1 2 Η οικογένεια των συναρτήσεων είναι ορθοκανονική
n=1 F0 g0 n=2 f g2 F2 F1 n=0 g1
Επειδή η βάση είναι ορθοκανονική (επειδή η βάση είναι ορθοκανονική)
Η οικογένεια των συναρτήσεων είναι ορθοκανονική
Σε μία ψηφιακή εικόνα με Ν1 στήλες και Ν2 γραμμές η τιμή απόχρωσης είναι μία ακολουθία Ι(n1,n2), n1=0,1,…,N1-1, n2=0,1,…,N2-1. Η ορθοκανονική βάση του διδιάστατου μετασχηματισμού συνημιτόνου είναι:
Συμπίεση εικόνας με τη χρήση του ΜΣ Ο μονοδιάστατος και διδιάστατος ΜΣ σε γlώσσα C #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<math.h> #include<alloc.h> /*-------------------------------------------------------------------------*/ float dct1d(int k, float *x, int N) { int n; float c=0.0; if( k == 0 ) { for( n = 0; n < N; n++) c += x[n]; return c/sqrt((float)N); } for( n = 0; n < N; n++) c += x[n]*cos(M_PI*k*(2*n+1)/(2*N)); return c/sqrt((float)N/2); } /*-------------------------------------------------------------------------*/ float idct1d(int n, float *c, int N) { int k; float x=0; for( k = 1; k < N; k++) x += c[k]*cos(M_PI*k*(2*n+1)/(2*N)); return c[0]/sqrt((float)N) + x/sqrt((float)N/2); } /*-------------------------------------------------------------------------*/ float dct2d(int k1, int k2, float *x, int N1, int N2) { int n1; float *c, cc; char buf[20]; c = (float*)malloc(N1*sizeof(float)); for(n1 = 0; n1<N1; n1++) c[n1]= dct1d(k2,&x[n1*N2],N2); cc = dct1d(k1,c,N1); free(c); return cc; } /*-------------------------------------------------------------------------*/ float idct2d( int n1, int n2, float *c, int N1, int N2) { float *x, xx; int k1; x = (float*)malloc(N1*sizeof(float)); for(k1 = 0; k1<N1; k1++) x[k1]= idct1d(n2,&c[k1*N2],N2); xx = idct1d(n1,x,N1); free(x); return xx; } Ανακατασκευή με 8 συντελεστές
ρ A y (ε) ρ Ο θ θ (β) x Σχήμα 8. (α) Ο μετασχηματισμός του Hough ρ = x συνθ + y ημθ ρν = xκ συνθν + yκ ημθν