...

Trasformazioni di Intensità e Filtraggio Spaziale

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Trasformazioni di Intensità e Filtraggio Spaziale
Trasformazioni di Intensità e
Filtraggio Spaziale
(Alcuni Richiami)
Prof. Sebastiano Battiato
Multimedia - Prof. Sebastiano Battiato
Terminologia
Le tecniche di elaborazione delle immagini sono in generale
rivolte all’ottenimento di uno dei seguenti obiettivi di
massima:
􀀹 miglioramento di qualità (image enhancement)
 ripristino di qualità o restauro (image restoration)
􀀹 estrazione di informazione (feature detection)
Manca in realtà una teoria generale del miglioramento di
qualità, dato che non esiste uno standard generale di qualità
delle immagini.
Multimedia - Prof. Sebastiano Battiato
1
Terminologia
Anche se le trasformazioni di intensità e il filtraggio spaziale
abbracciano una vasta gamma di applicazioni, la maggior parte degli
esempi che vedremo riguardano il miglioramento dell’immagine
(enhancement).
L’enhancement è il processo di manipolazione dell’immagine tale
che il risultato sia più simile dell’originale per una specifica
applicazione.
L’aggettivo specifica è importante perché stabilisce fin dall’inizio che le
tecniche di miglioramento sono problemi dedicati. Quindi, ad esempio,
un metodo valido per il miglioramento di immagini a raggi X potrebbe
non essere l’approccio migliore per immagini satellitari catturate nella
banda ad infrarossi dello spettro elettromagnetico.
Multimedia - Prof. Sebastiano Battiato
Terminologia
Le tecniche di elaborazione si distinguono in puntuali,
locali, globali, sequenziali, parallele.
Possono essere applicate:
tra domini diversi (trasformate bidimensionali);􀀹
nello stesso dominio (di particolare interesse il dominio
spaziale e quello delle frequenze spaziali);
con riduzione dei dati tra ingresso e uscita (per
esempio estrazione di informazioni o compressione);
(spesso) lineari e spazio-invarianti (convoluzioni
bidimensionali)
Multimedia - Prof. Sebastiano Battiato
2
Metodi nel Dominio Spaziale
Le elaborazioni nel dominio spaziale possono essere espresse
come:
g(x,y)= T[f(x,y)]
essendo f l’immagine di ingresso alla elaborazione, g quella di
uscita e T un operatore su f, definito in un intorno di (x,y).
La dimensione dell’intorno di (x,y) definisce il carattere della
elaborazione:
 puntuale (l’intorno coincide con il pixel stesso);
 locale (per esempio una piccola regione quadrata centrata
sul pixel);
 globale (l’intorno coincide con l’intera f).
Multimedia - Prof. Sebastiano Battiato
Elaborazioni Puntuali



Il risultato di una elaborazione puntuale omogenea
dipende solo dal valore del pixel cui è applicata, per cui
tali elaborazioni vengono anche dette manipolazioni della
scala dei grigio dei colori.
Se invece il risultato dell’elaborazione dipende anche dalla
posizione del pixel nell’immagine, si parla di elaborazioni
puntuali non omogenee.
Alcune tipiche elaborazioni puntuali omogenee:
 Aggiunta o sottrazione di una costante a tutti i pixel (per compensare sotto o
sovraesposizioni);
 Inversione della scala dei grigi (negativo);
 Espansione del contrasto;
 Modifica (equalizzazione o specifica) dell'istogramma;
 Presentazione in falsi colori.
Multimedia - Prof. Sebastiano Battiato
3
Elaborazione Puntuali Omogenee
L’elaborazione si effettua applicando una specifica
operazione a ciascun pixel dell’immagine di partenza, e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che è il risultato della operazione stessa.
 L’elaborazione puntuale omogenea può pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio, del tipo:
s = T(r)
dove r è la variabile che rappresenta il livello di grigio
dell’immagine di ingresso alla elaborazione ed s è la
variabile che rappresenta il livello di grigio dell’immagine
di uscita.

