7.9 Verso gli Operatori locali e globali
Transcript
7.9 Verso gli Operatori locali e globali
7.9. VERSO GLI OPERATORI LOCALI E GLOBALI 7.9 187 Verso gli Operatori locali e globali Gli operatori puntuali omogenei e non omogenei descritti, trasformano essenzialmente i livelli di grigio di una immagine per migliorarne la qualitá visiva e per attenuare in alcuni casi il rumore introdotto dalle irregolaritá dei sensori. Il contenuto informativo di una immagine é distribuito sui vari pixel che la compongono. I valori di livello di grigio di ciascun pixel varia dal nero al bianco e viceversa sulla base delle strutture presenti nell’immagine. L’informazione intrinseca presente nell’immagine puó essere associata alle strutture di base presenti che possono produrre spazialmente basse o alte variabilitá nei livelli di grigio. Una immagine priva di strutture presenterá pixel con livelli di grigio piú o meno con valori costanti. Quando vi sono diverse transizioni con brusche variabilitá nei livelli di grigio, si dice che l’immagine presenta alte frequenze spaziali dominanti. Viceversa, quando vi é una dominanza di transizioni con bassa variabilitá nei valori dei livelli di grigio, si dice che l’immagine presenta basse frequenze spaziali dominanti. La presenza nell’immagine di alte frequenze spaziali presuppone l’esistenza di piccole strutture con le dimensioni di uno o piú pixel in cui si verificano alte variazioni di livelli di grigio, normalmente causati dalla presenza di bordi, spigoli (Edge). La ricerca della presenza di particolari strutture nell’immagine, non puó essere realizzata con operatori puntuali, ma necessitano operatori che per ciascun pixel in esame, calcolano il nuovo valore di livello di grigio, in relazione al valore dei pixel nelle sue vicinanze. Per tale scopo sono richiesti operatori locali o globali che elaborano l’immagine di input per accentuare o rimuovere una banda di frequenze spaziali, cosı́ come per una particolare bassa o alta frequenza spaziale. Per l’analisi delle frequenze spaziali (orizzontali, verticali, obliqui) presenti nell’immagine, un metodo molto efficace consiste nell’eseguire una trasformata delle frequenze spaziali. Tale trasformata converte l’informazione dell’immagine dal dominio spaziale dei livelli di grigio al dominio delle frequenze (espresse in termini di modulo e fase). La piú diffusa é la trasformata di Fourier insieme ad altre (Hadamard, Haar, seno, coseno) di minore utilizzo (in precedenza é stata usata la trasformata alle componenti pricipali -o di Karhunen Loeve- per la rappresentativitá delle componenti significative di una immagine multi spettrale). Il vantaggio di tali trasformate consiste nel generare una nuova immagine che decompone e visualizza in modo significativo tutte le frequenze spaziali presenti nell’immagine di input. L’analisi nel dominio delle frequenze puó costituire un efficace strumento per capire le strutture geometriche presenti nell’immagine di origine. Le operazioni di elaborazione di immagini locali o globali che alterano il contenuto informativo di una immagine sono chiamate: • operatori di filtraggio numerico spaziale, se si manipolano le frequenze di base nel dominio spaziale (operatori locali); • operatori di filtraggio numerico nel dominio delle frequenze, se si manipolano direttamente nelle componenti delle trasformate (operatori globali). Le tecniche di filtraggio, possono essere usate, • per accentuare le caratteristiche presenti (estrazione di bordi, image sharpening) nell’immagine, • per migliorare la qualitá dell’immagine, per esempio, livellando opportunamente (smoothing) forti variazioni locali dei valori di livello di grigio. 188 7.9.1 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE Filtraggio numerico spaziale I filtri spaziali sono implementati attraverso il processo di convoluzione spaziale che elabora il valore del pixel sulla base dei valori dei pixel compresi in un suo intorno. Tale modello di elaborazione ha i fondamenti matematici derivanti dalla teoria dei sistemi lineari (operatori lineari) che assumono una importanza rilevante per l’analisi dei segnali ed immagini, e sono stati molto utilizzati nel campo delle telecomunicazioni. Filtro e Operatore sono parole che nel seguito sono usate in modo intercambiabile per indicare una trasformazione di una immagine in un’altra. Linearitá Tale trasformazione puó essere modellata attraverso un sistema lineare bidimensionale del tipo: IO (i, j) = O(I(i, j)) I(i, j) Input → O{·} Operatore Lineare → IO (i, j) Output dove l’operatore O{·} trasforma l’immagine di input I nell’immagine di output I0 . Gli operatori lineari sono definiti con il seguente principio della sovrapposizione. Definizione : Se I1 (i, j) e I2 (i, j) sono due immagini di dimensioni N × M pixel, a e b costanti arbitrarie, e O rappresenta un operatore che trasforma una immagine in un’altra con le stesse dimensioni, si dice che l’operatore O é lineare, se e solo se: O{a · I1 (i, j) + I2 (i, j)} = a · O{I1 (i, j)} + b · O{I2 (i, j)}. (7.46) La proprietá della sovrapposizione puó essere estesa a n immagini e rende l’operatore lineare molto utile nei problemi reali. Infatti, é possibile decomporre una immagine complessa in piú componenti derivando in tal modo i risultati dell’operatore e successivamente ricomporre i risultati globali dai risultati delle singole componenti. Se I2 (i, j) = 0 segue che O{a · I1 (i, j)} = a · O{I1 (i, j)}, chiamata proprietá di omogeneitá dell’operatore lineare O che ha il seguente significato: moltiplicando l’immagine di input I1 per una costante a, il sistema lineare risponde con il valore appropriato corrispondente all’input moltiplicato per la stessa costante a. Qualsiasi sistema che non soddisfa tali proprietá é detto non lineare e risulta complesso analizzarlo. Risposta impulsiva e funzione di trasferimento Con la proprietá di sovrapposizione degli operatori lineari dimostriamo se é possibile avere informazioni sulla natura dell’operatore applicato ad una immagine osservando soltanto l’immagine di output ottenuta. Per tale dimostrazione pensiamo decomposta l’immagine di input I(x, y) in componenti elementari. In questo modo possiamo pensare I come composta dalla somma di componenti di base, ossia ottenuta dalla definizione di funzione impulsiva delta di Dirac: I(i, j) = N −1 M −1 X X I(l, k) · δ(i − l, j − k) l=0 k=0 dove δ(l, k) = 0 l 6= 0, k 6= 0 (7.47) 7.9. VERSO GLI OPERATORI LOCALI E GLOBALI 189 δ(l, k) = 1 l = k = 0 I(l, k) indica il fattore peso della funzione impulsiva δ del pixel (l, k) dell’immagine. Se l’output di un sistema lineare é definito come: N −1 M −1 X X IO (i, j) = O{I(i, j)} = O{ I(l, k) · δ(i − l, j − k)} (7.48) l=0 k=0 Poichè l’operatore O é lineare, per la sovrapposizione delle componenti di output, possiamo scrivere XX IO (i, j) = O{I(l, k) · δ(i − l, j − k)}. (7.49) l k Inoltre, I(l, k) é indipendente da i e j, pertanto dalla proprietá di omogeneitá segue: IO (i, j) = N −1 M −1 X X l=0 k=0 I(l, k) · O{δ(i − l, j − k)} = −1 N −1 M X X I(l, k) · h(i, j; l, k) (7.50) l=0 k=0 dove la funzione h(i, j; l, k) é la risposta impulsiva dell’operatore lineare O. In altre parole, possiamo affermare che h(i, j; l, k) é la risposta impulsiva dell’operatore O in corrispondenza del pixel di input (impulso di input) alla posizione (i, j) dell’immagine di input. Nei sistemi ottici la risposta impulsiva é chiamata funzione di trasferimento del sistema (PSF point spread function). Questo risultato della teoria dei sistemi lineari é fondamentale e suggerisce che se é nota la risposta dell’operatore O ad un impulso, mediante l’equazione (7.50) puó essere calcolata la risposta a qualunque pixel I(i, j). L’operatore O é completamente caratterizzato dalla risposta impulsiva. Dato che gli operatori sono definiti in termini di PSF, la PSF di un operatore rappresenta ció che otteniamo se applichiamo l’operatore su una sorgente puntuale O{sorgente puntuale} = P SF ossia O{δ(i − l, j − k)} = h(i, j; l, k) dove δ(i − l, j − k) é una sorgente puntuale di luminositá 1 centrata nel punto (l, k). Una immagine é una collezione di sorgenti puntuali (pixels) ciascuno con un proprio valore di luminositá. Possiamo dire che un’immagine é la somma di queste sorgenti puntuali. La PSF esprime quanto del valore di input alla posizione (i, j) influenza il valore di output alla posizione (l, k). Invarianza spaziale L’operatore lineare O{·} con la relazione di input-output: IO (i, j) = O{I1 (i, j)} é chiamato spazialmente invariante oppure invariante alla traslazione (shift invariant) se la risposta dell’operatore non dipende esplicitamente dalla posizione nell’immagine. In altre parole, l’operatore O é invariante spazialmente se una traslazione in input causa anche una appropriata traslazione in output. 190 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE I(i,j) k l j i Figura 7.21: Decomposizione dell’immagine. Piano Immagine di Input Lente Piano Immagine di Output Figura 7.22: Sistema di visione a sorgente puntuale. Dai risultati precedenti considerando l’impulso di input all’origine (l, k) = 0, segue: h(i, j; l, k) = = = O{δ(i − l, j − k)} h(i − l, j − k; 0, 0) h(i − l, j − k) (7.51) dalla quale risulta che l’operatore O é spazialmente invariante se l’operazione eseguita sul pixel di input dipende solo dalle due traslazioni (i − l) e da (j − k) e non dalla posizione (i, j). Conseguentemente, la forma della risposta impulsiva non cambia quando l’attivitá si sposta nei vari pixel (i, j) (impulsi di input) dell’immagine di input. Se la (7.51) non é soddisfatta l’operatore lineare é detto variante spazialmente. Considerando valide congiuntamente le due proprietá, invarianza spaziale e sovrapposizione, si ha il seguente operatore lineare: IO (i, j) = N −1 M −1 X X h(i − l, j − k) · I(l, k) (7.52) l=0 k=0 che risulta essere l’operatore di convoluzione nel dominio spaziale tra l’immagine di input e la funzione di risposta impulsiva: IO (i, j) = h(i, j) ∗ I(i, j) (7.53) Si é dimostrato di essere l’unico operatore esistente lineare e invariante spazialmente. Gli operatori lineari, e quindi i filtri, con le proprietá di invarianza spaziale e sovrapposizione, possono essere usati per studiare una classe di fenomeni fisici e biologici. Nel campo della elaborazione delle immagini questa teoria é stata giá sperimentata quando si é studiato il processo di formazione dell’immagine con l’operazione di convoluzione, ed il sistema ottico é risultato completamente descritto dalla sua funzione di trasferimento. 7.10. CONVOLUZIONE SPAZIALE 191 Rumore r(i,j) j Operatore Lineare O() I(i,j) i + j IO(i,j) Caratterizzato dalla PSF Immagine di Input i Immagine di Output Figura 7.23: Schema di un operatore lineare O. Il processo di elaborazione digitale dell’immagine (operatore di filtraggio) ed il processo di formazione (processo fisico) sono entrambi descritti come operazioni di convoluzione, ossia sono realizzati da un processo fisico modellabile con un sistema lineare spazialmente invariante. La caratteristica fondamentale dei sistemi lineari consiste nel poter studiare gli effetti di un operatore applicato ad una immagine di input (ovvero ad un segnale con qualsiasi spettro bidimensionale) partendo solo dalla risposta impulsiva, ovvero la sua funzione di trasferimento XX δ(i, j) ∗ I(i, j) = δ(l, k) · I(i − l, j − k) = IO (i, j). (7.54) l k Nel caso della elaborazione dell’immagine, é possibile studiare la caratteristica di un operatore lineare applicandolo ad una immagine campione di cui si conosce a priori la sua struttura. Successivamente si analizza se l’immagine di output presenta o meno i risultati desiderati con quel particolare operatore applicato. La risposta impulsiva é l’output del sistema prodotto in risposta ad un impulso di input. Lo schema di un operatore lineare O é mostrato in figura 7.23. Le applicazioni reali, nel campo delle immagini, dei sistemi lineari, sono limitati a: • Filtraggio passa-alto, • Filtraggio passa-basso, • Filtraggio passa-banda Tali operazioni possono essere applicate sia operando nel dominio spaziale che in quello delle frequenze spaziali. 7.10 Convoluzione spaziale Vediamo ora come il processo di convoluzione puó essere realizzato. Primo aspetto, come combinare i valori dei livelli di grigio dei pixel nella vicinanza del pixel in elaborazione. Secondo aspetto, quanto deve essere grande l’area dei pixel di vicinanza interessati dall’operatore. Tale area é chiamata con uno dei seguenti nomi: finestra, kernel, maschera del filtro, o maschera di convoluzione. Normalmente viene scelta una maschera di forma quadrata rappresentata in forma matriciale con dimensioni variabili, per esempio 3 × 3, 5 × 5, ecc., ed il pixel in elaborazione che 192 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE riceve il risultato della convoluzione si trova posizionato al centro della finestra, a dimensioni dispari. L’operatore di convoluzione nel discreto opera come un processo lineare in quanto esegue la somma di elementi moltiplicati da valori costanti (somma pesata). Gli elementi sono i valori del livello di grigio in corrispondenza della maschera ed i valori costanti sono i pesi ossia i coefficienti di convoluzione meno remoti nella maschera. f(l) Input h(i−l) Speculare e traslata l Risposta Impulsiva l i Sovrapposizione di f ed h h(l) 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 f(l) h(i−l) i f(l) h(i−l) l l Speculare di h 11111111 00000000 g(i)= 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000i 11111111 h(0−l) l f(l) g(i−l) l l Figura 7.24: Operatore di convoluzione monodimensionale. 7.10.1 Convoluzione spaziale monodimensionale Per un sistema lineare invariante spazialmente, caratterizzato con risposta impulsiva h(i), in corrispondenza di un segnale di input monodimensionale f (i), il segnale di output g(i) é dato dalla convoluzione: X g(i) = f (i) ∗ h(i) = f (l) · h(i − l) (7.55) l Una rappresentazione grafica dell’operatore di convoluzione monodimensionale é mostrata in figura 7.24, dove sono evidenziati i risultati della convoluzione, calcolati in corrispondenza di alcuni valori di i. Dalla risposta impulsiva h(l) viene prima derivata la sua immagine speculare h(0 − l) rispetto all’origine, e poi viene traslata nel punto i ottenendo h(i − l). Rispetto al punto i é calcolata l’operazione di convoluzione eseguendo il prodotto punto per punto tra il segnale di input f (l) e la funzione speculare e traslata h(i − l) della risposta impulsiva h(l). L’operazione di convoluzione é ripetuta analogamente per altri punti i per ottenere dal sistema lineare il segnale di output completo. Ogni valore g(i), del segnale di output, dipende dal grado di sovrapposizione tra il segnale di input e la funzione caratteristica del sistema lineare che viene traslata per ogni valore di i (vedi figura 7.24). Come evidenziato nel grafico, il risultato della convoluzione g(i) rappresenta l’area di sovrapposizione tra la funzione di input e la risposta impulsiva. 7.11. CONVOLUZIONE SPAZIALE BIDIMENSIONALE 7.11 193 Convoluzione spaziale bidimensionale La convoluzione tra funzioni bidimensionali é ottenuta in modo analogo. Per convenienza l’immagine di input e di output sono scelte con identiche dimensioni, mentre la risposta impulsiva bidimensionale normalmente ha dimensioni limitate, a partire da finestre 3 × 3, e con valori dispari. Sempre per convenienza, il risultato della convoluzione nell’immagine di output g(i, j), si fa corrispondere con il pixel centrale della finestra quadrata in cui é definita la risposta impulsiva h(·) localizzato nel pixel (i, j). Il valore della convoluzione in corrispondenza del pixel (i, j) nell’immagine di output é ottenuta dalla somma del prodotto di pixel per pixel tra la funzione di input f (l, k) e la risposta impulsiva h(i − l, j − k), derivata da h(l, k) eseguendo prima una rotazione di 180◦ rispetto all’origine, ottenendo quindi h(0 − l, 0 − k), e successivamente traslata dall’origine alla posizione (i, j) (figura 7.25). k h(l,k) a b c l f(l,k) d e f g h i A B C D E F G H I j k h(l,k) a b c l f(i−l,j−k) g d e f h i A B C D E F G H I i j i f(i−l,j−k)*h(l,k) 111 000 Figura 7.25: Convoluzione bidimensionale. L’equazione di convoluzione bidimensionale é data da: g(i, j) = N −1 N −1 X X f (l, k)h(i − l, j − k) (7.56) l=0 k=0 considerando l’immagine di input f (i, j) e l’immagine di output g(i, j) di dimensioni N × N , mentre la risposta impulsiva é sempre definita con una finestra quadrata di dimensioni limitate L × L. In questo caso la sommatoria dell’operatore di convoluzione ha componenti nulle (prodotto f · g é zero) nelle zone di non sovrapposizione tra le funzioni f ed h. In pratica, il dominio di interesse é definito dalle dimensioni della risposta impulsiva h. Per la proprietá commutativa dell’operatore di convoluzione, l’equazione precedente puó essere espressa come segue: g(i, j) = N −1 N −1 X X l=0 k=0 f (i − l, j − k) · h(l, k) (7.57) 194 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE Queste ultime due equazioni, dell’operatore di convoluzione, suggeriscono che, prima del prodotto pixel per pixel, una delle due, l’immagine di input oppure la risposta impulsiva, puó essere ruotata di 180◦ e traslata indifferentemente. Per ragioni implementative é conveniente utilizzare operatori di convoluzione con equazioni della forma: r r X X g(i, j) = f (i − l, j − k) · h(l, k) (7.58) l=−r k=−r con la finestra relativa alla risposta impulsiva h(l, k) con gli indici l e k riferiti rispetto al pixel centrale h(0, 0). Le dimensioni L × L della finestra hanno valore dispari e con r = (L − 1)/2. Il valore della convoluzione g(i, j) nel punto (i, j) é calcolato solo per i pixel dell’immagine di input che si sovrappongono completamente con la finestra h il cui pixel centrale h(0, 0) é posizionato con il pixel (i, j) dell’immagine di input. Per semplicitá consideriamo un esempio di convoluzione spaziale dove la risposta impulsiva é rappresentata da una finestra 3×3 con i pixel contenenti valori discreti di una funzione gaussiana. In questo caso il pixel centrale h(0, 0) coincide con il picco della gaussiana che essendo simmetrica rispetto all’origine l’eventuale rotazione della funzione di input non avrebbe nessun effetto. Il valore della convoluzione g(i, j), applicata al pixel (i, j) é ottenuta posizionando il pixel centrale della maschera di convoluzione in (i, j), e la seguente espressione viene eseguita: g(i,j) = A · f (i − 1, j − 1) + B · f (i − 1, j) + C · f (i − 1, j + 1)+ D · f (i, j − 1) + E · f (i, j) + F · f (i, j + 1)+ G · f (i + 1, j − 1) + N · f (i + 1, j) + I · f (i + 1, j + 1) (7.59) dove f (i, j) é l’immagine di input, le costanti da A ed I indicano i coefficienti della convoluzione ossia i valori discreti risultati dal campionamento della risposta impulsiva h(i, j) dell’operatore stesso, e g(i, j) é l’immagine ottenuta applicando il processo di convoluzione. j f(i−1,j−1) i A B C D E F G H I f g(i,j) f(i+1,j+1) Figura 7.26: Schema dell’operazione di convoluzione. Questa operazione di convoluzione é ripetuta per tutti i pixel dell’immagine di input f (i, j) di dimensione N × N . L’operatore di convoluzione per l’intera immagine risulta: g(i, j) = r r X X l=−r k=−r f (i − l, j − k) · h(−l, −k) (7.60) 7.11. CONVOLUZIONE SPAZIALE BIDIMENSIONALE 195 dove la funzione di trasferimento h(·, ·) ha dimensioni dispari di (2r + 1) × (2r + 1). Se con L (valore dispari) si indica il lato della finestra h, r = (L − 1)/2. La convoluzione in forma discreta opera soltanto nel dominio spaziale dove h(i, j) 6= 0. In figura 7.27 é rappresentata la funzione di trasferimento h ossia sono i valori campionati della risposta impulsiva discreta dell’operatore che si vuole implementare. ( - l 2 +k 2 h(l , k ) = e ) 2s 2 -2 -1 0 1 2 h5 h4 h3 h4 h5 h4 h2 h1 h2 h4 h3 h1 h0 h1 h3 h4 h2 h1 h2 h4 h5 h4 h3 h4 h5 -2 -1 0 1 2 k l h0=1 h1=0.78 h2=0.61 h3=0.37 h4=0.28 h5=0.13 s = 1.4 L=5 r=2 Figura 7.27: Funzione di trasferimento Gaussiana h. Applicare un filtro ad una immagine significa calcolare i coefficienti h(i, j) che rappresentano una buona approssimazione della funzione di trasferimento e quindi dell’operatore che si vuole applicare. La convoluzione é un’operazione invariante perchè i coefficienti della convoluzione (pesi del filtro) non cambiano da pixel a pixel durante il processo di convoluzione. L’operatore di convoluzione per una maschera 3 × 3 e, per una immagine di 512 × 512 richiederebbe 226400 × 9 ≡ 2037000 moltiplicazioni e 2037000 addizioni. Vediamo alcuni aspetti implementativi della convoluzione. Quando l’operatore di convoluzione é applicato ai bordi dell’immagine, la maschera di convoluzione non si sovrappone con i pixel dell’immagine, date le dimensioni finite della stessa. Un modo per risolvere il problema, quando si arriva ad elaborare i pixel del bordo sinistro dell’immagine, é quello di pensare ad una replica ciclica dell’immagine. Operando nello spazio di Fourier questa assunzione deve essere fatta se si vuole ridurre la convoluzione a semplice moltiplicazione. Nel dominio spaziale l’inconveniente dei bordi é risolto in modo libero adottando alcune soluzioni: • considerare a zero o uguale ad un valore costante tutti i pixel mancanti dell’immagine. • Considerare i pixel adiacenti dell’immagine come pixel mancanti. • Applicare la convoluzione solo per i pixel dell’immagine che non creano il problema della mancanza dei pixel. Nell’equazione di convoluzione, i pixel g(i, j) giá elaborati non sono coinvolti durante il processo di convoluzione. Questo implica che la convoluzione produce come risultato una nuova immagine g(i, j) che dovrá essere salvata in un’area di memoria separata dall’immagine di input f . Nell’ipotesi che si operi su calcolatore sequenziale potrebbe comunque essere ottimizzata la memoria necessaria, salvando i pixel elaborati di r linee al di sopra della i − ma linea in elaborazione. 196 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE Figura 7.28: Relazione tra l’immagine di input, l’immagine di output e le matrici della risposta impulsiva. Un approccio alternativo consiste nel salvare temporaneamente in un buffer, (r + 1) linee dell’immagine di input in elaborazione, mentre il pixel in esame (i, j) é salvato nella stessa posizione dell’immagine di input. 4 0 1 2 } Linee da salvare Figura 7.29: Esempio di convoluzione su calcolatore sequenziale. Sono stati progettati filtri che durante il processo di convoluzione sono coinvolti pixel giá elaborati dal convolutore stesso. Questo ha il vantaggio di ridurre i tempi di calcolo ma non sono facilmente realizzabili. Tali filtri sono chiamati filtri ricorsivi e sono molto complicati da trattare in genere nel caso bidimensionale come necessita per le immagini digitali. I filtri basati sulla convoluzione spaziale che non utilizzano pixel giá convoluti corrispondenti a filtri non ricorsivi, sono chiamati FIR Finite Impulse Response , mentre quelli ricorsivi IIR Infinite Impulse Response. 7.12. FILTRI NEL DOMINIO DELLE FREQUENZE 7.12 197 Filtri nel dominio delle frequenze In precedenza abbiamo introdotto l’utilitá di studiare le componenti spaziali di una immagine nel dominio delle frequenze che descrivono in modo piú efficace le strutture periodiche presenti nell’immagine stessa. Per passare dal dominio spaziale al dominio delle frequenze, sono disponibili diversi operatori chiamati normalmente operatori di trasformazione o semplicemente trasformate. Tali trasformate, per es. quella di Fourier che é la piú nota, quando applicate alle immagini, la decompongono dalle strutture di livello di grigio del dominio spaziale alle componenti in frequenze fondamentali nel dominio delle frequenze. Ciascuna componente di frequenza é espressa attraverso un valore di fase e modulo. La trasformata inversa di frequenze, converte una immagine strutturata con frequenze, ricostruendo all’indietro le strutture spaziali. Le strutture di frequenza di una immagine sono visualizzabili a loro volta come una immagine 2D, dove i valori di grigio rappresentano i moduli delle varie componenti di frequenza fondamentale. 7.12.1 La trasformata di Fourier discreta La trasformata generale di una immagine N×M è data da: F (u, v) = N −1 M −1 X X I(k, l)B(k, l; u, v) (7.61) k=0 l=0 dove F (u, v) rappresentano i coefficienti della trasformata, I(k, l) l’immagine di input di N×M pixel, B(k, l; u, v) le immagini costituenti la base dello spazio in frequenza individuato dal sistema u − v (variabili nel dominio delle frequenze) ciascuno con dimensione k × l. In sostanza, i coefficienti F (u, v) della trasformata, rappresentano le proiezioni dell’immagine I(k, l) sulle basi descritte. Questi coefficienti ci indicano quantitativamente il grado di similarità dell’immagine rispetto alle basi B. Il processo di trasformazione quantifica la decomposizione dell’immagine di input I(k, l) nella somma pesata delle immagini base, in cui i coefficienti F (u, v) sono appunto i pesi. I valori delle frequenze vicino all’origine del sistema (u, v) sono chiamate basse frequenze mentre quelle più lontane dall’origine sono dette alte frequenze F(u,v) è una funzione continua e complessa. L’immagine di input I(k, l) può essere ricostruita attraverso i coefficienti della trasformata F(u,v) con l’equazione della trasformata inversa: I(k, l) = F −1 (F (u, v)) = N −1 M −1 X X F (u, v)B −1 (k, l; u, v). (7.62) u=0 v=0 In alcuni casi, le basi inverse B −1 possono essere uguali a B a meno di un fattore peso costante. Le basi della trasformata sono rappresentate da funzioni seno e coseno, e la trasformata dell’immagine I(k, l) è data da ¶¶ µ µ ¶¶¸ · µ µ N −1 M −1 X X vl uk vl 1 uk + + j sin 2π + I(k, l) · cos 2π N M N M N M k=0 l=0 (7.63) in cui le variabili (u, v) rappresentano frequenze misurate in radianti per campione. La funzione F (u, v) rappresenta il contenuto in frequenza dell’immagine I(k, l), che è complessa e periodica sia in u che in v con periodo 2π . Il coseno rappresenta la parte reale ed il seno la parte complessa, ottenendo quindi F (u, v) = √ F (u, v) = Re(u, v) + jIm(u, v). (7.64) 198 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE L’ampiezza spettrale è definita da |F (u, v)| = p Re(u, v)2 + Im(u, v)2 , (7.65) che specifica quanto dell’immagine base è presente nell’immagine di input, mentre l’informazione circa l’orientazione dell’oggetto è definita dalla fase · ¸ Im(u, v) . (7.66) Φ(u, v) = tan−1 Re(u, v) Dal momento che ejx = cos x + j sin x possiamo riscrivere la trasformata F (u, v) = √ N −1 M −1 X X lv ku 1 I(k, l) · e−2πj [ N + M ] . N M k=0 l=0 (7.67) Per una migliore visualizzazione dello spettro, conviene visualizzare il logaritmo, ossia log(u, v) = c · log [1 + |F (u, v)|] (7.68) dove c serve a scalare l’intervallo di variabilità di (u,v) tra 0 e 255. 7.12.2 Teorema di convoluzione Dal punto di vista teorico, il processo di convoluzione nel dominio spaziale tra immagine di input e funzione di trasferimento, nel dominio delle frequenze é ottenuto con l’operazione di moltiplicazione tra immagine trasformata F (u, v) e la maschera delle frequenze. Il filtraggio, nel dominio delle frequenze, risulta essere molto selettivo consentendo di rimuovere specifiche componenti in frequenza o bande di frequenza. F(u,v) I(k,l) FFT IFFT * Filtro in frequenza Immagine risultante Figura 7.30: Processo di filtraggio spaziale usando la trasformata di Fourier. In figura 7.30 é evidenziato l’intero processo di filtraggio. L’immagine di input f (i, j) é trasformata mediante la FFT nel dominio delle frequenze. Una maschera delle frequenze é generata allo scopo di rimuoverne alcune. Questo é realizzato ponendo zero nella maschera in corrispondenza della frequenza che si vuole eliminare, ponendo invece valore 1 in corrispondenza delle frequenze che non si vogliono tagliare. 7.13. OPERATORI LOCALI: SMOOTHING 199 Il processo di convoluzione nel dominio delle frequenze é realizzato moltiplicando l’immagine nel dominio delle frequenze con la maschera delle frequenze. L’immagine ottenuta nel dominio delle frequenze ottenute é ritrasformata nel dominio spaziale attraverso la trasformata inversa di Fourier IFFT. Il filtraggio nel dominio delle frequenze risulta essere vantaggioso rispetto a quello spaziale soprattutto nei casi di immagini con rumore additivo di natura periodico (non casuale) facilmente descrivibile nel dominio delle frequenze. Nella figura, le aree puntiformi con alta intensità rappresentano nel dominio delle frequenze le frequenze spaziali nella banda di rumore. Mediante una maschera di frequenza è possibile eliminare la frequenza rappresentata da tali aree puntiformi ed applicando la IFFT l’immagine di origine risulta con il rumore attenuato. Conviene ricordare che tale filtro elimina anche le strutture dell’immagine che corrispondono alla stessa banda di frequenza eliminata e questo spiega la non perfetta ricostruzione dell’immagine di origine. Ricordando il processo di convoluzione spaziale, considerando inalterato i simboli delle varie immagini, si ha: g(m, n) = f (m, n) ∗ h(m, n) (7.69) nel dominio delle frequenze la convoluzione risulta: G(u, v) = F (u, v) · H(u, v) (7.70) considerando G, F ed H le trasformate di Fourier delle immagini spaziali g ed f, e della funzione di trasferimento h. Con quale criterio decidere se usare un filtro spaziale oppure un filtro nel dominio delle frequenze? Tendenzialmente la convoluzione spaziale è computazionalmente costosa specialmente se la maschera di convoluzione è grande. In questo caso l’uso dell FFT e IFFT su hardware specializzato può essere una soluzione efficiente per l’elaborazione delle immagini. Nella visione artificiale diversi processi non sono riconducibili ad operatori lineari ed invarianti spazialmente. Questo limita molto l’uso della FFT e IFFT. Quando un processo di elaborazione dell’immagine può essere modellato o approssimato ad un sistema lineare e invariante spazialmente, le maschere di filtraggio sono normalmente piccole (3x3) oppure (5x5) e conseguentemente la convoluzione spaziale risulta conveniente in alternativa all’uso della FFT. Questa è la ragione dell’uso diffuso dei filtri lineari. Ricordiamo infine delle limitazioni dell’uso della FFT per gli errori di arrotondamento dovuti al calcolo numerico, stabilità del filtro inverso, molteplicità delle soluzioni ottenute, limitazioni del dominio dei valori di grigio. 7.13 Operatori locali: Smoothing A questa categoria di operatori locali rientrano gli algoritmi di smoothing. Tali operatori hanno lo scopo di eliminare e attenuare il rumore additivo presente nei valori di grigio dell’immagine. Questo è realizzato attraverso operatori locali lineari e non lineari che essenzialmente tentano di smussare (livellare) le irregolarità presenti nella immagine senza alterare le strutture significative dell’immagine stessa. I filtri lineari di smoothing possono essere definiti nel dominio spaziale o nel dominio delle frequenze. 200 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE Per i filtri spaziali, nella maschera di convoluzione sono opportunamente definiti i pesi che caratterizzano la particolarità del filtro. Per i filtri nel dominio delle frequenze analoghi effetti sull’immagine si ottengono rimuovendo le alte frequenze. 7.13.1 Media aritmetica Se sono disponibili n immagini di una stessa scena è possibile ipotizzare un modello di rumore stocastico con valore V in ciascun pixel. V rappresenta la variabile casuale indipendente con media zero e standard deviation σ. L’operatore di smoothing in questo caso risulta dalla media aritmetica dei valori pixel per pixel per n immagini I1 ........In con corrispondente rumore V1 ..........Vn . La seguente espressione I1 + I2 + .......In V1 + V2 + .....Vn + n n indica col primo termine l’immagine mediata: n Im (i, j) = 1X Ik (i, j) n k=1 Il secondo termine risulta essere il rumore dell’immagine dopo la operazione √ di media aritmetica che ha sempre media zero √e deviazione standard con valore σ/ n e pertanto il rumore risulta ridotto di un fattore n. 7.13.2 Filtro media Quando è disponibile una sola immagine, l’operatore di media aritmetica può essere usato, col quale ciascun pixel dell’immagine è riposto con il valore medio dei pixel vicini: g(i, j) = 1 M X f (l, k) i, j = 0, 1, ......N − 1 (7.71) l,k∈Wij dove Wi,j indica l’insieme dei pixel nelle vicinanze del pixel (i,j) compreso lo stesso pixel (i,j), interessato al calcolo della media locale, ed M è il numero totale di pixel compresi nella finestra Wi,j . Se la finestra considerata è di 3×3 pixel si ha: g(i, j) = i+1 1 X 9 j=1 X f (l, k) (7.72) l=i−1 k=j−1 in questo caso, l’operatore di media risulta essere un caso convoluzione spaziale, che ha come maschera di convoluzione: ¯ ¯ ¯ ¯ 1 1 1 ¯ ¯ 1 1 1 ¯ ¯ 9 9 9 1 ¯¯ h = · ¯ 1 1 1 ¯¯ = ¯¯ 19 19 19 9 ¯ 1 1 1 ¯ ¯ 19 19 19 particolare dell’operatore di ¯ ¯ ¯ ¯ ¯ ¯ (7.73) Le dimensioni della maschera di convoluzione W regolano l’effetto del filtro. Con una maschera di piccole dimensioni, per esempio 3×3, l’effetto del filtro media è quello di attenuare il rumore (segnale uniforme) presente nell’immagine ed introdurre uno sfocamento accettabile sull’immagine. 7.13. OPERATORI LOCALI: SMOOTHING 201 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 Filtro passa-basso 164 Figura 7.31: Regione senza strutture. 42 231 42 231 42 231 42 231 42 231 Filtro passa-basso 126 147 126 147 126 147 126 147 126 147 42 231 42 231 42 126 147 126 147 126 231 42 231 42 231 147 126 147 126 147 42 231 42 231 42 126 147 126 147 126 Figura 7.32: Regione con strutture. Con maschere di maggiori dimensioni, per esempio 5×5, 7×7, ecc., l’effetto dello sfocamento e la perdita di alcuni dettagli diventa sempre più evidente. È richiesto un compromesso tra attenuazione del rumore e la perdita dei dettagli. Un approfondimento degli effetti del filtro é evidenziato in figura 7.31 e 7.32. Nel primo caso (figura 7.31) con immagine a valore costante il filtro non produce nessun effetto e l’immagine è lasciata intatta. Questo è dipendente al fatto che in quella regione l’immagine non presenta nessuna struttura (nessun cambiamento di livelli di grigio) ossia la frequenza spaziale è zero. Questo è tipico di un filtro spaziale passa-basso che lascia intatte le componenti di frequenza spaziale basse. Nel secondo caso (figura 7.32), vi sono variazioni di livello di grigio dal bianco al nero e viceversa e l’effetto del filtro media attenua queste variazioni. In altre parole le transizioni bianco/nero che rappresentano le componenti di alte frequenze dell’immagine di input sono attenuate a transizioni con minime variazioni di livello di grigio. L’attenuazione delle alte frequenze spaziali è quello desiderato da un filtro passa-basso. Quando si progetta un filtro di smoothing, come criterio generale, conviene scegliere i pesi della maschera di convoluzione con valore alto quelli più vicini al pixel in esame mentre con valori sempre più bassi quelli più lontani. Questo porta ad avere un unico picco nella maschera, disposti anche seguendo una certa simmetria spaziale. Per esempio, una tipica maschera di convoluzione di un filtro di smoothing è la seguente: ¯ ¯ ¯ ¯ ¯ 1/16 1/8 1/16 ¯ ¯ 1 2 1 ¯ ¯ ¯ ¯ ¯ 1 ¯ 1/8 1/4 1/8 ¯ = ¯ ¯ (7.74) ¯ ¯ 16 · ¯ 2 4 2 ¯ ¯ 1/16 1/8 1/16 ¯ ¯ 1 2 1 ¯ Con tale maschera si attenuano i problemi dello sfocamento evidenziato in precedenza. Gli effetti introdotti dall’operazione di filtraggio su una immagine possono essere valutati qualitativamente osservando in modo soggettivo l’immagine filtrata. Una stima quantitativa può essere ottenuta utilizzando una immagine campione di cui sono note alcune strutture geometriche (un esempio: immagini con anelli concentrici a profilo sinusoidale con lunghezza d’onda crescente a partire dal centro dell’immagine). Il filtro media 7×7 e 9×9 è stato applicato e si nota come il filtro introduce forti variazioni in alcune regioni dell’immagine. Questo mette in evidenza i limiti del filtro media utilizzato come filtro di smoothing passa-basso. Tali limiti sono dovuti all’introduzione di oscillazioni spurie nell’immagine di input e sono causati dall’andamento della funzione di trasferimento nel dominio delle frequenze che 202 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE sappiano essere: ¯ ¯¯ ¯ ¯ δin(πuL) ¯ ¯ δin(πvL) ¯ ¯ ¯ ¯ ¯ H(u, v) = ¯ πuL ¯ ¯ πvL ¯ (7.75) dove L×L sono le dimensioni della maschera di convoluzione. Dalla rappresentazione grafica di H(u,v) si nota che decresce non in modo monotono. Questo introduce delle oscillazioni intorno a certe frequenze anche con maschere di convoluzione superiori a 3×3. Esempio 1: Attenuazione di strutture con lunghezza d’onda di 2 pixel: dovevano essere rimosse dal filtro. ··· ··· ··· .. . 1 1 1 .. . .. .. . . −1 1 −1 1 −1 1 .. .. . . .. . −1 −1 −1 .. . .. . 1 1 1 .. . 1 ··· 1 ··· ∗ · 1 9 ··· 1 1 1 1 ··· 1 1 = ··· 1 ··· .. . − 31 − 31 − 31 .. . .. . .. . − 13 − 31 − 31 .. . 1 3 1 3 1 3 .. . .. . 1 3 1 3 1 3 .. . .. . − 13 − 13 − 13 .. . ··· ··· ··· .. . 0 0 0 .. . ··· ··· ··· Esempio 2: Rimozione di strutture con λ = 3 pixel: non dovevano essere rimosse. ··· ··· ··· .. .. .. .. . . . . 1 −2 1 1 1 −2 1 1 1 −2 1 1 .. .. .. .. . . . . .. .. . . −2 1 −2 1 −2 1 .. .. . . ··· 1 1 1 ··· 1 ··· ∗ · 1 1 1 = ··· 9 ··· 1 1 1 ··· .. . 0 0 0 .. . .. . 0 0 0 .. . .. . 0 0 0 .. . .. . 0 0 0 .. . .. . 0 0 0 .. . Risultati migliori sono ottenuti nel caso di filtro spazialmente variante dove i pesi sono aggiustati dinamicamente allo scopo di smussare di più nella zona di immagine relativamente uniforme e smussare meno nelle zone con brusche variazioni di intensità. 7.13.3 Filtri non lineari Tali filtri eseguono l’operazione di smoothing, essenzialmente per ridurre il rumore, livellando l’immagine solo nelle regioni con livelli di grigi omogenei, lasciando inalterate le zone in cui si verificano forti variazioni di livelli di grigio. Da ciò consegue che i coefficienti della maschera di convoluzione devono variare in modo appropriato da regione a regione. In particolare nelle zone dove le transizioni sono accentuate, si assume che i pixel appartengono a regioni diverse pertanto i coefficienti della convoluzione devono essere scelti piccoli. Filtri non lineari basati sul valore assoluto: 1) ½ 1 se |f (i, j) − f (l, k)| < T h(l, k) = 0 altrimenti dove T è un valore di soglia definito sperimentalmente. 2) h(l, k) = c − |f (i, j) − f (l, k)| 7.13. OPERATORI LOCALI: SMOOTHING con c costante di normalizzazione definito come c = · PP l valore di l e k. 3) ( f (i, j) = 4) 203 1 L×L PP l f (i, j) k f (l, k) ¸−1 h(l, k) ed h(l, k) ≥ 0 per ogni k ¯ ¯ se ¯¯f (i, j) − altrimenti 1 L×L PP l k ¯ ¯ f (l, k)¯¯ > T ¯) (¯ ¯ ¯ 1 XX ¯ ¯ f (i, j) = min f (l, k)¯ ¯f (m, n) − ¯ ¯ L×L (m,n)∈L×L l k in questo caso le forti transizioni non vengono sempre livellate. 7.13.4 Filtro mediano A differenza di filtri basati sulla media, il filtro mediano attenua la perdita di nitidezza dell’immagine e del livello di sfocamento. Il filtro ripone ogni pixel con il valore del pixel mediano ottenuto dopo che i pixel dell’intorno sono stati ordinati in modo crescente. Il pixel mediano ha il valore più alto di metà dei pixel dell’intorno e valore più basso dell’altra metà di pixel rimanenti. Per esempio, utilizzando finestre 3×3 il filtro opera come in figura 7.33: Il valore del pixel in esame 49 è sostituito con il valore di quello mediano Figura 7.33: Esempio di applicazione del filtro mediano. che è 38. In generale per finestre di dimensioni L × L, la posizione del pixel mediano è la (L × L/2 + 1)-ma. Il filtro mediano è molto efficace per la riduzione di rumore del tipo impulsivo per il cosiddetto sale e pepe (punti sparsi bianchi e neri). La modalità di funzionamento del filtro mediano, è analoga a quella dei filtri lineari, nel senso che, in analogia alla maschera di convoluzione, per ogni pixel dell’immagine, una finestra è posizionata, per individuare i pixel da porre in ordine crescente. 7.13.5 Filtraggio passa-basso nel dominio di Fourier Abbiamo già evidenziato come la presenza nell’immagine di ripetute transizioni di livello di grigio (dovute anche al rumore) costituiscono le componenti delle alte frequenze spaziali e conseguentemente inducono componenti di alte frequenze nel dominio di Fourier. Un filtro di smoothing può essere progettato operando nello spazio di Fourier, attenuando uno specificato intervallo delle componenti di alte frequenze. 204 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE La relazione tra le immagini trasformate è riscritta: G(u, v) = F (u, v) · H(u, v) dove F(u,v) è l’immagine di input trasformata e H(u,v) è la maschera del filtro da progettare. L’obiettivo è quello di progettare il filtro H(u,v) che attenua le componenti di alta frequenza di F(u,v) allo scopo di ottenere il risultato G. La trasformata inversa di G produrrà il risultato di smoothing voluto g. Nella figura sono evidenziate gli spettri di Fourier di due immagini una con rumore e l’altra senza. In un caso, tutta l’energia è concentrata in prossimità dell’origine degli assi (immagine senza rumore), nell’altra invece, si notano sulle alte frequenze valori piu elevati rispetto alla prima a causa del rumore. Un profilo dell’immagine dello spettro l(u,v) rappresenta la distribuzione dell’energia data dalla relazione: p l(u, v) = u2 + v 2 Sono stati ideati diversi filtri passa-basso nel dominio delle frequenze. Sono diversi tra loro, e per tutti, l’effetto, è quello di ridurre il rumore, distribuito sulle alte frequenze. Tali filtri operano sia sulla parte reale che immaginaria della trasformata di Fourier e non alterano il valore della fase (zero fase). Figura 7.34: Filtro ideale passa basso. 7.13.6 Filtro ideale passa-basso Definito come segue: ½ H(u, v) = 1 0 se l(u, v) ≤l0 se l(u, v) > l0 (7.76) dove l0 rappresenta la frequenza di taglio. Viene chiamato filtro ideale perchè tutte le frequenze comprese nell’intervallo tra 0 e la soglia l0, passano intatte mentre sono completamente eliminate quelle con valore superiore alla soglia. Il filtro è a simmetria circolare nell’ipotesi che la trasformata è stata centrata nell’immagine quadrata dello spettro. I risultati del filtro dipendono dal valore della soglia scelta che mentre può attenuare il rumore, di contro si accentua lo sfocamento dell’immagine. Un modo efficace per verificare le prestazione dei vari filtri è quello di considerare il valore dello spettro di potenza dato da: 2 P (u, v) = |H(u, v)| = R2 (u, v) + I 2 (u, v) (7.77) In corrispondenza di una frequenza di taglio l0 si definisce una quantità Pl che è lo spettro di potenza per tutti i valori u e v compresi dalla circonferenza di raggio l0 nel dominio delle 7.13. OPERATORI LOCALI: SMOOTHING 205 frequenze (u, v): Pl0 = N −1 N −1 X X P (u, v) (7.78) u=0 v=0 È utile considerare come in corrispondenza delle varie frequenze di taglio si hanno le percentuali dello spettro di potenza che varia da un massimo del 100% fino ad un minimo: " 100 XX u # p(u, v)/P l0 (7.79) v al variare di l0 . I filtri che seguono impediscono le brusche discontinuità nella eliminazione delle alte frequenze. Figura 7.35: Filtro di Butterworth passa-basso per n=1. 7.13.7 Filtro di Butterworth La funzione di trasferimento di questo filtro d’ordine n e con frequenza di taglio l0 è data da: 1 H(u, v) = (7.80) 1 + [l(u, v)/l0 ]2n dove l(u, v) rappresenta lo spettro definito in precedenza. L’effetto del filtro è sostanzialmente controllato ancora dal valore della frequenza di taglio l0 dal quale dipende la quantità di energia che viene conservata e quindi il livello di sfocamento introdotto nell’immagine. A differenza del filtro ideale comunque non si verifica una brusca discontinuità tra le frequenze filtrate e quelle passanti. Per un filtro di smoothing è importante definire una frequenza di taglio l0 tale che il valore della funzione H raggiunga un valore non superiore ad una frazione del suo massimo valore. Dall’equazione precedente, per H(u,v)=.5 (50% del massimo valore) segue che l(u,v)=l0 . Un’altra frazione usata è √12 del valore massimo di H. In questo caso, nelle condizioni che l(u, v) = l0 , la funzione di trasferimento diventa: H(u, v) = 1 1 = 2n 1 + 0, 414[l(u, v)/l0 ]2n 1 + [ 2 − 1][l(u, v)/l0 ] √ (7.81) Questo filtro è applicato ancora alla figura precedente con l0 uguale alle prime 5 circonferenze, e con n=1. 206 CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE Figura 7.36: Filtro esponenziale passa basso. 7.13.8 Filtro Esponenziale La funzione di trasferimento di tale filtro è la seguente: n H(u, v) = e−[l(u,v)/l0 ] (7.82) Anche per questo filtro è conveniente scegliere una percentuale p del valore massimo di H per ottenere un valore l0 della frequenza di taglio. In questo caso la funzione di trasferimento si modifica con: n H(u, v) = e−[ln p][l(u,v)/l0 ] (7.83) Figura 7.37: Filtro trapezoidale passa basso. 7.13.9 Filtro Trapezoidale Questo filtro produce un effetto intermedio tra il filtro ideale ed i filtri considerati in precedenza (esponenziale e butterworth). La funzione di trasferimento è la seguente: 1 H(u, v) = l(u,v)−l1 l0 −l1 0 per l(u, v) < l0 per l0 ≤ l(u, v) ≤ l1 per l(u, v) > l1 (7.84) In questo filtro l0 rappresenta la frequenza di taglio ed l0, l1 rappresenta un intervallo della frequenza con variazione lineare di H, utile ad evitare le brusche variazioni tipiche del filtro ideale. I risultati degli ultimi tre filtri: Butterworth, Esponenziale e Trapezoidale sono mostrati nella seguente figura. I filtri di smoothing studiati sono utilizzati per ridurre il rumore e migliorare la qualità visiva, specialmente nel caso di immagini quantizzate in pochi livelli. In quest’ultimo caso infatti quando sono visualizzate si nota l’effetto dei falsi contorni.