Filtri lineari nel dominio spaziale basati su convoluzione (operazioni
Transcript
Filtri lineari nel dominio spaziale basati su convoluzione (operazioni
Filtri lineari nel dominio spaziale basati su convoluzione (operazioni “locali”) I ' (i, j ) = ∑ h(k , l ) I (i − k , j − l ) ≡ h * I (i, j ) N k ,l = 0 Kernel o template o maschera I ' (i, j ) = ∑ h(k , l ) I (i − k , j − l ) ≡ h * I (i, j ) N k ,l = 0 h(k,l) I(i,j) Tipi di filtri La convoluzione di una immagine con un filtro corrisponde nel dominio delle frequenze a una moltiplicazione tra la FT del filtro e la FT dell’immagine. A seconda di come viene modificato il contenuto armonico dell’immagine, i filtri nel dominio spaziale seguono la stessa terminologia di quelli nel dominio delle frequenze, ovvero passa-basso, passa alto… Filtro passa basso (smoothing) Usato anche per rimuovere il rumore di fondo Esempio Esempio Esempio: passa alto per “sharpening” originale Filtrata passa-alto sharpening Passa Alto come 1-passabasso I’=I-h*I Edge detection Sono un tipo di filtro passa-alto basati su approssimazione di derivate prime (Gradiente) o seconde (Laplaciano) spaziali. Servono per mettere in evidenza dove l’immagine varia fortemente ovvero per mettere in risalto i contorni per esempio. Horizontal edge Vertical edge -1 -2 -1 -1 0 1 1 -1 0 1 0 0 2 0 -2 1 0 2 Sobel (gradiente) 0 -1 -1 0 4 -1 0 -1 0 laplaciano Detettore di punto (laplaciano) Esempio edge detection con gradienti (filtro di Sobel) Gx-gradient |Gx|+|Gy| Gy-gradient Unsharp masking Un filtraggio passaalto si puo’ ottenere da originale sottratta a immagine filtrata passabasso: I'= I − g * I Si possono ulteriormente amplificare le alte frequenze, ovvero passaalto con boost modificando leggermente il filtro come I ' = (1 + α ) I − αg * I α >1 noto come unsharp-masking. Il Filtro e’ una rozza approssimazione di derivata seconda ( laplaciano) e amplifica i dettagli amplificando le alte frequenze. Esempio Unsharp-masking I ' = (1 + α ) I − αg * I α >1 Passa alto normale Passa-alto con boost Passa-banda Zoom