Multimedia - Prof. Sebastiano Battiato
Contrast Enhancement
L’immagine di output avrà un contrasto maggiore visto che i
valori di grigio più piccoli di m vengono resi più scuri mentre
quelli più grandi vengono resi più chiari.
Multimedia - Prof. Sebastiano Battiato
4
In
generale
quindi
utilizzando un grafico
come quello mostrato in
figura si riescono ad
implementare
le
cosiddette look-up tables
(LUT), in grado di
implementare operazioni
puntuali anche di tipo
non banale.
Multimedia - Prof. Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dell’immagine ottenuta
usando la trasformazione “negativa”
Multimedia - Prof. Sebastiano Battiato
5
Trasformazione Logaritmica
Si tratta di una trasformazione che
consente di comprimere la gamma
dinamica,
permettendo
la
memorizzazione
o
la
visualizzazione, con una scala dei
grigi usuale, di immagini
caratterizzate da escursioni di
intensità molto ampie. Può essere
espressa come:
s = c log (1 + r)
Si può notare come la trasformazione realizzi l’espansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r. c è una costante di scala, che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto, cioè in [0, L-1].
Multimedia - Prof. Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 < r < R, si ha 0 < s < c log(1+R). Se
R>>1, come normalmente avviene, per esempio, per lo
spettro di Fourier di una immagine, si può porre:
c log R = L-1, da cui c = (L-1)/log R
In tal modo è possibile, per esempio, visualizzare su un
dispositivo a 256 livelli di grigio un’immagine con una
gamma dinamica molto più ampia, anche dell’ordine dei
milioni, senza che siano visualizzabili solo i valori più alti,
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare.
Multimedia - Prof. Sebastiano Battiato
6
Un Esempio
L’immagine di sinistra contiene dei valori compresi tra 0 e 1.5x106,
visualizzata scalando questi valori linearmente nel range [0, 28-1].
La variabilità relativa può essere evidenziata applicando, prima
dello scaling lineare a 8-bit, una trasformazione logaritmica (in
questo caso c=1).
Multimedia - Prof. Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza, nel caso generale può essere
espressa come:
s = c rγ
dove c e γ sono costanti positive. La costante c è scelta di
volta in volta in modo da normalizzare i valori di s in [0,
255].
Come vedremo, per valori di γ minori di 1 la trasformazione
ha effetti analoghi alla trasformazione logaritmica
(espansione della dinamica per bassi valori di r,
compressione della dinamica per alti valori di r), mentre per
valori di γ maggiori di 1 la trasformazione ha esattamente gli
effetti opposti.
Multimedia - Prof. Sebastiano Battiato
7
c=1
E’ importante osservare come gli effetti della trasformazione
siano facilmente controllabili agendo sul parametro γ, il che
consente di adattare la trasformazione stessa (si parla infatti di
una famiglia di possibili curve di trasformazione) ad una ampia
gamma di situazioni.
Multimedia - Prof. Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensità di emissione-tensione applicata non lineare, ma
approssimativamente quadratica (in realtà l’esponente varia
tra 1.8 e 2.5)
Con riferimento alle curve mostrate, questo comportamento
tende a rendere l’immagine più scura del voluto. Per
esempio, su un monitor CRT (con γ= 2.5) si può applicare
una correzione, pre-processando l’input con la
corrispondente funzione inversa: s = r1/2.5= r0.4
Multimedia - Prof. Sebastiano Battiato
8
Correzione Gamma
Multimedia - Prof. Sebastiano Battiato
Correzione Gamma
Come già accennato la
correzione Gamma può
anche essere utilizzata, per
modificare il contrasto di
un’immagine. L’immagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il “bianco”
(si
veda
il
relativo
istogramma).
g=3
g=4
g=5
A seguire l’immagine
risultante dall’applicazione
di una correzione Gamma
al variare del parametro g.
Multimedia - Prof. Sebastiano Battiato
9
Bit-planes
Un’immagine con una profondità colore di N bit può essere
rappresentata da N piani di bit (bit-planes), ciascuno dei quali può
essere vista come una singola immagine binaria. In particolare si può
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB).
Multimedia - Prof. Sebastiano Battiato
Lena: Bit-planes
Most Significant bit (MSB)
Least Significant bit (LSB)
Multimedia - Prof. Sebastiano Battiato
10
Ancora Bit-planes
Multimedia - Prof. Sebastiano Battiato
Bit-planes
Multimedia - Prof. Sebastiano Battiato
11
Bit-planes: Osservazioni


