Trasformazioni nel dominio spaziale Andrea Torsello Dipartimento di informatica Università Ca...

Post on 01-May-2015

215 views 3 download

Transcript of Trasformazioni nel dominio spaziale Andrea Torsello Dipartimento di informatica Università Ca...

Trasformazioninel dominio spaziale

Andrea TorselloDipartimento di informaticaUniversità Ca’ Foscarivia Torino 155, 30172 Mestre (VE)

TrasformazioniI(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 Neighbouruso 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)=I(x’,y’)+I(x’+1,y’)+I(x’,y’+1)+I(x’+1,y’+1) dove x’<=sx

-1(x,y)<=x’+1 e y’<=sy-1(x,y)<=y’+1

x = sx-1(x,y)-x’

y = sy-1(x,y)-y’

=(1- x)(1- y)= x(1- y)=(1- x) y= x y

s-1(x,y)

x

y

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

1

-1

0

1

0

0.25

0.5

0.75

1

-1

0

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?• 2 possibilita’:1. Per ogni base/gradino B in C’ sommare

contributo basi/gradini in C all’interno di s-1(B)2. 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

B

dxdyyxsI )),(( 1

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

21

'pk

pp

Effetti piu’ complicati

)1('2 pppp