Elaborazione dell'immagine

Introduzione
Un immagine generica può essere definita come una funzione f : R
2
→R che associa ad ogni coppia di
coordinate spaziali un valore d'intensità:
z=f ( x , y )
anche se in realtà possiamo vedere un immagine definita su un range finito di valori di R
2
che creano
un rettangolo di dimensioni finite su cui sono definiti i corrispettivi valori di intensità. La funzione è
dunque del tipo
f : | a, b¦ x| c , d¦ →| 0,1¦
Un immagine a colori invece è una funzione vettoriale composta dalle tre color - matching functions
f ( x , y)=
|
r ( x , y )
g( x , y )
b( x , y)
¦

Enhancement dell'immagine
Aspetti generali
Un aspetto molto importante riguarda il processing dell'immagine, che permette di trasformare
l'immagine originale per un migliore utilizzo in una specifica applicazione.
L'utilizzo del termine specifico è appropriato: infatti le tecniche di enhancement dell'immagine sono
davvero orientate per ogni specifica trasformazione che si deve operare su una data immagine.
Possiamo considerare due grosse categorie di tecniche:
• quelle che operano nel dominio spaziale: operando fisicamente sui pixel che compongono
l'immagine;
• quelle che operano nel dominio della frequenza: che trasformano la trasformata di fourier di una
data immagine.
OSSERVAZIONE
In realtà non esiste una vera e propria teoria dell'enhancement dell'immagine. Infatti quando un
immagine viene sottoposta per un interpretazione visuale, solo l'osservatore può giudicare la qualità di
quel particolare algoritmo di enhancement.
Dunque possiamo dire che il processo di interpretazione visuale è un processo soggettivo, per cui una
buona immagine è definibile solamente in modo soggettivo.
Analisi nel dominio spaziale
Con il termine dominio spaziale si intende l'insieme dei pixel che compongono una data immagine.
Dunque, come abbiamo già detto, una procedura che opera nel dominio spaziale coinvolge i pixel
dell'immagine stessa, con una trasformazione che genera la nuova immagine. Tale trasformazione è del
tipo:
g ( x , y )=T | f ( x , y) ¦
dove g è la nuova immagine appena processata, e f è l'immagine di partenza. Ovviamente l'operatore T
opera in un intorno del punto di coordinate ( x , y ) . L'ampiezza dell'intorno rettangolare può essere
generica (N x N)

ed in particolare se si verifica che N=1 , T è detto operatore di gray – scale per il punto di coordinate
( x , y ) ed è esprimibile nella forma
s=T (r )
dove s e r sono i livelli di grigio dell'immagine processata e di partenza nel punto di coordinate ( x , y ) .
Tecniche di enhancement nel dominio spaziale
Negativo di un immagine
Supponiamo di voler considerare un immagine con L livelli di grigio che vanno da 0 a L – 1. Allora fare il
negativo di un immagine significa considerare la trasformazione T
s=L – 1– r
Trasformazione logaritmica
Una trasformazione di tipo logaritmica è una trasformazione del tipo
s=log(1+r )
dove tale trasformazione possiede il seguente vantaggio: a par t i re da uno strett o r ange di l i vel l i di
gri gi o d'i ngresso f orni sce i n usci t a un ampi o r ange di l i vel l i di gri gi o ; infatti questa trasformazione
viene utilizzata anche per l'espansione dei pixel neri mentre si effettua una compressione dei valori
degli alti livelli.
Trasformazione potenza
La trasformazione potenza è invece del tipo
s=cr
¸
con c e ¸ costanti positive
Elaborazione puntuale
Le tecniche di elaborazione puntuale sono le seguenti:
• incremento della luminosità : comporta una legge di trasformazione del tipo

J
k
( r , c)=I
k
(r , c)+g
se
I
k
( r , c)+g256
;
• 255 se
I
k
( r , c)+g>255
dove k è l'indice di banda.
• decremento della luminosità : comporta una legge di trasformazione del tipo
• 0 se
I
k
( r , c)−g0

J
k
( r , c)=I
k
(r , c)−g
se
I
k
( r , c)
con g¯0 e k = 1,2,3 indice di banda.
• Incremento e decremento del contrasto: per entrambi si fissa come legge di trasformazione la
T
k
(r , c)=a( I
k
( r , c )–127)+127
dove nel caso dell'incremento la costante a assume valori maggiori di 1.0 , mentre nel caso del decremento assume
valori compresi fra 0 e 1.0. La corrispondenza tra immagine processata e originale risulta essere :
• 0 se
T
k
(r , c)0