I piani di bit più significativi contengono informazioni
sulla struttura dell’immagine, mentre quelli via via meno
significativi forniscono i dettagli sempre più piccoli.
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale.
Che cosa rappresenta l’immagine del piano 7 ?
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani?
Multimedia - Prof. Sebastiano Battiato
Range Highlights
E’ possibile selezionare
solo i toni di grigio
all’interno di un certo
range
di
valori,
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio all’interno di un
intervallo [A, B].
Multimedia - Prof. Sebastiano Battiato
12
Bit-planes e LUT
Data un’immagine I a 256 toni di grigio, realizzare una LUT che
evidenzi i toni di grigio individuati dal terzo e dal quinto bit (primo
bit = MSB, ottavo bit =LSB)
I toni di grigio individuati dal terzo bit sono tutti quelli della forma:
xx1xxxxx
In particolare si può osservare che per il sistema di numerazione
posizionale, il terzo bit individua i valori multipli di 25=32, ne segue
che i toni di grigio individuati saranno i seguenti intervalli di ampiezza
25-1=31, individuati ad intervalli regolari di 26=64 valori:
001xxxxx
011xxxxx
101xxxxx
111xxxxx
25 =
26+25 =
27+25 =
27+26+25 =
32, ……, 63
96, ……, 127
160, ….., 191
224, ….., 255
Multimedia - Prof. Sebastiano Battiato
Bit-planes e LUT
I toni di grigio individuati dal quinto bit sono tutti quelli della forma:
xxxx1xxx
In particolare si può osservare che per il sistema di numerazione posizionale,
il terzo bit individua i valori multipli di 23=8, ne segue che i toni di grigio
individuati saranno i seguenti intervalli di ampiezza 23-1=7, individuati ad
intervalli regolari di 24=16 valori:
00001xxx
00011xxx
00101xxx
00111xxx
01001xxx
01011xxx
01101xxx
01111xxx
23 =
24+23 =
25+23 =
25+24+23 =
26+23 =
26+24+23 =
26+25+23 =
26+25+24+23=
8, ……, 15
24, ….., 31
40, ..…, 47
56, ….., 63
72, ..…, 79
88, ….., 95
104, …, 111
120, ….., 127
Multimedia - Prof. Sebastiano Battiato
13
Bit-planes e LUT
10001xxx
10011xxx
10101xxx
10111xxx
11001xxx
11011xxx
11101xxx
11111xxx
27+23=
27+24+23=
27+25+23=
27+25+24+23=
27+26+23=
27+26+24+23=
27+26+25+23=
27+26+25+24+23=
136, ….., 143
152, ….., 159
168, ….., 175
184, ….., 191
200, ….., 207
216, ….., 223
232, ….., 239
248, ….., 255
In generale la LUT che evidenzia i toni di grigio dell’i-esimo bit (i =
0,…., 7) dove i = 0 fa riferimento al LSB, individua i toni di grigio ad
intervalli regolari di 2i+1 valori, a partire da 2i. L’ampiezza di ciascun
intervallo è pari a 2i-1. Individuati gli intervalli costruire la LUT
corrispondente è immediato.
Multimedia - Prof. Sebastiano Battiato
Bit-planes: LUT
Multimedia - Prof. Sebastiano Battiato
14
MATLAB
function bitPlanes(imagePath, bit)
%Creo il byte da mettere in AND per evidenziare solo un bit
mask = pow2(double(bit));
mask = uint8(mask);
disp('Maschera'); dec2bin(mask)
im = imread(imagePath);
image = rgb2gray(im);
a = bitand(mask, image); %Applico la maschera
%Trasformo tutti i valori >0 in 1 e poi in 255
b = (a>0) * 255;
image = uint8(b);
figure; imshow(image);
X = uint8([0:1:255]);
y = bitand(mask, X);
Y = (y>0) *255;
figure;plot(X,Y,'.');axis([0 255 -10 300]);
end
Multimedia - Prof. Sebastiano Battiato
Modifica dell’Istogramma
L'istogramma (normalizzato) dei livelli di grigio di
un'immagine digitale è la funzione discreta
p(rk ) =
nk
MN
per k = 0,1, ..., L-1
dove nk è il numero di pixel dell'immagine con livello di
grigio rk mentre M ed N denotano le dimensioni orizzontale
e verticale (il numero totale di pixel).
E' pertanto una stima a posteriori delle probabilità di
occorrenza dei livelli di grigio dell'immagine, utile perchè
fornisce una descrizione globale della cosiddetta
"apparenza" dell'immagine.
Multimedia - Prof. Sebastiano Battiato
15
Modifica dell’Istogramma
Le informazioni date dall’istogramma possono dare un'idea
generale della possibilità di miglioramento dell'immagine,
soprattutto in termini di manipolazione del contrasto, ma
trovano applicazione anche in altre elaborazioni
(segmentazione, compressione).
Alcuni autori considerano non puntuali ma globali le
elaborazioni di questo tipo, in quanto l’istogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dell’immagine. In senso stretto, però,
la manipolazione dell’istogramma è una operazione
puntuale.
Multimedia - Prof. Sebastiano Battiato
Equalizzazione: perche?
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono,
quasi
l’intera
gamma di valori ed inoltre la
distribuzione dei pixel non è
troppo dissimile da una
distribuzione uniforme.
Multimedia - Prof. Sebastiano Battiato
16
Equalizzazione: perche?
L’equalizzazione (o linearizzazione) dell’istogramma di una
immagine è l’elaborazione che idealmente produce una
immagine con istogramma “piatto”, cioè con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dell’immagine).
Prima di procedere con i dettagli del relativo algoritmo è bene
rivedere alcuni concetti sulla teoria della probabilità (variabili
casuali, probability density function (PDF), cumulative density
function
(CDF),
ecc.).
(si
veda
pagg.
33-44
review_of_probability.zip e pagg. 21-24 review.pdf dal sito del
libro di testo).
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma
In
realtà una distribuzione perfettamente uniforme dei livelli di grigio non
può essere ottenuta, principalmente a causa della natura discreta delle
grandezze trattate.
Supponiamo inizialmente che r sia una variabile continua, tale che 0 ≤ r ≤
L – 1; si assuma inoltre che s = T(r) soddisfi le due condizioni:
a) T(r) è una funzione monotona non decrescente nell’intervallo 0≤ r ≤
L-1
b) 0 ≤ Τ(r) ≤ L-1 per 0 ≤ r ≤ L-1
Per garantire l’esistenza della trasformazione inversa richiederemo anche la
stretta monotonicità. La a) conserva anche l'ordine dei livelli nella scala dei
grigi (dal nero al bianco), mentre la condizione b) garantisce una
trasformazione consistente con i livelli di grigio permessi (tra 0 e 1).
Multimedia - Prof. Sebastiano Battiato
17
Esempi di T(r)
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma
trasformazione inversa è r = T-1(s) per 0 ≤ s ≤ 1, e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s. 􀀹 Se r
e s vengono viste come variabili random nell'intervallo [0,1], è
possibile caratterizzarle mediante le rispettive densità di
probabilità, pr(r) e ps(s).
 Dalla teoria della probabilità, se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a), si ha:
 La
