Trasformazioni nel dominio spaziale Andrea Torsello Dipartimento di informatica Università Ca’ Foscari via Torino 155, 30172 Mestre (VE)
Trasformazioni I(x,y) immagine da R2 a Classe di trasformazioni di immagini f: R2->R2 I->f(I) f(I)(x,y)=I(f(x,y)) f trasforma la geometria del piano immagine.
Valori fuori campione Nel continuo f e’ puntuale (richiede informazioni di I solo nel punto trasformato) I’=f(I) => I’(x,y) = I(f-1(x,y)) Nel discreto le informazioni sono limitate ed il punto trasformato potrebbe non cadere in nessun campione Es. Traslazione di (0.5,0)T f(x,y)=(x-0.5,y)T I’(x,y)=I(x+0.5,y) ma I campioni esistono solo per indici interi!
Nearest Neighbour Bisogna stimare I valori usando informazioni dei campioni vicini (interpolazione) 1a possibilità: Nearest Neighbour uso il valore di I alla coordinata intera piu` vicina a f-1(x,y) [Round(f-1(x,y))] I’(x,y)=I(Round(f-1(x,y)))
Nearest Neighbour Nel caso della traslazione di (a,0)T I’(x,y)=I(Round(x+a,y))=I(x+a,y) I viene traslata della parte intera di a Cosa succede nel caso di uno zoom? compaiono artefatti (blocchi)
Nearest Neighbour In generale I cambi di scala portano ad artefatti.
Interpolazione blineare 2a possibilità: Interpolazione bilineare Vengono usati valori di tutti e 4 I punti a coordinate intere attorno a f-1(x,y) (combinazione lineare dei valori dell’immagine) I’(x,y)=aI (x’,y’)+bI(x’+1,y’)+gI(x’,y’+1)+dI(x’+1,y’+1) dove x’<=sx-1(x,y)<=x’+1 e y’<=sy-1(x,y)<=y’+1 Dx = sx-1(x,y)-x’ Dy = sy-1(x,y)-y’ a=(1- Dx)(1- Dy) b= Dx(1- Dy) g=(1- Dx) Dy d= Dx Dy s-1(x,y) Dx Dy
NN Vs interpolazione bilineare
NN Vs interpolazione bilineare
Zoom NN vs bilineare
Zoom NN vs bilineare
Zoom out Nell’immagine di destra il punto nero incide per 1/81 di tutta l’immagine. Dopo il cambio di scala incide per 1/9. Per comprendere il problema dobbiamo pensare a come da una immagine continua otteniamo una immagine discreta.
Campionamento e Quantizzazione
Campionamento e Quantizzazione
Campionamento e Quantizzazione
Effetti del campionamento
Effetti del campionamento
Effetti della quantizzazione
Passaggio continuo-discreto
Passaggio discreto-continuo
Basi funzinali
Interpolazione bilineare Equivalente a ricostruzione usando una base bilineare e ricampionamento puntuale. Se non c’è cambio di scala approssima ricostruzione e ricampionamento usando base a gradini ricostruzione e ricampionamento usando base a gradini risolve I problemi connesi con il cambio di scala, ma è oneroso da calcorare => approssimazione numerica per sottocampionamento.
Push o pull? 2 possibilita’: Per ogni base/gradino B in C’ sommare contributo basi/gradini in C all’interno di s-1(B) Per ogni base/gradino in C accumulare il contributo in tutti I punti di C’ Con scale molto diverse conviene usare 1a possibita’ e stimare campionando B
Altri usi per l’interpolazione Demosaicing Altri usi per l’interpolazione
Bayer Pattern Nelle macchine fotografiche digitali ogni detettore rileva solo un colore secondo pattern spaziali stabiliti (Bayer pattern) Bisogna ricostruire in ogni pixel le informazioni sui canali mancanti La ricostruzione dell’immagine finale può essere effettuata attraverso interpolazione
Interpolazione
Distorsioni ottiche
Pinhole camera
Lenti
Distorsione da lenti reali
Effetto bariletto
Correzione effetto bariletto
Effetti piu’ complicati