T
k
(r , c)
se
T
k
(r , c)<255
• 255 se
T
k
(r , c)>255
• incremento e decremento della gamma: per entrambi si fissa come legge di trasformazione la
J ( r , c)=255∗((I ( r , c))/ 255)
1/ ¸
dove nel caso dell'incremento la costante gamma assume valori maggiori di 1.0 , mentre nel caso del decremento
assume valori minori di 1.0.
• Manipolazione del contrasto: supponiamo di voler considerare la seguente funzione di
trasferimento
dove i livelli di grigio della seguente immagine subiscono una compressione per valori al di sotto del valore m e
un espansione al di sopra di tale valore. Un immagine che viene trasformata con tale funzione di
trasformazione è un immagine ad elevato contrasto. I valori al di sotto di r subiscono uno inscurimento ,
mentre quelli al di sopra vengono resi più luminosi, ciò quindi giustifica l'elevato contrasto.
Funzioni di trasformazione di questo tipo dunque vengono utilizzate per manipolare il contrasto.
Dunque supposto di voler considerare con
m
I
=min| I (r , c) ¦
,
M
I
=max |I (r , c) ¦
,
m
J
=min| J (r , c) ¦
e
M
J
=max| J(r , c) ¦
, l'operazione di streching del contrasto consiste nella legge
J ( r , c)=
(M
j
–m
j
)∗I ( r , c) –m
I
M
i
–mi
+m
J