dr 

p s ( s ) =  pr (r ) 
ds  r =T 1 ( s )

 E'
possibile pertanto controllare la distribuzione dei livelli di
grigio nell'immagine trasformata adoperando una adeguata
funzione di trasformazione.
Multimedia - Prof. Sebastiano Battiato
18
Equalizzazione dell’Istogramma

In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r:
r
s = T (r ) = ( L  1)  pr ( )d, 0  r  L  1
0

La CDF soddisfa entrambe le condizioni a) e b), in quanto è ad un
solo valore e cresce monotonicamente (fra 0 e 1) in funzione di r.
Derivando rispetto a r si ottiene (per la regola di Leibniz):
ds dT (r )
d r
=
= ( L  1)  pr ( )d = ( L  1) pr (r )
dr
dr
dr 0
e quindi:


1
1
p s ( s ) =  pr ( r )
=

( L  1) pr (r )  r =T 1 ( s ) L  1

0  s  L 1
Multimedia - Prof. Sebastiano Battiato
Multimedia - Prof. Sebastiano Battiato
19
Equalizzazione dell’Istogramma

Pertanto la densità di probabilità della variabile trasformata
è uniforme nel suo intervallo di definizione,
indipendentemente dalla funzione di trasformazione inversa
T-1(s). Questo è importante perché l’inversione della T(r)
non è, in generale, una operazione analiticamente semplice.

