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
Dy
s-1(x,y)
Dx
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
1
0.75
0.5
1
0.25
0
0
-1
0
-1
1
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?
•
1.
2.
•
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
 I (s
B
1
( x, y))dxdy campionando B
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
p' 
p
1 k p
2
Effetti piu’ complicati
p '  p (1  a p  b p  )
2
Scarica

Trasformazioni - Dipartimento di Scienze Ambientali, Informatica e