Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Giovanni Mettivier » 3.Digital Imaging Processing


Acquisizione dell’immagine

Il processo di acquisizione dell’immagine è il processo di rivelazione e registrazione che “ferma” l’immagine su un supporto adatto agli usi successivi.

La registrazione deve produrre come risultato una immagine numerica su un supporto accessibile da parte di un dispositivo di calcolo.

La rivelazione è (in generale) ottenuta a partire da dati acquisiti tramite sensori.

Fasi dell’Acquisizione

Fasi del processo di acquisizione: 1) Scansione, 2) Rivelazione, 3) Campionamento, 4) Quantizzazione e 5) Memorizzazione.

Fasi del processo di acquisizione: 1) Scansione, 2) Rivelazione, 3) Campionamento, 4) Quantizzazione e 5) Memorizzazione.


Dispositivi di acquisizione

L’energia irradiata è trasformata in un segnale elettrico da un materiale foto-sensibile. Esistono principalmente tre tipologie di sensori di acquisizione:

  • singolo sensore: es. fotodiodo, combinato con moto meccanico per ottenere immagine 2D;
  • sensore lineare: es. scanner (riga di più sensori singoli). Il moto per ottenere immagine 2D è solo lungo una direzione. Possono essere montati in anello per TAC, MRI e PET;
  • sensore a matrice: es. fotocamere e telecamere digitali (matrice di sensori CCD – charge-coupled device).
Diverse tipologie di rivelatori: Singolo, Lineare e a Pixel.

Diverse tipologie di rivelatori: Singolo, Lineare e a Pixel.


Campionamento e quantizzazione

Qualunque sia il sensore, il suo output è un segnale continuo in tensione.
Per creare un’immagine digitale, il segnale deve essere campionato sia in senso spaziale che come valore. Sono quindi necessari due processi:

  • campionatura: discretizza lo spazio in coordinate x e y;
  • quantizzazione: discretizza il valore in un certo numero di livelli di grigio.
Esempio del processo di campionatura e quantizzazione.

Esempio del processo di campionatura e quantizzazione.


Quantizzazione

L’ipotesi di una quantizzazione lineare per la produzione di L livelli discreti di grigio a partire dalla intensità luminosa comporta una immagine digitalizzata che ha normalmente una gamma dinamica molto meno ampia di quella del sistema visivo umano.

Questo perché la risposta del sistema visivo umano non è lineare, bensì logaritmica: l’occhio è in condizione di discriminare un numero enorme di livelli di luminosità, ben maggiore dei 256 precedentemente ipotizzati.

Una soluzione al problema è di effettuare una quantizzazione in cui la grandezza quantizzata non è direttamente l’intensità, ma una sua potenza.

Se g è il livello di grigio e f l’intensità, si ha cioè:

g = fγ e non g = f

Quantizzazione (segue)

Questa correzione gamma, che permette di approssimare la caratteristica logaritmica del sistema visivo umano e di compensare le non linearità introdotte dai dispositivi di acquisizione e/o visualizzazione, è un esempio di una classe di trasformazioni dei livelli di grigio, che vedremo in seguito.

Un valore di gamma che realizza la condizione voluta è per esempio 0.4, utile quando il rendering deve essere fatto su monitor CRT.

Naturalmente si deve porre γ = 1 nelle applicazioni in cui è essenziale mantenere lineare la relazione tra intensità e la scala dei grigi.

Magnificazione e Contrazione

Sono operazioni di sovra-campionamento (zooming o magnificazione) e sotto-campionamento (shrinking o contrazione), effettuate direttamente su immagini digitali.
Lo zooming/shrinking richiede due fasi:

  • creazione di nuove locazioni di pixel;
  • assegnazione dei valori di grigio ai nuovi pixel.

Se per esempio si vuole effettuare uno zoom di 1.5 volte di una immagine 500 x 500, evidentemente la nuova griglia di campionamento sarà 750 x 750.
E’ chiaro pertanto che il passo della nuova griglia non può essere identico a quello della griglia originale, rimanendo inalterate le dimensioni dell’immagine.

Metodi di interpolazione

Siccome ad una locazione nell’immagine destinazione corrisponde “meno di un pixel” si deve scegliere il livello di grigio da assegnargli. Per fare ciò si utilizzano i metodi di interpolazione.

  • interpolazione “nearest neighbour” (valore del più vicino);
  • interpolazione bilineare;
  • interpolazione bicubica.

Metodi di interpolazione (segue)