Utilizzando come trasformazione la CDF di r si ottiene
dunque una immagine con densità di probabilità
uniforme dei livelli di grigio, indipendentemente dalla
densità di probabilità iniziale. Ne deriva un incremento
nella gamma dinamica dei pixel che può avere notevoli
effetti sulla"apparenza" dell'immagine.
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma
Tornando
a considerare discrete le variabili random, si prendono in
considerazione probabilità e somme al posto di densità di probabilità
e integrali. Si ha per la probabilità di occorrenza dei livelli di grigio:
p(rk ) =
nk
MN
per 0  rk  1 e k = 0,1, ..., L-1
La
funzione da utilizzare per l'equalizzazione dell'istogramma nel
caso discreto è la seguente:
k
sk = T (rk ) = ( L  1) pr (rj ) =
j =0
( L  1) k
 n j , 0  rk  L 1 e k = 0,1, ..., L-1
MN j =0
La
trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk, attraverso la T(rk) che si calcola direttamente
dall’istogramma dell'immagine di partenza.
Multimedia - Prof. Sebastiano Battiato
20
Equalizzazione: un esempio
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma




Come si può notare, l’istogramma della immagine equalizzata non è
piatto. D’altro canto, l’uniformità della ps(s) è stata verificata solo
nel caso continuo, e non nel caso discreto.
Tuttavia, i livelli di grigio dell’immagine equalizzata spaziano su
tutta la dinamica possibile (anche se alcuni livelli possono non
essere presenti), ed in particolare raggiungono sempre il bianco.
Al conseguente incremento del contrasto si possono aggiungere
effetti sgradevoli quali lo “sgranamento” dell’immagine, la
comparsa di “false” regioni, ecc., soprattutto quando il contrasto
dell’immagine originale è molto basso.
L’apparenza dell’immagine può essere migliorata anche con altre
tecniche di modifica del contrasto, ma l’equalizzazione
dell’istogramma ha il vantaggio di essere completamente
automatica.
Multimedia - Prof. Sebastiano Battiato
21
Equalizzazione: Esempio1
Si consideri la seguente immagine di dimensione 20x20.
La prima colonna larga 10 ha colore 0, la seconda colonna larga 5, ha
colore 1, la terza colonna larga 3 con colore 3, la quarta colonna larga 2
con colore 4.
k
r
nk/n
0
0
(20*10)/400 = 0,5
1
0,25
(20*5)/400 = 0,25
2
0,5
(20*0)/400 = 0
3
0,75
(20*3)/400 = 0,15
4
1
(20*2)/400 = 0,1
Multimedia - Prof. Sebastiano Battiato
Equalizzazione: Esempio1
Il relativo istogramma è il seguente:
0,6
0,5
0,5
0,4
0,25
0,3
0,15
0,2
0,1
0,1
0
0
1
2
3
4
5
L’operatore T(r) utilizza le frequenze cumulate per definire i valori sk
come segue:
s0=T(r0)= 0,5
----- r2
s1=T(r1)= 0,75
----- r3
s2=T(r2)= 0,75
----- r3
s3=T(r3)= 0,9
----- r4
s4=T(r4)= 1
----- r4
Multimedia - Prof. Sebastiano Battiato
22
Equalizzazione: Esempio1
La LUT corrispondente è quindi univocamente determinata:
Multimedia - Prof. Sebastiano Battiato
Equalizzazione: Esempio1
L’istogramma finale dell’immagine equalizzata avrà la seguente forma:
0,6
0,5
0,5
0,4
0,3
0,25
0,25
4
5
0,2
0,1
0
0
1
2
0
3
L’aspetto grafico dell’immagine sarà quindi:
Multimedia - Prof. Sebastiano Battiato
23
Equalizzazione: Esempio2
Perché l’equalizzazione non produce in realtà un istogramma piatto?
Vediamolo con un esempio. Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0, 1, …, 7) e la seguente distribuzione di probabilità:
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma
Applicando la trasformazione si ottengono i seguenti valori:
s0=T(r0)=0,015
s1=T(r1)=0,115
s2=T(r2)=0,365
s3=T(r3)=0,765
s4=T(r4)=0,965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali. Che fare allora?
Multimedia - Prof. Sebastiano Battiato
24
Equalizzazione dell’Istogramma
Avendo a disposizione solo 8 valori di grigio, bisogna approssimare i
valori sk così ottenuti al valore di grigio possibile più vicino (multipli di
1/7=0.143). Denotando con ss tali valori approssimati si ottiene:
Ridistribuendo i pixel sui nuovi livelli, la distribuzione di probabilità
dei pixel dell’immagine di uscita è la seguente: ps(0) = 0.015 ps(0.143)
= 0.1 ps(0.286) = 0 ps(0.428) = 0.25 ps(0.571) = 0 ps(0.714) = 0.4
ps(0.857) = 0 ps(1) = 0.235
Multimedia - Prof. Sebastiano Battiato
Equalizzazione dell’Istogramma


