Visione e Percezione Matlab Filtri Lineari Operazioni su immagini Piramidi Gaussiane Esercitazione 4 Maggio
Immagini in Matlab Comandi fondamentali Imread, imshow conv2, imfilter Filtri Lineari Cenni in aula.
Decimazione/Subsampling La decimazione corrisponde a un sottocampionamento su righe/colonne • Si riduce il numero di informazioni di un fattore 4 (2 su ogni dimensione). Si usa prima un filtro passa-basso per eliminare parte delle informazioni in alta frequenza. Filtro Gaussiano (evitare aliasing).
Decimazione - Esempio * Passabasso Subsampling
Ricampionamento Ricampionare per espandere. Si cambia la dimensione della immagine inserendo nuove colonne/righe (inserire pixel tra gli altri). Aumenta il numero dei pixel di un fattore 4 (se resize è 2 per ogni dimensione). Per riempire gli spazi il valore del pixel è interpolato da quelli vicini. Nearest neighbor Bilinear Bicubic, etc. Nel decimare ho perso delle informazioni. Stimo il loro valore usando una funzione dei pixel vicini. Consiglio (per un esercizio veloce): calcolare l’errore dovuto alla interpolazione sottraendo dalla immagine originale quella ricostruita a partire dalla sua decimazione.
Interpolazione - cenni Nearest Neighbour: duplicazione del vicino. Bilinear: due interpolazioni lineari successivamente su righe e poi colonne. Implementabile come convoluzione … Esempio in aula … run the machines…. Filtro di media per interpolazione
Interpolazione Bilineare http://en.wikipedia.org/wiki/Bilinear_interpolation http://www.path.unimelb.edu.au/~dersch/interpolator/interpolator.html Esempio: 34 55 24 12 34 55 24 12 Inserzione di zeri su una riga
Bilineare Interpolazione Lineare su Colonne 34 55 24 12 34 55 24 12 29 33.5
Bilinear Interpolazione Lineare su Righe 34 55 24 12 29 33.5 39.5 31.25 18 34 55 24 12 29 33.5
Bilineare Questo esempio ha aumentato la dimensione della matrice di partenza. E ha ricostruito attraverso interpolazione bilineare la matrice espansa. Il comportamento ai bordi è critico. Nell’esempio precedente, la espansione di un fattore 2 si ottiene aggiungendo una riga (in basso) e una colonna (a destra)di zeri. Il valore ricostruito per i pixel ai bordi si può calcolare allo stesso modo.
Le piramidi sono una diversa rappresentazione delle immagini. Pyramids Le piramidi sono una diversa rappresentazione delle immagini. Si rappresenta la informazione divisa per banda o ‘scala’ Informazioni appartenenti a una scala approssimata vengono rappresentate nei livelli alti (informazioni a bassa frequenza). Si parla di rappresentazione multiscala/multirisoluzione.
Si ripetono le operazioni di Filtraggio Gaussiano e Gaussian Pyramid Si ripetono le operazioni di Filtraggio Gaussiano e decimazione su ogni scala.
Gaussian Pyramid – Livelli alla stessa risoluzione. Livello 2 Livello 1 Ricampionato per portarlo Alla risoluzione del livello1
Differenza fra scale/livelli adiacenti Ops … questa si chiama Laplaciano
Filtro di Approssimazione Piramide Gaussiana Filtro di Approssimazione Gaussiano [sig(j+1)=2*sigma(j)] Downsample (decimazione) Immagine a livello J Immagine a livello J+1 Ad ogni passaggio si pre-filtra il livello in ingresso con filtro gaussiano avente sigma il doppio di quello precedente ma dimensione spaziale uguale.
Piramide Guassiana Nota: l’ordine dei livelli è invertito rispetto allo schema precedente.
Filtro di Approssimazione Piramide Laplaciana La piramide Laplaciana si ottiene facilmente dalla piramide gaussiana. Filtro di Approssimazione Gaussiano [sig(j+1)=2*sigma(j)] Immagine a livello J+1 DOWN-sample (decimazione) UP-sample (ricostruzione) Livello J di predizione o residuo Immagine a livello J diff
Piramide Laplaciana Piramide Gaussiana Piramide Laplaciana
g rappresenta la piramide gaussiana (o di approssimazione) Piramide Laplaciana Il livello L_i si ottiene come: g rappresenta la piramide gaussiana (o di approssimazione)
Assegnazione Homework Obiettivo: Ottenere Piramide Gaussiana e Laplaciana da una immagine in scala di grigi. Implementare le funzioni di UP-sample e DOWN-sample. Implementare il filtro gaussiano. Mostrare a schermo le piramidi ottenute. Nota Bene: seguire le regole per la consegna illustrate sul sito del corso. http://www.dis.uniroma1.it/~visiope/Esercitazioni/