Il valore di ogni nuovo pixel può essere determinato a partire dai quattro vicini nell’immagine di partenza.
Per esempio, a ciascuno dei nuovi pixel può essere assegnato il valore del pixel più vicino nell’immagine originale (interpolazione di ordine zero o del nearest neighbor).
A questo punto occorre soltanto scalare le dimensioni dell’immagine, in modo da conservare la risoluzione lineare dell’immagine originale.

Problema dell’interpolazione: assegnare un valore in una locazione diversa da quelle già definite.

Problema dell'interpolazione: assegnare un valore in una locazione diversa da quelle già definite.


Metodi di interpolazione (segue)

Un caso particolare di questo metodo di interpolazione è la replica dei pixel, utile quando il rapporto di magnificazione è un numero intero (è il metodo utilizzato per mostrare gli effetti della variazione di risoluzione a parità di dimensioni dell’immagine); per zoomare di due volte basta in questo caso duplicare ogni colonna, e quindi duplicare ogni riga dell’immagine così ottenuta.

Metodi di interpolazione (segue)

Come si è visto, questo metodo d’interpolazione, ancorché semplice, ha il difetto di produrre un effetto scacchiera, particolarmente sgradevole quando il rapporto di magnificazione è sufficientemente grande.
Risultati migliori si ottengono con la interpolazione bilineare o del primo ordine, metodo leggermente più sofisticato (e quindi computazionalmente più complesso) dei precedenti.

Esempio dell’applicazione del metodo di interpolazione “nearest neighbord”.

Esempio dell'applicazione del metodo di interpolazione “nearest neighbord”.


Metodi di interpolazione (segue)

Il problema dell’interpolazione è la determinazione del valore di una f(x,y) in un punto arbitrario interno ad un quadrato di lato unitario, ai cui vertici la f è nota.

Senza ledere la generalità, si può ipotizzare che le coordinate dei quattro vertici siano quelle mostrate.

Il problema è sovra-determinato se si tratta di far passare un piano per quattro punti.

Rappresentazione matematica della problematica dell’interpolazione.

Rappresentazione matematica della problematica dell'interpolazione.


Metodi di interpolazione (segue)

Per la soluzione di questo problema si può utilizzare l’equazione bilineare che definisce un paraboloide iperbolico:

f(x,y) = ax+by+cxy+d

I quattro coefficienti devono essere scelti in modo che f(x,y) soddisfi i valori noti ai quattro angoli.
Si ha pertanto:

[f(0,y)-f(0,0)] : y = [f(0,1)-f(0,0)] : 1

Metodi di interpolazione.

Metodi di interpolazione.


Metodi di interpolazione (segue)

Quindi:

f(0,y) = f(0,0)+y[f(0,1)-f(0,0)]

Analogamente:

f(1,y) = f(1,0)+y[f(1,1)-f(1,0)]

Interpolando fra i due valori f(0,y) e f(1,y):

f(x,y) = f(0,y)+x[f(1,y)-f(0,y)]

Sostituendo e raggruppando:

f(x,y) = [f(1,0)-f(0,0)]x + [f(0,1)-f(0,0)]y + [ f(1,1)+f(0,0)- f(0,1)-f(1,0)]xy + f(0,0)

Si ottengono così i quattro coefficienti cercati:

a = f(1,0)-f(0,0)………………………………… b= f(0,1)-f(0,0)
c = f(1,1)+f(0,0)-f(0,1)-f(1,0)……………………… d = f(0,0)

Metodi di interpolazione (segue)

Esempio dell’applicazione del metodo di interpolazione “bilineare”.

Esempio dell'applicazione del metodo di interpolazione “bilineare”.


Metodi di interpolazione (segue)

Questo metodo di interpolazione, pur dando risultati migliori di quello di ordine zero, introduce un certo grado di blurring nell’immagine, dato che, in generale, esso dà luogo a livelli di grigio inesistenti nell’immagine di input.
Questo effetto può essere inaccettabile, in quanto causa la scomparsa dei dettagli molto fini, soprattutto in caso di magnificazione.
Un altro problema può nascere dal fatto che se il metodo è applicato a regioni contigue, le superfici risultanti hanno gli stessi valori sui confini, ma in generale differenti pendenze, per cui la continuità delle derivate non è garantita.
Può essere pertanto necessario ricorrere a metodi di interpolazione di ordine superiore, nei quali la procedura di best fitting usa funzioni più complesse, come le spline cubiche, le funzione di Legendre, etc.

Metodi di interpolazione (segue)

Confronto fra i tre diversi metodi di interpolazione: “Nearest Neighbord”, “Bilineare” e “Bicubico”

Confronto fra i tre diversi metodi di interpolazione: “Nearest Neighbord”, “Bilineare” e “Bicubico”


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93