E’ l’approssimazione nel calcolo dei nuovi livelli, dovuta alla
natura discreta dei livelli stessi, a causare la non uniformità
dell’istogramma.
Inoltre si può notare che il livello massimo è necessariamente
presente, per effetto del meccanismo di trasformazione utilizzata.
Qual è l’effetto prodotto dalla equalizzazione di una immagine
già equalizzata?
Multimedia - Prof. Sebastiano Battiato
25
(1)
(2)
(3)
(4)
Multimedia - Prof. Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di
enhancement sulla trasformazione volta ad ottenere un
istogramma uniforme non è la migliore soluzione. In particolare è
spesso utile, specificare la “forma” (shape) dell’istogramma che
si vuole ottenere. Questa tecnica prende il nome di Histogram
Matching o Specification.
Multimedia - Prof. Sebastiano Battiato
26
Histogram Matching: un esempio
L’equalizzazione appiattisce
“wash-out” l’immagine di
input
Multimedia - Prof. Sebastiano Battiato
Histogram Matching: un esempio
Multimedia - Prof. Sebastiano Battiato
27
Contrast Stretching
I punti di controllo (r1,s1) e
(r2,s2) regolano la tipologia
di
trasformazione
da
applicare.
Se r1=s1 e r2=s2 si ottiene
la retta a 45° gradi che
lascia tutto inalterato.
Se r1=r2 , s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding.
(r1,s1) = (rmin, 0)
(r2,s2) = (rmax, L-1)
r1 = r2 = m
s1 =0, s2=L-1
Di solito si ha r1≤ r2 e s1≤
s2 per ovvi motivi.
Multimedia - Prof. Sebastiano Battiato
Elaborazioni puntuali non
omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate, in
particolare per l’estrazione dalla immagine di una parte significativa (ROI –
Region of Interest) che debba essere successivamente elaborata.
Questa operazione, detta anche di masking, può essere condotta come
mostrano gli esempi seguenti, ricordando che l’operazione logica è
effettuata bit per bit, tra pixel nella stessa posizione nelle due immagini.
Multimedia - Prof. Sebastiano Battiato
28
Miglioramento locale
L’equalizzazione dell’istogramma vista in precedenza, non si presta ad
un miglioramento dell'immagine relativo a dettagli in piccole aree
(piccolo numero di pixel), in quanto essa prevede una trasformazione
basata sulla distribuzione dei livelli di grigio nella intera immagine.
Multimedia - Prof. Sebastiano Battiato
Multimedia - Prof. Sebastiano Battiato
29
Miglioramento locale
Il piccolo numero di pixel in queste aree può avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale, che pertanto non garantirà
necessariamente il miglioramento locale. E’ possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietà dei pixel) in piccole aree dell'immagine.
Oltre all’istogramma, altre proprietà frequentemente usate in
elaborazioni locali di questo tipo sono l'intensità media m, che
è una misura della luminosità media dell'intorno considerato, e
la varianza σ2 (o la sua radice quadrata, cioè la deviazione
standard σ), che è una misura del contrasto nell'intorno.
Multimedia - Prof. Sebastiano Battiato
Miglioramento Locale

