Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Image ProcessingDispense del corso di Elaborazione di Immagini e Audio Digitali
http://imagelab.ing.unimo.it
Prof. Roberto Vezzani
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Immagini digitali
• IMMAGINE e’ una funzione 2D acquisita con opportuni sensori visuali da una scena
• IMMAGINE DIGITALE e’ una matrice limitata di (N,M) valori: ognuno dei quali èdetto PIXEL (picture elements);
solitamente il pixel rappresenta una quantità campionata e quantizzata del valore misuratodal sensore (per telecamere della funzione di luminosità f(x,y)) ma può essere anchecreato graficamente e in modo sintetico
• VIDEO DIGITALE è una sequenza temporale di immagini (frame), normalmentecampionata o trasmessa con intervallo di campionamento ∆t costante (frame rate).
M x N=640 x 480
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Risoluzione
RISOLUZIONE SPAZIALE (N,M), numero di campionamenti nel piano immagine;
N,M (righe e colonne) dipendono dalla applicazione e dal sistema di acquisizione; esempi:
• character recognition 64 x 64
• automatic inspection 128 x 128, 256 x 256….
• biomedical images; surveillance 512 x 512, 1024 x 1024
• satellite images 4096 x 4096
• RISOLUZIONE TEMPORALE nei video e’ la frequenza di campionamento (frame rate)
• RISOLUZIONE A LIVELLI DI GRIGIO (quantizzazione o risoluzione radiometrica) il numero di livelli di grigio distinguibili
k n. di bit per rappresentare i livelli di grigio (es. 256 con k=8)
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Immagini digitali
Immagini di intensita’ (o brillantezza):
• ogni pixel corrisponde alla brillantezza del punto della scena 3D proiettato nello spazio 2D (con proiezione prospettica non lineare o con proiezione ortografica, lineare); dipende dalla luminosita’ dell’oggetto, dalla illuminazione….
• Fotometria studia la misurazione della brillantezza
• La brillantezza non dipende dalla lunghezza d’onda ma dipende dalla distribuzione dell’energia della sorgente di luminosita’ e dalla sensibilita’ spettrale dei sensori.
• Immagini monocromatiche hanno solo informazioni di brillantezza
Immagini a colori o multispettrali:
• sono composte da piu’ componenti spettrali (di solito RGB)
• N immagini nelle dimensioni dello spazio colore
• M immagini nella dimensione della multispettralita’
• Colorimetria studia l’emissione e la riflessione della luce in funzione della sua lunghezza d’onda
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Immagini digitali
Immagini di trasmissione: quando la luce passa attraverso gli oggetti– raggi X, CAT scanner, mammografie…– in cui il pixel e’ tanto piu’ scuro quanto piu’ e’ denso l’oggetto
immagini sonore: prodotte dalla riflessione di onde sonore da parte di un oggetto– immagini mediche ad ultrasuoni, ecografie
immagini radar:– immagini radar con synthetic aperture radar, immagini satellitari e spaziali
immagini di pressione: prodotti da matrici di sensori di pressione– es; le immagini prese in gare d’atletica
immagini range (di profondita’) prodotte da sonar o da laser finder o da scanners– ogni pixel ha l’informazione della terza dimensione, ossia della distanza
dall’osservatore
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Istogramma• L’istogramma di un’immagine a livelli di
grigio è un vettore con un numero di elementi pari al numero dei livelli di grigio; il valore di ciascun elemento è dato dal numero di pixel che nell’immagine assumono uno specifico livello di grigio.
• Calcolo dell’istogramma:
for (n = 0; n < NLIV; n++)hist[n] = 0;
for (i = 0; i < NROW; i++)for (j = 0; j < NCOL; j++)hist [img [i][j]] ++;
• L’istogramma fornisce informazioni utili per varie operazioni sulle immagini, tra cui il miglioramento del contrasto e la binarizzazione tramite soglia
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Istogramma
• L’istogramma puo’ essere visto come una approssimazione ad una distribuzione di probabilità pdf (se i dati fossero in numero grande rispetto alla variabilità del modello e fossero i.i.d).
• Per probabilità si assume quindi l’istogramma normalizzato (l’istogramma a meno di un fattore di normalizzazione)
• L’istogramma permette analisi del contenuto dell’immagine e informazioni statistiche molto utili per il miglioramento della qualità dell’immagine
• Istogramma per immagini a colori: – Istogramma 4-dimensionale– 3 istogrammi separati (uno per canale)– Istogramma su spazio colore ridotto
1)(0∑=
=J
jF jP
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Algoritmi: modelli computazionali
• Puntuali: il valore I(x,y) della nuova immagine dipende solo dal valore della vecchia immagine nello stesso punto. Tipica applicazione è l’esaltazione del contrasto (contrast stretching) o la binarizzazione che trasforma l’informazione associata ad un pixel da n bit ad un solo bit. O (N xM)
• Locali (con finestra ristretta): il valore della nuova immagine in un punto dipende dai valori della vecchia immagine in un intorno ristretto k×k dello stesso (normalmente 3×3). Queste operazioni sono utilizzate per realizzare semplici filtri o per la determinazione del gradiente di un’immagine, utile per l’estrazione dei contorni (algoritmi near-neighbour). O ( N×M×K2)
• Locali (con finestra allargata): in questo caso la finestra con cui si esamina l’immagine può assumere dimensioni non trascurabili rispetto all’immagine complessiva (ad esempio una finestra 32×32 in un’immagine 512×512). Tali operazioni possono essere applicate per la ricerca di un particolare oggetto in un’immagine (template matching) o per lo studio della struttura interna alle varie regioni (texture analysis).
• Globali, ove ogni punto dell’immagine risultato dipende da tutti i punti dell’immagine di partenza. Un esempio tipico è rappresentato dal calcolo della trasformata di Fourier.
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Operatori puntuali
• Operazioni sui livelli di grigio, indipendentemente dalla posizione del pixel sull’immagine
• Trasformazioni sui livelli di grigio sono usati normalmente per interfaccia con operatore umano per migliorare il contrasto e rendere l’immagine piu’ interpretabile I’(p) = F(I(p))
1) trasformazioni con LOOK-UP TABLE
• ogni colore o livello di grigio e’ memorizzato in una tabella con il colore o il livello di grigio corrispondente
• usato per pseudo-colori: ad esempio una LUT di 64 livelli
Immagine 100 x100 a 256 livelli di grigiomappata in una LUT a 64 livelli
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Operatori lineari
• Operatori puntuali lineari se la trasformazione F puo’ essere scritta nella forma
I’(p)=F(I(p))= S I(p) + K
• S fattore di scala e K costante di offset
• Aritmetica saturata: condizioni di saturazione– I’(p)=0 if S I(p) + K < 0
– I’(p)=maxrange if S I(p) + K > maxrange
– Maxrange a livelli di grigio=255
• Aritmetica intera: è necessario approssimare i valori
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Contrast-stretching
2) Contrast stretching Operazione di espansione dei livelli di grigio; serve per modificare in modo dinamico (non statico come le LUT) l’istogramma
Per ogni pixel dell’immagine p viene calcolato I’(p):
FattoreDiScala= (max1-min1)/(max-min)
if (I(p)<=min) I’(p)=min1;if (I(p)>=max) I’(p)= max1; if ((I(p)>min)&(f(i,j)<max))
I’(p)= I(p)-min)* FattoreDiScala +min1;
0 min1 max1
0 min max
I(p)
I’(p)
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Esempi
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Variazione di luminosita’
• Variare la luminosità (brightness) significa soltanto spostare l’istogramma verso il valore massimo o il valore minimo
• aumento del 10%+ e del 10%-
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Operatore quadratico
• Operatore non lineare di contrast stretching: migliora gli istogrammi tendenzialmente bimodali
• operatore non lineare I’(p)= I2 (p)
per ogni i,j
g(i,j)=p(i,j) • p(i,j) / 255
0200400600800
1000120014001600
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 10
500
1000
1500
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Correzione gamma
• Operatore non lineare I’(p)= C Iγ (p)
• C costante positiva spesso a 1 o usata per normalizzare in un range voluto
• γ costante positiva – se minore di 1 ha gli stessi effetti di una trasformazione logaritmica
– se maggiore di 1 variazione dinamica che tende a saturare
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Inversione
• Può essere ottenuta usando la trasformazione lineare seguente: – I’(p) = (-1) I(p) + maxval
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Sogliatura
• L’operazione di sogliatura permette di ottenere una immagine a due soli livelli (bianco/nero)
• Fissato un valore di soglia globale Th, si ha:– I’(p) = 255 se I(p)>=Th
– I’(p) = 0 se I(p)<Th
• Il valore della soglia di norma è unico per tutta l’immagine
• Può essere impostato manualmente oppure calcolato in modo automatico in base all’istogramma (es.: metodo di Otsu)
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Obiettivo: individuare automaticamente la soglia ottimale per separare in due gruppi i livelli di luminosità
Metodo di Otsu (1979):- minimizzare la varianza nei gruppi:
per ogni soglia t si definiscono due gruppi “minori” e “maggiori” di t di cui si puo’ conoscere la varianza;lo scopo è di rendere omogenei tali gruppi;
siano:•q1(t), e q2(t) le probabilità che un pixel appartenga ad uno dei due gruppi•P(i) la probabilità che un pixel abbia livello i con i=1…L•n (NxN) numero di pixel nell’immagine
∑=
=t
iiPtq
11 )()(
21
( ) ( )L
i tq t P i
= +
= ∑
Ricerca della soglia ottimale
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Ricerca della soglia ottimale
)()()()()( 222
211
2 ttqttqtW σσσ +=
∑+=
=L
titqiiPt
122 )(/)()(µ∑
=
=t
itqiiPt
111 )(/)()(µ
∑=
−=t
itqiPtit
11
21
21 )(/)()]([)( µσ
∑+=
−=L
titqiPtit
12
22
22 )(/)()]([)( µσ
siano
I valori medi per ogni gruppo (di istogramma) e
le varianze;allora
Processo di minimizzazione:
la varianza intra-gruppo e’ la somma pesata da minimizzare ossia bisogna valutare
quale tra le possibili t minimizza la somma pesata delle varianze
La soglia migliore può essere cercata anche per tentativi (t = 1..L)
E’ la varianza intra-gruppo,(within-group variance) tanto piu’ e’ piccola tanto piu’ i due gruppi sono raggruppati “vicino” ai valori medi
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Esempi
Immagine originale Soglia di Otsu (89)
Soglia manuale (128) Soglia manuale (64)
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Altri metodi• Per vedere e confrontare altri metodi si veda
Metodo di Kittler e Illingworth (1985):
• minimizzare la distanza di Kullback fra l’istogramma e una distribuzione f(i), e utilizzare la distribuzione per individuare la soglia ottima t
• Metodo ITERATIVO approssimato (Ridler e Carvard 78), che funziona bene quando l’immagine ha due valori di grigio dominanti (esempio un foglio stampato)
• Consideriamo T0 una soglia iniziale che divide l’istogramma in due parti e l’immagine in due gruppi 1,2 che possono essere associati al background e agli oggetti (B,O) consideriamo i valori medi di grigio alla iterazione t; usiamo il valore medio tra i gruppi come nuova soglia; stop se converge o dopo n passi
∑=
=
L
i ifiPiPJ
1 )()(log)(
Roberto Vezzani - Imagelab – Università di Modena e Reggio Emilia
Esercizi
• Impiegando l’ambiente Imagelab e le immagini a livello di grigio a disposizione
• Operatori puntuali
• Eseguire istogramma dell’immagine
• Implementare gli operatori puntuali di– LUT nello spazio colore
– Contrast stretching
– Variazione di luminosità