Elaborazione dell'istogramma
Istogramma di un immagine in scala di grigi
L'istogramma delle immagini in scala di grigi con L livelli di grigio è definita come una funzione discreta
h| r
k
¦=n
k
dove
r
k
è un k-esimo livello di grigio e
n
k
è il numero dei pixel che hanno quel livello di grigio.
Solitamente è espresso in forma normalizzata sul numero totale di pixel come funzione discreta:
p|r
k
¦=(n
k
)/ n
dove p esprime in realtà la probabilità di occorrenza di un dato livello di grigio; n è il numero totale dei pixel e la
somma di tutti i contributi della funzione p è unitaria.
Istogramma di un immagine a colori
Supponiamo di voler considerare un immagine I a 3 bande di colori (una per il rosso, una per il verde e
una per il blu) allora avremo 3 istogrammi dei colori, che sono funzioni discrete del tipo:
• h_R(g+1) = value dove value e il numero di pixel in I(;;1) con intensità g;
• h_G(g+1) = value dove value e il numero di pixel in I(;;1) con intensità g;
• h_B(g+1) = value dove value e il numero di pixel in I(;;1) con intensità g.
o come un istogramma vettorizzato 1- based h(g,1,b) del tipo :
• h_R(g+1,1,1) = value dove value e il numero di pixel rossi con intensità g;
• h_G(g+1,1,1) = value dove value e il numero di pixel verdi con intensità g;
• h_B(g+1,1,1) = value dove value e il numero di pixel blu con intensità g.
Istogramma di luminanza
Si definisce inoltre istogramma di luminanza di un immagina a 3 bande di colori l'istogramma regolato
dalla seguente funzione:
V( r , c)=
1
3
|R( r , c)+G( r , c)+B( r , c)¦
dove R , G e B sono le 3 bande di colori di I.
Filtraggio di un immagine
Introduzione
Il concetto di filtraggio ha origine dalla trasformata di Fourier di un segnale, che analizza il segnale nel
dominio della frequenza. Definiamo dunque alcune tecniche di filtraggio spaziale, ossia un filtraggio che
viene operato direttamente sui pixel di una data immagine.
Il meccanismo di Filtraggio
Filtraggio Lineare
L'operazione di filtraggio consiste nello spostare la maschera del filtro da una punto ad un altra di una
data immagine. La risposta al filtro viene dunque calcolata a partire dalla produttoria della coordinata
spaziale al di sotto della maschera con il valore dell'immagine in quel punto stesso.
f ( x , y)=w(0,0) f ( x , y)+w(–1,0) f ( x –1, y)+w(0,1) f ( x , y+1)+.
In realtà il punto di coordinate (0,0) è l'effettivo valore della f(x,y) per cui esso rappresenta il punto di
inizio del filtraggio stesso. Inoltre la maschera solitamente è di dimensioni variabili (MxN) dove:
• M = 2a + 1;
• N = 2b + 1
con a e b non negativi ma sopratutto dispari. Dunque possiamo pensare di scrivere la funzione
precedente come la doppia sommatoria
che in realtà corrisponde anche ad un operazione di convoluzione.
Filtraggio Lineare
Il filtraggio non lineare opera molto similmente a quello del lineare, sempre considerando una
maschera che opera direttamente sui pixel di un immagine. Il filtraggio però,in questo caso, è un
operazione compiuta nell'intorno del punto preso in considerazione. Filtri di questo tipo sono i cosidetti
filtri di smoothing.
Filtri di smoothing
Un operazione di smoothing è molto utile perchè permette di sfocare l'immagine al fine di rimuovere
eventuali imperfezioni prima dell'estrazione di un oggetto da un immagine stessa, ed è molto utile per la
riduzione del rumore di una data immagine.
Esistono due tipi di filtri:
1. Filtri di smoothing lineari
2. Filtri di smoothing ordered-statistics.
Filtri di smoothing lineari
Un filtro di smoothing lineare sostituisce ogni valore di pixel associato ad un dato livello di grigio con la media dei
pixel contenuti nell'intorno definito dalla maschera del filtro, per cui questi sono definiti anche filtri in media
pesata.
L'operazione di media pesata è la seguente
Filtri di smoothing ordinati statisticamente
Un filtro di smoothing ordinato statisticamente opera un filtraggio effettuando un ordinamento dei pixel
appena analizzati dalla maschera del filtro. L'operazione che viene effettuato è un vero e proprio ordinamento,
con lo step finale di porre nel punto di coordinate (0,0) il valore massimo dei pixel.
Filtri di smoothing pesati
Sono filtri di smoothing che effettuano filtraggio disponendo i valori più alti dei pixel verso il centro e
quelli più bassi ai capi dell'immagine stessa. Solitamente sono impiegati per rimuovere il rumore, in
quanto funzionano, molte volte, meglio dei filtri mediani.
Filtraggio con filtri affinanti o sharpening filters
Definizione
Uno sharpening filter è un filtro che permette di evidenziare i dettagli al seguito di un operazione di blurring
(sfocamento), come un 'immagine acquisita per effetto di una periferica di acquisizione.
Analizziamo il comportamento di questo filtro ricordando che:
• un operazione di blurring si ha quando si effettua una media dei pixel in un immagine;
tuttavia, nel caso dello sharpening, si procede nella separazione delle aree di un immagine.
Analizziamo le derivate di un immagine in aree particolari, come l'inizio o la fine di alcune discontinuità
(gradini e rampe) e lungo le rampe di livelli di grigio. In un immagini tali discontinuità sono
rappresentate da punti, linee, rumore e bordi.
Parametri della prima derivata
La prima derivata è una funzione che risulta essere:
• zero su i segmenti;
• non nulla all'inizio della rampa e sulla rampa di livelli di grigio
ed è esprimibile con la seguente espressione:
d
1
dx
1
f ( x)=f ( x+1) –f ( x)
Parametri della derivata seconda
La prima derivata è una funzione che risulta essere:
• zero su i segmenti e su rampe a pendenza costante;
• non nulla all'inizio e fine della rampa di livelli di grigio;
ed è esprimibile con la seguente espressione:
d
2
dx
2
f ( x)=f ( x+1)+f ( x−1) –2f ( x)
Filtro Laplaciano
Ricordiamo che il laplaciano di una funzione è dato dalla somma delle derivate seconde complete
rispetto ad entrambe le variabili
dove:

d
2
dx
2
f ( x)=f ( x+1, x)+f ( x−1, x) –2f ( x , x)
;

d
2
dx
2
f ( y)=f ( x , y+1)+f ( x , y−1)–2f (x , y)
per cui sostituendo le due derivate parziali si ottiene il Laplaciano di una funzione. Grazie a tale
discretizzazione, il laplaciano può essere utilizzato per realizzare filtraggi 2D
A livello implementativo tale filtraggio viene ottenuto considerando che la nuova immagine sarà
o per via algoritmica si considerano due step:
• si applica il filtro laplaciano;
• si somma al risultato l'immagine non filtrata.
Ulteriori processi di filtraggio
Processo 1
Per definire un immagine cosidetta “sharpened” si può utilizzare il seguente metodo:
• si considera l'immagine di partenza e vi si sottrae una sua versione sfocata
Tale processo viene chiamato unsharp masking.
g ( x , y)=f ( x , y) –f ' ( x , y )
Processo 2
Definiamo cosa si intende per high - boost filtering. Sono filtri che operano allo stesso modo dei
filtriunsharp, considerando una versione amplificata dell'immagine di partenza:
g ( x , y)=Af ( x , y ) –f ' ( x , y) A > 1
e la loro implementazione è del tipo

Sign up to vote on this title
UsefulNot useful