Con lo stesso significato dei simboli visto in precedenza, il
momento centrale n-mo di r (l’attributo centrale significa che
alla r è stata sottratta la sua media m) è definito come:
L 1
 n (r ) =  ri  m p(ri )
n
i =0

L 1
dove m =  ri p(ri )
i =0
Si ha, ovviamente, µ0= 1 e µ1= 0. In particolare, per n = 2, si
ha la varianza:
L 1
 2 (r ) =  2 (r ) =  (ri  m) 2 p(ri )
i =0
Multimedia - Prof. Sebastiano Battiato
30
Features Extraction: Contrast and Focus


To be able to identify regions of the image that contain more
information, the luminance plane is subdivided in m blocks
of equal dimensions (NxN).
For each block, statistical measures of “contrast” and
“focus” are computed. The underlying assumption is that
that well focused or high-contrast blocks are more relevant
compared to the others.
Focus Measure


The focus measure is computed by convolving each block
with a simple 3x3 Laplacian filter. In order to discard
irrelevant high frequency pixels (mostly noise), the outputs of
the convolution at each pixel are bounded (fixed threshold).
The mean focus value of each block is computed as:
i =1 thresh[lapl (i), Noise]
F=
N2
N2
where N2 is the number of pixels and the thresh() operator
discards values lower than a fixed threshold Noise.
31
Contrast Measure


In order to remove irrelevant peaks, the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood. Thus, the original
histogram entry is replaced with the gray-level:
I [i  2]  I [i  1]  I [i]  I [i  1]  I [i  2]
~
I [i] =
5
The contrast measure is computed by simply building a histogram for each
block and then calculating its deviation
from the mean value

~
i =0 i  M  I [i]
255 ~
i =0 I [i]
255
D=
~
i =0 i  I [i]
255 ~
i =0 I [i]
255
M =
A high deviation value denotes good contrast and vice versa.
Examples
(a) Original Color input image; (b) Contrast and focus visually significant detected blocks;
(c) Contrast enhancement obtained from RGB image through global correction.
32
Experiments
•Input
•Local
•Global
Correction
Correction
Experiments
•Input
•Local
•Global
Correction
Correction
33
Miglioramento locale:un esempio
Un esempio di elaborazione che fa uso dei valori locali di questi
parametri statistici è il seguente:
g(x,y)=A(x,y)[f(x,y) – m(x,y)]+m(x,y)
dove:
A(x,y) = k (M/ σ(x,y)), con 0 < k < 1
m(x.y) e σ(x,y) sono rispettivamente la media e la deviazione standard
dei livelli di grigio nell'intorno di (x,y), M è la media globale di f(x,y) e
k è una costante. La trasformazione così definita viene utilizzata per
calcolare il nuovo valore del pixel centrale dell’intorno.
Poiché A è inversamente proporzionale alla varianza, le aree
dell'immagine a minore contrasto vengono a guadagnare di più. La
media locale è aggiunta per ripristinare l'intensità media dell'immagine
nell'intorno. Tecniche di manipolazione locale del contrasto risultano
particolarmente adatte ad immagini in cui alcune parti sono
accettabili, altre contengono particolari altrettanto significativi ma
meno evidenti.
Multimedia - Prof. Sebastiano Battiato
Multimedia - Prof. Sebastiano Battiato
34
MATLAB histogram function
h=imhist(f,bin);
P=imhist(f,bin)/numel(f);
h1=h(1:10:256);
horz=1:10:256;
bar(horz,h1);
stem(horz,h1, ‘fill’);
plot(h);
g1=histeq(f,nlev);
%Histogram Equalization
g2=histeq(f, hspec);
%Histogram specification where hspec is a row vector
Multimedia - Prof. Sebastiano Battiato
MATLAB: imadjust
Imadjust è la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio. La sua sintassi è:
g=imadjust(f,[low_in,high_in],[low_out,high_out],gamma)
Multimedia - Prof. Sebastiano Battiato
35
Filtraggio Spaziale
L’argomento è stato già trattato nel
corso di IEM. Un pò di notazione è
comunque utile e necessaria per il
proseguio.
In generale il filtraggio (lineare) di
un’immagine f con una “filter mask”
m x n è data dall’espressione:
g ( x, y) =
a
b
   ( s, t ) f ( x  s, y  t )
s =  a t = b
dove a = (m-1)/2 e b = (n-1)/2.
Ovviamente questa operazione va
ripetuta per x = 0, 1 , …, M-1 e y =
0, 1, …, N-1 dove M, N sono le
dimensioni dell’immagine f.
Multimedia - Prof. Sebastiano Battiato
Filtraggio Spaziale
In questo caso:
mn
R =  i zi
i =1
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dell’immagine da
filtrare. Il meccanismo qui illustrato è simile
al concetto di convoluzione proprio del
dominio delle frequenze: da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione.
Multimedia - Prof. Sebastiano Battiato
36
Operatori e maschere








N-box
N-binomiale
Sobel x,y
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof. Sebastiano Battiato
Filtraggio in MATLAB:imfilter
>I = imread(‘lena.jpg');
>h = ones(3,3)/9;
>I2 = imfilter(I,h);
>imshow(I), title(‘Immagine Originale');
>figure, imshow(I2), title(‘Immagine Filtrata’);
Multimedia - Prof. Sebastiano Battiato
37
MATLAB: Opzioni per imfilter
Multimedia - Prof. Sebastiano Battiato
MATLAB: Opzioni per imfilter
>Imfilter(I,ones(31), option)
Multimedia - Prof. Sebastiano Battiato
38
Filtraggio in MATLAB: fspecial
>I = imread(‘volto.jpg');
>h=fspecial('gaussian',[5 5] ,1)
>I2 = imfilter(I,h);
>imshow(I), title(‘Immagine Originale')
>figure, imshow(I2), title(‘Immagine Filtrata');
Multimedia - Prof. Sebastiano Battiato
MATLAB: Opzioni per fspecial
Nota Bene: Per i filtraggi non
lineari si vedano le funzioni
nlfilter e colfilt in grado
di applicare in stile convoluzione
(opzione ‘sliding’) una qualsiasi
operazione definita dall’utente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters.
Multimedia - Prof. Sebastiano Battiato
39
Fly UP