Anda di halaman 1dari 129

Elaborazione delle Immagini e Visione Artificiale

14/15
INDICE

2 digital image fundamentals 2


2.2 Light and the Electromagnetic Spectrum 2
2.3 Image Sensing and Acquisition 3
2.3.1 Image Acquisition using a Single Sensor 3
2.3.2 Image Acquisition using Sensor Strips 4
2.3.3 Image Acquisition using Sensor Arrays 4
2.3.4 A simple image formation model 5
2.4 Image Sampling and Quantization 5
2.4.1 Basic conceptis in Sampling and Quantization 6
2.4.2 Representing Digital Images 6
2.4.3 Spatial and Intensity Resolution 7
2.4.4 Image Interpolation 8
2.5 Some Basic Relationship between Pixels 8
2.5.1 Neighbors of a Pixel 8
2.5.2 Adjacency, Connectivity, REgions and Boundaries 8
2.5.3 Distance Measures 10
2.6 Mathematical Tools Used in Digital Image Processing 10
2.6.1 Array versus Matrix Operations 10
2.6.2 Linear versus Nonlinear Operations 10
2.6.3 Arithmetic Operations 11
2.6.4 Set and Logical Operations 12
2.6.5 Spatial Operations 12
3 intensity transformations and spatial filtering 16
3.1 Background 16
3.2 Some Basic Intensity Transformation Functions 17
3.2.1 Image Negatives 17
3.2.2 Log Transformations 17
3.2.3 Power-Law (Gamma) Transformations 18
3.2.4 Piecewise-Linear Transformation Functions 19
3.3 Histogram Processing 20
3.3.1 Histogram equalization 22
3.3.2 Histogram matching (Specification) 26
3.3.3 Local Histogram Processing 27
3.3.4 Using Histogram Statistics for Image Enhancement 28
3.4 Fundamentals of Spatial Filtering 29
3.4.1 The Mechanics of Spatial Filtering 29
3.4.2 Spatial Correlation e Convolution 29
3.4.3 Generating Spatial Filter Mask 32
3.5 Smoothing Spatial Filters 32
3.5.1 Smoothing Linear Filters 32
3.5.2 Order-Statistic (Nonlinear) Filters 33
3.6 Sharpening Spatial Filters 34
3.6.1 Foundations 35
3.6.2 Using the Second Derivative for Image Sharpening - The Laplacian 36
3.6.3 Unsharp masking and Highboost filtering 37
3.6.4 Using First-Order Derivatives for (Nonlinear) Image Sharpening - The
gradient 38
3.7 Combining Spatial Enhancement Methods 40
4 filtering in the frequency domain 43
4.6 Some Properties of the 2-D Discrete Fourier Transform 43
4.6.1 Relationships Between Spatial and Frequency Intervals 43
4.6.2 Traslation and Rotation 43
4.6.3 Periodicity 43
4.6.4 Symmetry Properties 44
4.6.5 Fourier Spectrum and Phase Angle 47
4.6.6 The 2-D Convolution Theorem 49

ii
4.6.7 Summary of 2-D Discrete Fourier Trasform Properties 52
4.7 The basics of Filtering in the Frequency Domain 52
4.7.1 Additional Characteristics of the Frequency Domain 52
4.7.2 Frequency Domain Filtering Fundamentals 54
4.7.3 Summary of Steps for Filtering in the Frequency Domain 57
4.7.4 Correspondence Between Filtering in the Spatiale and Frequency Do-
mains 57
4.8 Image Smoothing Using Frequency Domain Filters 59
4.8.1 Ideal Lowpass Filters 59
4.8.2 Butterworth Lowpass Filter 61
4.8.3 Gaussian Lowpass Filters 62
4.8.4 Additional Examples of Lowpass Filtering 63
4.9 Image Sharpening Using Frequency Domain Filters 64
4.9.1 Ideal Highpass Filters 65
4.9.2 Butterworth Highpass Filters 66
4.9.3 Gaussian Highpass Filters 66
4.9.4 The Laplacian in the Frequency Domain 67
4.9.5 Unsharp Masking, Highboost Filtering and High-Frequency-Emphasis
Filtering 68
4.10 Selective Filtering 70
4.10.1 Bandreject and Bandpass Filters 70
4.10.2 Notch Filters 71
5 image restoration and reconstruction 73
5.1 A Model of the Image Degradation/Restoration Process 73
5.2 Noise Models 73
5.2.1 Spatial and Frequency Properties of Noise 73
5.2.2 Some important Noise Probability Density Function 74
5.2.3 Periodic Noise 77
5.2.4 Estimation of Noise Parameters 77
5.3 Restoration in the Presence of Noise Only - Spatial Filtering 78
5.3.1 Mean filters 78
5.3.2 Order-Statistic Filters 80
5.3.3 Adaptive Filters 82
5.4 Periodic Noise Reduction by Frequency Domain Filtering 85
5.4.1 Bandreject Filters 85
5.4.2 Bandpass Filters 86
5.4.3 Notch Filters 87
5.4.4 Optimum Notch Filtering 87
5.5 Linear, Position-Invariant Degradations 91
5.6 Estimating the Degradation Function 92
5.6.1 Estimation by Image Observation 93
5.6.2 Estimation by Experimentation 93
5.6.3 Estimation by Modeling 94
5.7 Inverse Filtering 96
5.8 Minimum Mean Square Error (Wiener) Filtering 97
5.9 Constrained Least Squares Filtering 98
5.10 Geometric Mean Filter 102
9 morphological image processing 103
9.1 Preliminaries 103
9.2 Erosion and Dilation 105
9.2.1 Erosion 105
9.2.2 Dilation 106
9.2.3 Duality 107
9.3 Opening and Closing 107
9.4 The Hit-or-Miss Transformation 109
9.5 Some Basic Morphological Algorithms 111
9.5.1 Boundary Extraction 111
9.5.2 Hole Filling 111
9.5.3 Extraction of Connected Components 113
9.5.4 Convex Hull 114

iii
9.5.5 Thinning 115
9.5.6 Thickening 116
9.5.7 Skeletons 117
9.5.10 Summary of Morphological Operations on Binary Images 118
9.6 Gray-Scale Morphology 119
9.6.1 Erosion and Dilation 120
9.6.2 Opening and Closing 121
9.6.3 Some Basic Gray-Scale Morphological Algorithms 123

1
D I G I TA L I M A G E F U N D A M E N TA L S

2.2 light and the electromagnetic spectrum


2
Nel 1666, Issac Newtoon scopr che un flusso di luce solare passa attraverso un prisma di
vetro, il flusso che ne emerge non unicamente bianco, ma composto da uno spettro continuo
di colori dal viola fino al rosso. Lintervallo dei colori che percepiamo attaverso la luce visibile
rappresenta una porzione molto piccola dellintero spettro elettromagnetico della luce.

Lo spettro elettromagnetico pu essere espresso in termini di lunghezza donda, frequenza


o energia. La lunghezza donda (l) e la frequenza () sono legate dalla seguente espressione:

c
= dove c la velocit della luce.
v
Lenergia delle onde dello spettro data, invece, da questa formula:

E = h dove h la costante di Planck.


Lunit di misura della lunghezza donda il metro, usato principalmente coi prefissi micro ()
[106 ] e nano (n) [109 ]. La frequenza, invece, misurata in Hertz (Hz), dove 1 Hz equivale a
un ciclo di unonda sinusoidale al secondo.

Le onde elettromagnetiche possono essere considerate come onde sinusoidale che si propaga-
no con una lunghezza donda l oppure come un flusso di particelle senza massa che viaggia
secono un modello ondulatorio alla velocit della luce. Ciascuna particella senza massa con-
tiene una certa quantit di energia, chiamata fotone. Lenegia trasportata proporzionale alla
frequenza, dunque i fenomeni elettromagnetici ad alta frequenza (e corta lunghezza donda)
trasportano maggiore energia per fotone.

La luce un tipo particolare di radiazione elettromagnetica che pu essere rilevata dalloc-


chio umano. La banda visibile dello spettro elettromagnetico va da 0, 43m (viola) a circa
0, 79m (rosso). Per comodit, lo spettro dei colori viene diviso in sei regione discrete: viola,
blu, verde, giallo, arancione e rosso.
I colori che gli esseri umani percepiscono osservando gli oggetti sono determinati dalla
luce riflessa da tali oggetti. Un corpo che riflette luce in maniera relativamente bilanciata in
tutte le lunghezze donda del visibili apparir bianco a un osservatore. Invece, un corpo che
favorisce la riflessione di un intervallo limitato dello spettro del visibile esibir solo alcuni
colori.
La luce priva di colore chiamata luce monocromatica. Lunico suo attributo lintensit.
Questultima viene percepita come variazione dal nero, al grigio fino al bianco, quindi spesso
chiamata livello di grigio.

2
Oltre alla frequenza, 3 quantit di base vengono utilizzare per descrivere qualitativamente
una fonte di luce cromatica:

radianza la quantit totale di energia che emerge dalla sorgente di luce, misurata in
Watt [W];

luminanza una misura della quantit di energia che un osservatore percepisce dalla
sorgente luminosa, misurata in Lumen [lm];

luminosit una percezione soggettiva della luce praticamente impossibile da misura-


re. Corrisponde alla qualit acromatica dellintensit ed un fattore chiave nella nostra
sensazione del colore.

Per esempio, la luce emessa da una sorgente della regione infrarossa dello spettro potrebbe
avere considerevole energia (radianza), ma un osservatore difficilmente la percepirebbe, la
sua luminanza varrebbe quasi 0.

In teoria, se potesse essere sviluppato un sensore capace di rilevare lenergia irradiata in


una particolare banda dello spettro elettromagnetico, potremmo creare immagini di eventi
di interesse in tale banda. importante per notare che la lunghezza di unonda elettro-
magnetica necessaria per vedere un oggetto deve essere della stessa dimensione o pi
piccola delloggetto. Per esempio, una molecola dacqua ha un diametro dellordine di 1010
m, quindi per studiarla avremmo bisogno di una sorgente capace di emettere nella regione
dellultravioletta profonda o allinizio della regione dei raggi X.
Questa limitazione, insieme alle propriet fisiche dei materiali usati come sensori, stabili-
sce un limite fondamentale alla capacit dei sensori per le immagini per lo spettro visibile,
infrarosso o altri in uso oggi.

2.3 image sensing and acquisition

La maggior parte delle immagini che ci interessano sono generate dalla combinazione di
una sorgente di illuminazione e la riflessione o lassorbimento dellenergia di tale sorgente da
parte degli elementi della scena rappresentata. Lilluminazione potrebbe essere originata da
una fonte di energia elettromagnetica non convenzionale come un radar, luce infrarosso o
un sistema a raggi X. Oltre lo spettro elettromagnetico, la fonte di illuminazione potrebbero
ultrasuoni o un pattern di illuminazione generato da un computer. A seconda della natura
della sorgente, lenergia di illuminazione viene riflessa (es. luce riflessa da una superficie)
oppore trasmessa attraverso gli oggetti (es. analisi diagnostica con raggi X).

Lidea semplice: lenergia che arriva viene trasformata in voltaggio dalla combinazione
fra elettricit in input e il materiale del sensore che sensibili alla particolare tipo di energia
da rilevare. Loutput sar una voltaggio ondulatorio e una quantit digitale viene ottenuta
da ciascun sensore.
Esistono 3 principali tipologie di sensori usati per trasformare lenergia di illuminazione
in immagini digitali.

2.3.1 Image Acquisition using a Single Sensor

Probabilimente il singolo sensore pi familiare il fotodiodo che composto da materiale


a base silicio in grado di riconoscire una determinata lunghezza donda dellonda elettro-
magnetica incidente ad esso sfruttando leffetto fotovoltaico e il cui output ondulatorio
proporzionale alla luce. Luso di un filtro monocromatico di fronte al sensore utile per

3
aumentare la selezione. Per esempio, un filtro verde favorisce lentrata della luce nella banda
verde dello spettro del colore. Conseguentemente il sensore sar pi sensibile e potente per
la luce verde rispetto alle altre componenti.

Per generare immagini 2-D usando un singolo sensore, deve esserci un movimento in
entrambe le direzioni x e y fra il sensore e larea che deve essere riprodotta. Per esempio,
nellimmagine si nota un metodo usato per lo scanning ad alta precisione: una pellicola
negativa montata su un cilindto che tramite rotazione meccanica fornisce il movimento
in una direzione mentre il sensore montato su una barra che fornisce il movimento nella
direzione perpendicolare. Il movimento meccanico pu essere controllato con alta precisione
e dunque si possono ottenere immagini ad alta risoluzione.

2.3.2 Image Acquisition using Sensor Strips

Pi usata del sensore singolo la disposizione in linea di pi sensori come una striscia
unica. La striscia fornisce la riproduzione di elementi in una direzione, il movimento per-
pendicolare fornisce quella nellaltra direzione. il tipo di disposizione usata nella maggior
parte degli scanner. La striscia fornisce una linea dellimmagine alla volta e il movimento di
essa completa la seconda dimensione di unimmagine normale.

Questa tecnologia viene usata anche per la diagnositca medicale: una sorgente rotante di
raggi X fornisce illuminazone e una striscia circolare di sensori opposti alla fonte raccolo-
gono lenergia dei raggi X che ha attraversato il paziente (CAT). importante considerare
che gli output dei sensori devono essere post-processati tramite algoritmi ricostruttivi per
trasformare i dati in immagini di sezione significative.

Le immagini non sono mai ottenute direttamente ed esclusivamente dai sensori in movimenti,
richiesto comunque una successiva elaborazione dei dati.

2.3.3 Image Acquisition using Sensor Arrays

Multipli sensori organizzati in matrici bidimensionali, in questo modo unimmagine comple-


ta pu essere ottenuta concentrando lenergia sulla superficie dellarray e il movimento non
pi necessario. il sistema pi utilizzata per le fotocamete digitali. Un tipico sensore per le
fotocamete un array di CCD, che pu essere fabbricato con diverse propriet di sensibilit
e di dimensioni di 4000 X 4000 elementi e pi. La risposta di ciascun sensore proporzionale
allintegrale dellenergia della luce incidente alla superficie del sensore.

Modello di formazione di unimmagine: lenergia di una sorgente di illuminazione viene


riflessa da un elemento della scena (potrebbe anche essere trasmessa).

4
La prima funzione da parte del sistema di riproduzione quella di raccogliere lenergia
in arrivo e concentrarla sul piano dellimmagine. Se la sorgente di illuminazione luce, ci
sar una lente ottica che proietta la scena sul piano focale della lente. Larray di sensori, che
coincidente al piano focale, produce output proporzionali allintegrale della luce ricevuto
da ciascun sensore. Circuiti analogici e digitali convertono questi output in segnali analogici
che vengono poi digitalizzati. Loutput finale unimmagine digitale.

2.3.4 A simple image formation model

Abbiamo gi detto che consideriamo le immagini come funzioni bidimensionali nella forma
f(x, y). Il valore di f rispetto alle coorinate spaziali (x, y) una quantit scalare positiva il
cui significato fisico determinato dalla fonte dellimmagine. Quando limmagine generata
da un processo fisico, i valori dellintensit sono proporzionali alleneregia irradiata dalla
sorgente fisica. Conseguentemente f(x, y) sar positiva e finita, cio

0 < f(x, y) <

La funzione f(x, y) pu essere caratterizzata da due componenti: la quantit di illuminazio-


ne della sorgente incidente alla scena visulizzata e la quantit di illuminazione riflessa dagli
oggetti nella scena. Queste componenti sono due funzioni e si chiamano rispettivamente
illuminazione e riflettanza denotate con i(x, y) e r(x, y), combinandole:

f(x, y) = i(x, y)r(x, y) dove 0 < i(x, y) < e 0 < f(x, y) < 1

Ovvero la rifelltanza compresa fra 0 (assorbimento totale) e 1 (riflettanza totale). La natu-


ra di i(x, y) determinata dalla sorgente luminosa mentre la natura di r(x, y) determinata
dalle caratteristiche delloggetto riprodotto.

2.4 image sampling and quantization

Lobiettivo di una qualsiasi acquisizione di immagine lo stesso: generare unimmagine


digitiale a partire da dati significativi. Louput della maggiorparte dei sensori un voltaggio
ondulatorio continuo dipendente dal fenomeno fisico rilevato, per creare immagini digitali
dobbiamo convertire i dati continui in forma digitali. Sono necessari due processi: Sampling
e Quantization.

5
2.4.1 Basic conceptis in Sampling and Quantization

Unimmagine pu essere considerata continua sia rispetto alle sue coordinate x e y sia
rispetto allintensit dei valori di f, quindi dobbiamo digitalizzare entrambi questi dati.
Il Sampling (campionamento) la digitalizzazione delle coordinate mentre la Quantization
(quantizzazione) la digitalizzazione dei valori dellintensit.

Consideriamo il segmento AB nella figura seguente e ricaviamo la funzione mono-dimensionale


del livello di intensit. Per farne il campionamento, prendiamo dei campioni ugualmente
spaziati lungo la linea AB. Linsieme di questi punti discreti ci forniscono la funzione del
campionamento, ma i suoi valori sono ancora continui. Dobbiamo convertire anche i valori
dellintensit in quantit discrete ovvere quantizzare. Per farlo dividiamo lintervallo dei va-
lori di intensit in un numero finito (8) di intervalli a cui segnato uno specifico valore. I
valori continui vengo quantizzati assegnando uno degli 8 valori a ciascuno campione in base
alla vicinanza. Laccuratezza della quantizzazione dipende molto dal rumore presente nel
segnale campionato.

Applicando questa procedura linea per linea viene prodotta lintera immagine digitale bi-
dimensionale a partire da unimmagine continua nelle coordinate e nellintensit.

Il campionamento determinato dalla tipologia di sensori utilizzata per generare limmagine:


un sensore singolo in movimento pu teoricamente produrre dei campioni molto precisi, ma
altre limiti sono imposti dalla qualit dei componenti ottici del sistemi. Se viene utilizzata
una striscia di sensori il numero di campioni rilevabili in una direzione fissata, mentre nel-
laltra si pu essere pi precisi grazie al movimento, ma avrebbe poco senso avere maggiore
risoluzione su una dimensione rispetto allaltra. Se viene invece usato una matrice di sensori
il numero di campione fissato in entrambe le direzioni.

La qualit di unimmagine digitale determinata dal numero di campioni e dal numero


di livelli di intensit utilizzati per il sampling e la quantization.

2.4.2 Representing Digital Images

Supponiamo di avere campionato unimmagine reale in un matrice bi-dimensionale f(x, y)


contenente M righe e N colonne, dove (x, y) sono coordinate discrete. La sezione del piano
reale che contiene le coordinate di unimmagine detto dominio spaziale.
La terza rappresentazione nellimmagine seguente, in cui sono presentati i valori numerici
di f(x, y) come matrice, la pi comune e utile quando si sviluppano algoritmi, spesso con-
siderando solo una parte della matrice.

La parte a destra una matrice di numeri reali. Ogni elemento della matrice detto image

6
element o pixel e lorigine di unimmagine digitale in alto a sinistra, con la x che si sviluppa
verso il basso e la y che si sviluppa verso destra:

f(0, 0) f(0, 1) ... f(0, N 1)



f(1, 0) f(1, N 1)
f(1, 1) ...
f(x, y) =


f(M 1, 0) f(M 1, 1) f(M 1, N 1)
...
O pi spesso:

a0,0 a0,1 ...


a0,N1 )

a
a1,N1 )
a1,1 ...
A = 1,0


a aM1,N1 )
M1,0 aM1,1 ...
Dopo i processi di sampling e quantization, se anche i valori di intensit sono degli interi,
unimmagine digitale diventa una funzione 2-D le cui coordinate e ampiezza sono interi.

Il processo di digitalizzazione richiede scelte riguardo i valori di M, N e L, ovvero il numero


discreto di livelli di intensit. Questo valore, per via delle caratteristiche di un computer, ti-
picamente una potenza di 2 ovvero L = 2k . Assumiamo che i valori discreti siano ugualmente
spaziati e che siano interi nellintervallo [0, L 1] e definiamo due concetti chiave:

dynamic range il rapporto fra la massima intensit misurabile e la minima intensit


rilevabili dal sistema; il limite superiore determinato dalla saturazione e il limite infe-
riore dal rumore; esso stabilisce il livello di intensit pi basso e quello pi alto che un
sistema pu rappresentare e di conseguenza che unimmagine pu avere.

contrasto la differenza fra il livello di intensit pi alto e quello pi basso in unimma-


gine; tipicamente unimmagine con alto dynamic range avr alto contrasto.

Il numero, b, di bit richiesti per memorizzare unimmagine digitalizzata b = M N k,


ma nel caso in cui M = N diventa b = N2 k.

2.4.3 Spatial and Intensity Resolution

La risoluzione spaziale, intuitivamente, la misura del pi piccolo dettaglio discernibile in


unimmagine. Spesso si definisce la risoluzione dellimmagine come il massimo numero di
coppie di linee distinguibili per unit spaziale (es. 100 linee per mm), altre volte si parla di
punti per unit spaziale (300 dpi). Per essere significative le indicazioni sulla risoluzione di
unimmagine devono essere espresse rispetto a unit spaziali. Dire che unimmagine ha riso-
luzione 1024 1024 pixel senza specificare le dimensioni spaziali associate non ci d nessuna

7
informazione significativa.

La risoluzione di intensit si riferisce, invece, al pi piccolo cambiamento distinguibili nei


livello di intensit. Ricordiamo che mentre i campioni usati per digitalizzare unimmagine
sono quantit discrete, questo non vale per il numero di livelli di intensit. Per in base alle
considerazioni sullhardware dei computer, il numero dei livelli di intensit solitamente un
intero potenza di due, pi comunemente un numero a 8 bit, a volte 16 quando richiesto
un miglioramento dellimmagine in un particolare intervallo di intensit. Quando si parla di
risoluzione di intensit si parla del numero di bit usati per i numeri dei livelli.

2.4.4 Image Interpolation

Linterpolazione uno strumento di base utilizzato molto per tecniche di correzione di difetti
dovuti a ingrandimento, riduzione, rotazione e trasformazioni geometriche. Fondamental-
mente linterpolazione un processo che utilizza dati conosciuti per stimare valori in punti
sconosciuti.

Esempio: abbiamo unimmagine 500 500 pixel e vogliamo ingrandirla fino a 750 750 pi-
xel. Immaginiamo una griglia 750 750 con la stessa spaziatura di pixel delloriginale, poi
la riduciamo fino a farla combaciare con loriginale, ovviamente ora la spaziatura sar molto
minore delloriinale. Dobbiamo assegnare livelli di intensit a tutti i punti e poi riespandere
limmagine. Come facciamo ad assegnare lintensit ai pixel in pi rispetto allimmagine
originale?

nearest neighbor interpolation Assegniamo al nuovo pixel lintensit del pixel pi


vicino nellimmagine originale. Un approccio semplice, ma pu produrre effetti indesi-
derati, come la distorsione dei bordi diritti;

bilinear interpolation Usiamo i 4 pixel pi vicini per stimare lintensit di un dato


punto con lequazione v(x, y) = ax + by + cxy + d;

bicubic interpolation Utilizziamo i 16 pixel pi vicini del punto ignoto da stimare. Il


valore di intensit assegnato al punto (x, y) ottenuto dallequazione v(x, y) = 3i=0 3i=0 aij xi yj .
Lintepolazione bicubica preserva i dettagli dellimmagine originale ed lo standard
usato in software commerciale come Adobe Photoshop.

2.5 some basic relationship between pixels

2.5.1 Neighbors of a Pixel

4-neighbours - N 4 (p) Un pixel p di coordinate (x, y) ha 4 vicini orizzontali e verticali le


cui coordinate sono (x + 1, y), (x 1, y), (x, y + 1), (x, y 1);

d-neighbours - N D (p) Un pixel p di coordinate (x, y) ha 4 vicini diagonali le cui coordi-


nate sono (x + 1, y + 1), (x + 1, y 1), (x 1, y + 1), (x 1, y 1);

8-neighbours - N 8 (p) Sono i pixel orizzontali, verticali e diagonali insieme. Se consieria-


mo pixel sul contorno, alcuni vicini potrebbe ricadere al di fuori dellimmagine.

2.5.2 Adjacency, Connectivity, REgions and Boundaries

Sia V linsieme dei valori di intensit usati per definire ladiacenza. In unimmagine binaria
V = 1 se ci riferiamo alladiacenza dei pixel con valore 1. In unimmagine a scala di grigi,
tipicamente V contiene pi elementi, un qualunque sottoinsieme dei 256 possibili valori.

4-adjacency Due pixel p e q con valori appartenenti a V sono 4-adjacent se q fa parte


dellinsieme N 4 (p);

8-adjacency Due pixel p e q con valori appartenenti a V sono 8-adjacent se q fa parte


dellinsieme N 8 (p);

m-adjacency Due pixel p e q con valori appartenenti a V sono m-adjacent se:

8
1. q fa parte dellinsieme N 4 (p) oppure;
2. q fa parte dellinsieme N D (p) e linsieme N 4 (p) N 4 (q) non contiene pixel i
cui valori appartengono a V .

Lm-adjacency utilizzata per eliminare le ambiguit che spesso emergono quando si


utilizza l8-adjacency, vedi immagine b e c

Un percorso (path) da un pixel p con coordinate (x, y) a un pixel q con coordinate (s, t)
una sequenza di pixel distinti con coordinate (x 0 , y 0 ), (x 1 , y 1 ), . . . , (x n , y n ) dove (x 0 , y 0 ) =
(x, y), (x n , y n ) = (s, t) e i pixel (x i , y i ) e (x i1 , y i1 ) sono adiacenti per 1 i n.

Sia S un sottoinsieme di pixel di unimmagine. Due pixel p e q si dicono connessi in S


se esiste un percorso fra loro costituito interamente da pixel di S.
Per ogni pixel p in S, linsieme dei pixel che sono connessi a lui in S chiamato componente
connessa di S. Se esso ha una sola componente connessa, allora linsieme S detto un insieme
connesso.

Sia R un sottoinsieme di pixel di unimmagine. Diciamo che R una regione dellimmagi-


ne se uninsieme connesso. Due regioni R i e R j sono adiacenti se la loro unione forma un
insieme connesso. Le regioni che non sono adiacenti sono dette disgiunte.

Supponiamo che unimmagine contenga K regioni disgiunte, R k , k = 1, 2, . . . , K, nessune


delle quali tocca il contorno dellimmagine. Sia R u lunione di tutte le K regioni, a sia (R u ) c
il suo complemento. Chiamiamo tutti i punti in R u il foreground (primo piano) e tutti i punti
in (R u ) c il background (sfondo). Il contorno di una regione R linsieme dei punti che sono
adiacenti ai punti nel complemento di R. Ovvero i contorni di una regione linsieme dei
pixel nella regione che hanno almeno un vicino facente parte del background. A volte si
tende a distinguire fra contorno interno della regione rispetto al contorno esterno, questultimo
il corrispondente contorno, ma allinterno del background. Molto spesso gli algoritmi so-
no scritti per lavorare sui contorni esterni in modo da garantire che il risultato former un
percorso chiuso.
Se R risulta essere unimmagine intera (che quindi un insieme rettangolare di pixels),
allora il suo contorno sar definito come linsieme dei pixel delle prime e ultime colonne e
righe.

Un concetto simile ma diverso quello di bordo: mentre il contorno di una regione finita
forma un percorso chiuso ed un concetto globale, ldea del bordo un concetto locale basato
sulla misura della discontinuit del livelli di intensit in quel punto. possibile collegare
punti di bordo in segmenti e talvolta questi segmenti possono essere connessi fra loro in
modo da formare dei percorsi chiusi che coincidono con i contorni, ma non sempre un cos.
Fanno eccezzione le immagini binarie in cui bordi e contorni sono la stessa cosa.

utile pensare ai bordi come discontinuit di intensit e contorni come percorsi chiusi.

9
2.5.3 Distance Measures

Dati i pixel p, q e z con coordinate (x, y), (s, t) e (v, w), rispettivamente, D una funzione
di distanza o metrica se
1. D(p, q) 0 (D(p, q) = 0 p = q),

2. D(p, q) = D(q, p) e

3. D(p, z) D(p, q) + D(q, z).


distanza euclidea (D e ) fra p e q definita come

D e (p, q) = (x s) 2 + (y t) 2

Per questo tipo di distanza, i pixel che hanno una distanza minore o uguale a un certo
valore r da (x, y) sono punti contenuti in un disco di raggio r centrati in (x, y).

distanza manhattan (D 4 ) fra p e q definita come

D 4 (p, q) = x s + y t

Per questo tipo di distanza, i pixel che hanno una distanza minore o uguale a un certo
valore r da (x, y) formano un rombo centrato in (x, y). I pixel con D 4 = 1 sono i
4-neighbors di (x, y).

distanza della scacchiera (D 8 ) fra p e q definita come

D 8 (p, q) = max(x s, y t)

Per questo tipo di distanza, i pixel che hanno una distanza minore o uguale a un certo
valore r da (x, y) formano un quadrato centrato in (x, y). I pixel con D 8 = 1 sono gli
8-neighbors di (x, y).

2.6 mathematical tools used in digital image processing

2.6.1 Array versus Matrix Operations

array product
a 11 a 12 b 11 b 12 a b a 12 b 12
[ ][ ] = [ 11 11 ]
a 21 a 22 b 21 b 22 a 21 b 21 a 22 b 22
matrix product
a 11 a 12 b 11 b 12 a b + a 12 b 21 a 11 b 12 + a 12 b 22
[ ][ ] = [ 11 11 ]
a 21 a 22 b 21 b 22 a 21 b 11 + a 22 b 21 a 21 b 12 + a 22 b 22

Nella maggior parte dei casi noi utilliziamo la moltiplicazione fra array.

2.6.2 Linear versus Nonlinear Operations

Una delle pi importanti classificazione di un metodo per lelaborazione di immagini se


esso lineare o non lineare.

Consideriamo in operatore generico H che produce come output un immagine g(x, y) data
unimmagine di input f(x, y):
H[f(x, y)] = g(x, y)
H un operatore linare se
H[a i f i (x, y) + a j f j (x, y)] = a i H[f i (x, y)] + a j H[f j (x, y)] = a i g i (x, y) + a j g j (x, y) con immagini delle stesse dimensioni
Significa che loutput di unoperazione lineare della somma di due input uguale a compiere
le operazioni sui singoli input e poi sommare i risultati (additivit) e loutput di unoperazio-
ne lineare di un input moltiplicato una costante uguale alloperatore applicato al solo input
e poi moltiplicato per la costante.

Loperatore sommatoria lineare. Al contrario loperatore max non lineare

10
2.6.3 Arithmetic Operations

Sono operazioni fra array cio vengono applicate alle coppie di pixel corrispondenti in due
o pi immagini che devono necessariamente avere le stesse dimensioni.

addizione {s(x, y) = f(x, y) + g(x, y)} Sia g(x, y) unimmagine corrotta formata aggiun-
gendo rumore (x, y) a unimmagine senza rumore f(x, y) cio g(x, y) = f(x, y) +
(x, y) assumendo che per ogni coppia di coordinate (x, y) il rumore sia non corre-
lato e ha valore medio 0. Grazie alla somma possiamo ridurre il contenuto di rumore
aggiungendo un insieme di immagini con rumore {g i (x, y)} [Da capire bene a pagina
75].

sottrazione {s(x, y) = f(x, y) g(x, y)} Unapplicazione frequente della sottrazione fra
immagini riguarda il miglioramento di differenze fra immagini.

La seconda figura stata ottenuta ponendo a 0 il bit meno significativo di ogni pixel del-
la prima immagine. Visivamente queste due immagini sono indistiguibilmente, mentre
la terza mostra la sottrazione fra esse facendone emergere le differenze. I punti neri (0)
indicano i pixel in cui non cera alcuna differenza nelle due immagini precedenti.

moltiplicazione e divisione s(x, y) = f(x, y) g(x, y) e s(x, y) = f(x, y)/g(x, y) Unapplicazione


importante della moltiplicazione (e divisione) fra immagini il shading correction: po-
niamo che un sensore produca immagini che possona essere pensate come il prodotto
di immagini perfette f(x, y) moltiplicate per una funzione di ombra h(x, y) ovvero
g(x, y) = f(x, y) h(x, y). Se conosciamo h(x, y), possiamo ottenere f(x, y) moltipli-
cando limmagine prodotta dal sensore per linverso di h(x, y) (cio dividendo g per
h).

Unaltra applicazione comune il masking anche chiamato Region of Interest (ROI: il


processo consiste semplicemente nel moltiplicare unimmagine data per unimmagine
masche che ha 1 nella o nelle ROI e 0 al di fuori. (Vedi commento su come gestire
operazioni aritmetica a pp. 78-79)

11
2.6.4 Set and Logical Operations

Quando si ha a che fare con immagini binarie possiamo pensare a insieme di pixel fo-
reground (con valore 1) e background (con valore 0). Quindi se definiamo regioni (oggetti)
come composte da pixel foreground, le operazioni insiemistiche illustrate sopra divengono
operazioni logiche (OR, AND e NOT) visto che possiamo pensare 1 come vero e 0 come
falso.

2.6.5 Spatial Operations

Le operazioni spaziali vengono effettuate direttamente sui pixel di una data immagine e
vengono classificate in 4 differenti categorie:

1. Operazioni sui singoli pixel;

2. Operazioni su un insieme di pixel vicini;

3. Trasformazioni spaziali geometriche.

operazioni sui singoli pixel Loperazione pi semplice che possiamo effettuare su


unimmagine digitale alterare i valori dellintensit dei suoi pixel. Questo tipo di processo
p essere espresso come come una funzione trasformazione T nella forma s = T (z) dove
z lintensit di un pixel nellimmagine originale e s lintensit del corrispondente pixel
nellimmagine elaborata.

12
operazioni su un insieme di pixel vicini Sia S xy linsieme delle coordinate di una
serie di pixel vicini centrato in punto arbitrario (x, y) in unimmagine f. Lelaborazione su
pixel vicini genera un pixel corrispondente con le medesime coordinate tale che il valore di
quel pixel determinato da una specifica operazione che coinvolge i pixel nellimmagine di
input con coordinate S xy . Per esempio loperazione potrebbe calcolare il valore medio dei
pixel in unarea rettangolare di dimensioni m n centrato in (x, y).

Possiamo esprimere questa operazione in forma di equazione come

1
g(xy) = f(r, c)
mn (r,c)S
xy

Limmagine in foto creata facendo variare le coordinate del centro dellinsieme di pixel
vicini uno alla volta per tutta limmagine. Leffetto tatale quello di eseguire una sfumatura
locale nellimmagine originale. Questo tipo di processo spesso usato per eliminare piccoli
dettagli di unimmagine.

trasformazioni spaziali geometriche e registrazione dellimmagine Le


trasformazioni geometriche modificano le relazioni spaziali fra i pixel in unimmagine. Una
trasformazione del genere consta di due operazioni di base:

1. Una trasformazione spaziale di coordinate;

2. Uninterpolazione nellintensit per assegnare corretti valori di intensit ai pixel trasfor-


mati nello spazio.

13
La trasformazione delle coordinate pu essere espresso come (x, y) = T {(v, w)} dove (v, w)
sono le coordinate dei pixel nellimmagine originale, mentre (x, y) sono le corrispondne-
ti coordinate dellimmagine trasformata. Per esempio la trasformazione (x, y) = T {(v, w)}
restringe limmagine originale della met in entrambe le direzioni spaziali. Una delle tra-
sformazioni spaziali maggiormente usate la trasformazione affine che ha la seguente forma
generale:

t 11 0
t 12

[x y 1] = [v w 1]T = [v w 1] t 21 t 22 0

t 31 t 32 1

Grazie a questa trasformazione possibile scalare, ruotare o traslare un insieme di coordi-
nate in base ai valori scelti per gli elementi della matrice T . La potenza di questa trasforma-
zione sta proprio nel poter concatenare insieme una sequenza di trasformazioni: se vogliamo
scalare unimmagine, ruotarla e traslare il risultato, dobbiamo semplicemente formare una
matrice 3 3 uguale al prodotto delle matrice di scalamento, di rotazione e di traslazione
indicate nella seguente tabella.

vector and matrix operations Le immagini multispetto, come per esempio le im-
magini a colori RGB, sono il tipico esempio in cu vengono frequentemente usate operazioni
vettoriali e matriciali. Ogni pixel di unimmagine RGB ha 3 componenti che possono essere
organizzate in forma di un vettore colonna:
z 1


z = z 2

z 3

con z 1 lintensit del pixel nellimmagine rossa e gli altri 2 valori corrispondono alle
intensit nelle immagini verde e blu rispettivamente.

Se rappresentiamo i pixel come vettori, abbiamo a disposizione tutti gli strumenti delle teorie
vettoriali e matriciali.

14
image transforms Tutti gli approcci di elaborazione viste finora agiscono direttamente
sui pixel dellimmagine di input, ovvero lavorano sul dominio spaziale. In alcuni casi, opera-
zioni di elaborazione delle immagini vengono formulate meglio trasformando le immagini
di input in un dominio trasformato e successivamente ritornando al dominio spaziale tramite
la trasformazione inversa.

15
I N T E N S I T Y T R A N S F O R M AT I O N S A N D S PAT I A L F I LT E R I N G

3.1 background
3
Tutte le tecniche di elaborazione che vedremo adesso sono implementate nel dominio spaziale
ovvero il piano che contiene i pixel dellimmagine. Tecniche d questo tipo operano diretta-
mente sui pixel reali dellimmagine. Sono pi efficienti da un punto di vista computazionale
e richiedono meno risorse delaborazione per essere implementate.

I processi di elaborazione nel dominio spaziale che vedremo possono essere definiti dal-
lespressione

g(x, y) = T [f(x, y)]

Per elaborazione sullintera immagine, la finestra di pixel vicini viene mossa pixel per pixel
e applicata a ciascuna nuova finestra, riga per riga, colonna per colonna. Ad esempio se
loperatore fa la media di tutti i pixel della finestra, allinizio ci sar una finestra centrata
nel pixel dellorigine, poi si sposter a destra e cos via. Quando la finestra centrata su un
pixel al bordo, i pixel che risultano essere fuori dalla finestra/maschera vengono o ignorati
oppure automaticamente considerati come 0 o un certo valore predefinito.

Le procedure che agiscono su una finestra di pixel sono dette operazioni di filtraggio spa-
ziale. Se la finestra considerata di dimensioni 1 1 g dipende solo dal singolo valore di f
in (x, y) e la trasformazione viene detta funzione di trasformazione di intensit nella forma

s = T (r)

La maggior parte di queste tecniche viene usata per lo pi per il miglioramente delle immagini,
ovvero quel processo di manipolazione di unimmagine in modo che il risultato sia pi
adatto delloriginale per unapplicazione specifica. Lenhancement problem-oriented, un
procedimento soggettivo in cui losservatore finale il giudice di quanto abbia funzionato
bene lelaborazione per il particolare uso. Non esiste una teoria generale dellenhancement.

16
3.2 some basic intensity transformation functions

Il valore dei pixel, prima e dopo lelaborazione vengono indicati con r e s rispettivamente
poich le trasformazioni sono nella forma s = T (r), dove T una trasformazione che mappa
il pixel r nel pixel s. Quasi sempre le coppie di valori valore originale-valore trasformato so-
no memorizzate in un tabelle dette lookup table e i valori di una trasformazione memorizzate
in un array monodimensionale. Per unimmagine a 8 bit, una LUT contiene 256 entries.

Possiamo considerare 3 funzioni di trasformazioni basilari:

1. Funzioni lineari: trasformazione identit e negativa;

2. Funzioni logaritmiche: trasformazione logaritmo e inversa;

3. Funzioni potenza: trasformazione alla n esima potenza o radice n esima.

3.2.1 Image Negatives

Il negativo di unimmagine con livelli di intensit nellintervallo [0, L 1] si ottiene usando


la trasformazione denotata dallespressione

s=L1r
che inverte i livelli di intensit di unimagine in maniera da produrre lequivalente di un
negativo fotografico. Questo tipo di processo particolarmente adatto per migliorare e ren-
dere evidenti dettagli bianchi o grigi nascosti allinterno di regioni scure di unimmagine,
soprattutto se le aree neere sono predominanti in dimensioni.

3.2.2 Log Transformations

La forma generale di trasformazioni di questo tipo

s = c log (1 + r) dove c una costante e r 0

Questo tipo di trasformazione mappa unintervallo stretto di bassi valori di intensit nellim-
magine di input su un intervallo pi grande nei livelli di output e unintervallo grande di
alti valori di intensit su uno pi stretto. La usiamo quando vogliamo espandere i valori di
pixel scuri di unimmagine e comprimere i valori degli alti livelli.

Linverse log fa esattamente lopposto.

La funzione log ha limportante caratteristica di comprimere il range dinamico di imma-


gine con grandi variazioni nei valori dei pixel. Spesso viene usata per comprimere il grande
range di valori di uno spettro di Fourier e rendere bene visibile i vari livelli su un display.

17
3.2.3 Power-Law (Gamma) Transformations

La forma generale di trasformazioni di questo tipo

s = cr dove c e sono costanti positive


Similemente al caso logaritmico, curve potenza con valori frazionali di mappano un in-
tervallo stretto di valori scuri in un intervallo pi grande nelloutput e schiacciano invece
lintervallo di valori alti in intensit. A differenza del log per possibile ottenere una gran-
de famiglia di possibili trasformazioni semplicemente facendo variare . Ovviamente, invece,
curve con > 1 permettono di ottenere leffetto inverso.

Una grande variet di device usati per catturare, stampare e visualizzare immagini sono
basate su questo tipo di cuve. Spesso necessario correggere la risposta di questi apparecchi
usando queste trasformaizioni, tali correzioni sono dette gamma correction. Sono fondamentali
per riprodurre fedelmente le immagini e i suoi colori su uno schermo. Se uno schermo
risponde facendo visualizzare unimmagine secondo una funzione potenza con = 2, 5 noi
la facciamo processare tramite trasformazione s = r1/2,5 = r0,4 per cercare di arrivare a una
funzione duscita lineare o quasi. In generale le possiamo usare per espandere certi livelli di
intensit che ci interessano maggiormente, anche in immagini in ambito medicale.

18
3.2.4 Piecewise-Linear Transformation Functions

Possiamo definire funzioni di trasformazione definite a tratti in modo che possano essere
arbitrariamente complesse. Lo svantaggio, per, che funzioni di questo tipo richiedono
maggiore input da parte dellutente.

contrast stretching Immagini con basso contrasto possono risultare a causa di bassa
illuminazione, mancanza di dynamic range nel sensore di cattura o per errori nellapertura
della lente durante lacquisizione.

Il contrast stretching un processo che espande lintervallo dei livelli di intensit di unim-
magine in modo che esso si estenda su tutto il range dintensit del mezzo di acquisizione o
sullo schermo del device.

La posizione dei punti (r1 , s1 ) e (r2 , s2 ) controlla la forma della funzione di trasformazione.
Se r1 = s1 e r2 = s2 la funzione lineare e non produce nessun cambiamento. Se r1 = r2 , s1 = 0
e s2 = L 1, la trasfomrazione diventa una funzione soglia (trhesholding) che crea unimmagine
binaria. Valori intermedi di (r1 , s1 ) e (r2 , s2 ) producono vari gradi di allargamento dei livelli
di intensit dellimmagine in output influenzando quindi il contrasto. In generale si assume
che r1 r2 e s1 s2 in modo che la funzione sia monotona crescente.

intensity-level slicing Tecnica che permette di evidenziare uno specifico intervallo


di intensit in unimmagine per poter, per esempio, evidenziare una massa di acqua in unim-
magine prelevata da satellite o certi dettagli in immagini medicali.

Esiston due approcci di base:

19
1. Visualizzare con un certo valore (per esempio bianco) tutti i valori in un certo intervallo
di interesse e con un altro (per esempio nero) tutte le altre intensit

2. Schiarire (o scurire) lintervallo di intensit interessato e lasciare inalterati tutti gli altri
valori.

bit-plane slicing I pixel sono numeri digitali composti da bit. Per esempio, lintensit
di ogni pixel in unimmagine a 256 livelli di grigio composta da 8 bit. Invece di evidenziare
intervalli di livelli di intensti, possiamo evidenziare il contributo di ciascun specifico bit
allimmagine complessiva.

Unimmagine a 8-bit pu essere considerata composta da 8 piani di 1-bit ciascuno. I piani


pi alti contengono la maggior parte dei dati significativi per la visualizzazione mentre i
piani pi bassi contengono dettagli meno significativi per lintensit dellimmagine. Il valore
di oni pizel nellimmagine originale pu essere ricostruita a partire dai sui corrispondenti
valori di bit nei vari piani.
Limmagine binaria per lottavo piano pu essere ottenuta con una trasformazione soglia
che mappa tutti valori di intensit fra 0 e 127 su 0 e i valori fra 128 e 255 su 1. Questo tipo
di elaborazione utile per analizzare limportanza relativa di ciascun bit nellimmagine, in
modo da determinare ladeguato numero di bit necessario per la quantizzazione. anche
utile per leventuale compressione di unimmagine: Magari ci rendiamo conto che per i
nostri scopi ci basta utilizzare gli ultimi 4 piani e cos risparmiamo met dello spazio di
memorizzazione.

3.3 histogram processing

Listogramma di unimmagine digitale con livelli di intensit nellintervallo [0, L 1] una fun-
zione discreta h(rk ) = nk , dove rk il k esimo valore di intensit e nk il numero di pixel

20
nellimmagine con intensit rk . Spesso si normalizza un istogramma dividendo ciascuna sua
componente per il numero totale di pixel in unimmagine, ovvero il prodotto MN. Quindi
un istogramma normalizzato nella forma p(rk ) = nk /MN per k = 0, 1, 2, . . . , L 1. In pratica
p(rk ) rappresenta una stima della probabilit delloccorrenza di un certo livello di intensi-
t rk in unimmagine. La somma di tutte le componenti di un istogramma normalizzato
uguale a 1.

Gli istogrammi sono alla base di numerose tecniche di elaborazione nel dominio spaziale.
Sono semplici da calcolare e forniscono molte informazioni sullimmagine in input.

Notiamo nellimmagine 4 tipi di immagini con relativi istogrammi. Le componenti dellisto-


gramma dellimmagine ad alto-contrasto si estendono su un largo intervallo di intensit e la
distribuzione dei pixel quasi uniforme, con solo alcune linee pi alte delle altre. facile

21
concludere che unimmagine i cui pixel tendono a occupare lintero range di possibili livelli
di intensit e, inoltre, tendono a essere distribuiti in maniera uniforme, avr un aspetto con
alto contrasto e esibir una grande variet di toni grigi con una grande quantit di dettagli.
Vedremo ora una tecnica per sviluppare una trasformazione che automaticamente ci porta a
immagini di questo tipo partendo dallistogramma originale dellimmagine in input.

3.3.1 Histogram equalization

Ragioniamo un po nellambito del continuo ovvero consideriamo immagini con valori di


intensit continui, poi passeremo al discreto cio al digitale.

Assumiamo che r sia nellintervallo [0, L 1], con r = 0 nero e r = L 1 bianco. Ci concentriamo
su trasformazione nella forma

s = T (r) 0 r L 1

che produce in output un livello di intensit s per ogni pixel nellimmagine in input avente
valore r.

Assumiamo anche che:

(a) T (r) una funzione monotona crescente nellintervallo 0 r L 1 e

(b) 0 T (r) L 1 per 0 r L 1.

In alcune formulazione consideriamo anche la trasformazione inversa

r = T 1 (s) 0 s L 1

in questo caso cambiamo la condizione (a) in

(a) T (r) una funzione strettamente monotona crescente nellintervallo 0 r L 1

La condizione (a) garantisce che i valori dintensit in output non saranno mai minori dei
corrispettivi valori in input (evitare negativi), mentre la condizione (b) garantisce che linter-
vallo delle intensit in output sia lo stesso di quello dellimmagini in input. La condizione
(a) garantisce che il mapping inverso da s a r uno-a-uno, prevenendo ambiguit.

I livelli di intensit in unimmagine possono essere considerati come una variabile casuale
nellintervallo [0, L 1]. Un descrittore fondamentale di una variabile casuale la sua funzio-
ne di densit di probabilit (PDF).

Siano pr (r) e ps (s) le PDF di r e s rispettivamente e che siano generalmente diverse. Dal-
la teoria delle probabilit sappiamo che se pr (r) e T (r) sono date e T (r) una funzione
continua e differenziabile nellintervallo dei valori di interesse, allora la PDF della variabile
trasformata s si ottiene da

dr
ps (s) = pr (r)
ds

22
Quindi la PDF della variabile di intensit in output s determinata dalla PDF delle intensit
in input e la funzione trasformazione usata [r e s sono correlate da T (r)].

Una trasformazione particolarmente importante nella forma

r
s = T (r) = (L 1) pr (w) dw con w variabile desempio.
0

Lequazione a destra rappresenta la funzione di distribuzione cumulativa (CDF) della variabile


aleatoria r. Siccore i valori della PDF sono sempre positivi, e ricordando che lintegrale di
una funzione larea sotto tale fnzione, ne segue che la trasformazione sopra soddisfa la
condizione (a) poich larea sotto la funzione non pu diminuire al crescere di r.
Quando il limite superiore in questa equazione r = (L 1), lintegrale vale 1 (larea totale
sotto una PDF vale sempre 1), quindi il massimo valore di s sar L 1 quindi anche la condi-
zione (b) soddisfatta.

Per trovare la ps (s) corrispondente alla trasformazione appena discussa usiamo la formu-
la sopra, ricordando che la derivate di un integrale definito lintegrando valutato rispetto
al suo limite superiore:

ds dT (r) d r
= = (L 1) [ pr (w) dw] = (L 1)pr (r)
dr dr dr 0
quindi, ricordando che tutti i valori di probabilit sono positivi, otteniamo:

dr 1 1
ps (s) = pr (r) = pr (r) =
ds (L 1) pr (r) (L 1)
ovvero in breve

1
ps (s) = 0sL1
L1
Abbiamo quindi mostrato che eseguendo la trasformazione di intensit sopra otteniamo una
variabile casuale in uscita s caraterizzata da una PDF uniforme. importante notare anche
che mentre T (r) dipende da pr (r), la risultante ps (s) sempre uniforme indipendentemente
dalla forma di pr (r).

Ecco un esempio per chiarire. Supponiamo che i valori di intensit (continui) di unimmagine
abbiano la seguente PDF

2r
per 0 r L 1,

pr (r) = (L1)
2


altrimenti.
0
Noi sappiamo come ottenere s:

r 2 r r2
s = T (r) = (L 1) pr (w) dw =
w dw =
0 L1 0 L1
Quindi i valori di intensit s della nuova immagine formata grazie a questa trasformazione
r2
valgono L1 .

23
Ora possiamo ottenere la distribuzione delle intensit dellimmagine in outpt e verificare
che una PDF uniforme:

1 1
dr 2r ds 2r d r2 2r L1 1
ps (s) = pr (r) = [ ] = [ ] = =
ds (L 1)2 dr (L 1) 2 dr L 1 (L 1)2 2r (L 1)

Ora passiamo a ragionare nel dominio discreto con valori discreti. Abbiamo a che fare con
distribuzioni di probabilit discrete (istogramma) e sommatorie invece che PDF e integrali.

La probabilit di occorrenza di un livello di intensit rk in unimmagine digitale approssi-


mata da

nk
pr (rk ) = k = 0, 1, 2, . . . , L 1
MN
dove MN il numero totale di pixel nellimmagine, nk il numero di pixel che hanno inten-
sit rk e L il numero di possibili livelli di intensit nellimmagine (256 per unimmagine a
8-bit). Il grafico di pr (rk ) rispetto a rk semplicemente listogramma dellimmagine.

La forma discreta della trasformazione vista prima

k L1 k
sk = T (rk ) = (L 1) pr (rj ) = n k = 0, 1, 2, . . . , L 1
j=0 MN j=0 j

Quindi limmagine elaborata si ottiene trasformando ogni pixel nellimmagine di input con
valore rk nel corrispondente pixel con livello sk nellimmagine di output. Questo tipo di
trasformazione detto histogram equalizzation e garantisce le condizioni (a) e (b).

Ora facciamo un esempio completo per chiarire: supponiamo di avere unimmagine a 3


bit (L = 8) di dimensioni 64 64 (MN = 4096) con la seguente distribuzione di intensit

nk
rk nk pr (rk ) = MN
r0 = 0 790 0,19
r1 = 1 1023 0,25
r2 = 2 850 0,21
r3 = 3 656 0,16
r4 = 4 329 0,08
r5 = 5 245 0,06
r6 = 6 122 0,03
r7 = 7 81 0,02

I valori della trasformazione per lequalizzazione dellistogramma sono ottenuti usando la


trasformazione sopra, ad esempio:

0
s0 = T (r0 ) = 7 pr (rj ) = 7pr (r0 ) = 1, 33
j=0
1
s1 = T (r1 ) = 7 pr (rj ) = 7pr (r0 ) + 7pr (r1 ) = 3, 08
j=0

A questo punto i valori di s sono ancora reali perch generati sommando le probabilit, quin-
di li approssimiamo allintero pi vicino e otteniamo i valori dellistogramma equalizzato.

24
s0 = 1, 33 1 s4 = 6, 23 6
s1 = 3, 08 3 s5 = 6, 65 7
s2 = 4, 55 5 s6 = 6, 86 7
s3 = 5, 67 6 s7 = 7, 00 7

Ci solo 5 diversi livelli di intensit e per i valori mappati su un unico livello dobbiamo cal-
colare la ps (sk ). Siccome r0 = 0 viene mappato su s0 = 1 ci sono 790 pixel con questo valore
anche nellistogramma equalizzato, similemente per s1 e s2 , mentre per s3 es4 che vengono
entrambi mappati sul 6 ci saranno in totale 985 (656 + 329) pixel nellimmagine equalizzata e
cos anche per gli altre tre valori. Per ottenere listogramma equalizzato dividiamo tai valore
per MN cio 4096.

Siccome un istogramma unapprossimazione di una PDF e non vengono creati nuovi li-
velli di intensti durante il processo, istogrammi perfettamenti piatti sono molto rari nei
processi di equalizzazioni pratici. Quindi, a differenza della controparte nel continuo, non
pu essere provato generalmente che lequalizzazione discreta degli istogrammi porta a di-
stribuzioni uniformi. Tuttavia la trasformazione usata ad allargare lintervallo dei livelli di
intensit nellimmagine equalizzata e il risultato netto un miglioramento del contrasto.

Si tratta di unelaborazione praticamente automatica: data unimmagine, il processo di equa-


lizzazione dellistogramma consiste semplicemente nellimplementare lequazione di T (rk )
vista sopra che basata su informazioni che possono essere estratte direttamente dallimma-
gine data senza ulteriori parametri. Lhistogram equalization un potente strumento adattativo
di miglioramento del contrasto.

La trasformazione inversa da s a r denotata da

rk = T 1 (sk ) k = 0, 1, 2, . . . , L 1
Questa equazione soddisfa le condizioni (a) e (b) solo se nessuno dei livelli rk mancante
nellimmagine in input, cio nessuna componente dellistogramma a 0. Questa equazione
utilizzata non nellequalizzazione, ma nellhistogram matching.

25
3.3.2 Histogram matching (Specification)

In alcuni casi, pu essere utile essere in grado di specificare la forma dellistogramma che
vorremmo che limmagine elaborata avesse. Il metodo usato per generare unimmagine con
uno specifico istogramma detto histogram matching o histogram specification.

Consideriamo nuovamente il dominio continuo. Siano r, immagine input, e z, immagine


processata, due intensit continue (considerate come variabili casuali continue) e siano pr (r)
e pz (z) le loro corrispondenti funzioni di densit di probabilit continue. Possiamo stimare
pr (r) dallimmagine in input, mentre pz (z) la specifica PDF che vogliamo abbia limmagine
in output.

Poniamo una variabile casuale s tale che

r
s = T (r) = (L 1) pr (w) dw con w variabile desempio.
0

Poniamo anche che z sia tale che

z
G(z) = (L 1) pz (t) dt = s con t variabile desempio.
0

dunque ne segue che G(z) = T (r) e quindi che z deve soddisfare la condizione

z = G1 [T (r)] = G1 (s)

Riassumendo, unimmagine i cui livelli di intensit hanno una specifica PDF pu essere
ottenuta da una data immagine, seguendo la seguente procedura:

1. Ottengo pr (r) dallimmagine in input e uso la prima equazione per ottenere i vaori di
s;

2. Uso la PDF specificata nella seconda equazione per ottenere la funzione di trasforma-
zione G(z);

3. Ottengo la trasformazione inversa z = G1 (s);

4. Ottengo limmagine di output innanzitutto equalizzando limmagine di input con la


prima equazione; i valori dei pixel in questa immagine equalizzata saranno i valori
s. Quindi per ogni pixel s, eseguo il mapping inverso z = G1 (s) per ottenere i pixel
corrispondenti nellimmagine di output. Alla fine la PDF dellimmagine di ouput sar
uguale a quella specificata inizialmente.

Una dificolt comune potrebbe essere trovare dellespressioni analitiche sensate per T (r) e
G1 . Fortunatamente, il problema significativamente pi semplice se si ha a che fare con
quantit discrete. Come per lequalizzazione, per, possiamo ottenere solo unapprossima-
zione dellistogramma specificato. Scriviamo le varie formule:

k L1 k
sk = T (rk ) = (L 1) pr (rj ) = n k = 0, 1, 2, . . . , L 1
j=0 MN j=0 j

Similemente a prima, dato uno specifico valore di sk , la trasformazione discreta

q
G(zq ) = (L 1) pz (zi ) = sk dove pz (zi ) li-esimo valore dellistogramma specificato.
i=0

Come prima, possiamo ottenere i valori desiderati zq attraverso la trasformata inversa

zq = G1 (sk )

In altre parole, questa operazione ci da un valore di z per ogni valore di s, quindi esegue un
mapping da s a z.

26
In pratica non dobbiamo effettuare la computazione dellinversa di G. Siccome lavoriamo
su livelli di intensit che sono interi, piuttosto semplice trovare tutti i posisbili valori di
G con la seconda equazione per q = 0, 1, 2, . . . , L 1. Questi valori vengono approssimati al-
lintero pi vicino nel range [0, L 1]. I valori vengono salvati in una tabella, Poi, dato un
particolare valore di sk , cerchiamo il matche pi vicino nei valori salvati in tabella e il relativo
z associato.

Riassumendo la procedura:
1. Otteniamo listogramma pr (r) dellimmagine data e lo usiamo per torvare la trasfor-
mazione di equalizzazione dellistogramma con la prima equazione. Arrotondiamo i
valori risultanti, sk , allintervallo discreto [0, L 1];

2. Otteniamo tutti i valori della funzione di trasformazione G usando la seconda equazio-


ne per q = 0, 1, 2, . . . , L 1, dove pz (zi ) sono i valori dellistogramma specificato. Arro-
tondiamo i valori risultanti di G allintervallo discreto [0, L 1] e li memorizziamo in
una tabella;

3. Per ogni valore di sk , k = 0, 1, 2, . . . , L 1, usiamo i valori memorizzati di G per trovare i


corrispondenti valori di zq tali che G(zq ) il pi vicino a sk e memorizziamo questo
mapping da s a z. Quando pi di un valore di zq soddisfa il dato sk , scegliamo il
minore convenzionalmente;

4. Formiamo limmagine dellistogramma specificato: prima equalizzaimo limmagine in


input e poi mappiamo ogni pixel equalizzato, sk , di questa immagine usando il map-
ping trovato al passo 3. Il passo intermedio dellequalizzazione concettuale, pu
essere saltao combinando le due funzioni di trasformazione T e G 1.
Vedi esempio a pagina 133.

Talvolta, anche se saremmo inizialmente portati a elaborare unimmagine con ridotto con-
trasto mediante lequalizzazione dellistogramma, questa non la scelta migliore. Come si
capisce dallesempio a pagina 136, immagini che, ad esempio, hanno vaste aree scure se
elaborate tramite equalizzazione si trasformano in immagini troppo chiare. Il problema
dovuto alla grande concentrazione di pixel nellimmagine originale con livelli vicino allo 0,
un approccio pi ragionevole prevede di modificare listogramma in modo che non abbia pi
questa propriet. Possiamo specificare manualmente una funzione che preservi la forma ge-
nerale dellistogramma originale, ma che abbia una transizione pi graduale nei livelli delle
regione scure verso i grigi.

In conclusione, lhistogram specification nella maggior parte dei casi, un processo di trial-and-
error. In base al problema si pu ragionare e immaginare come debba essere listogramma
adatto.

3.3.3 Local Histogram Processing

Le due elaborazioni con istogramma viste finora sono elaborazioni globali, nel senso che i pi-
xel sono modificate da una funzione di trasformazione basata sulla distribuzione di intensit
dellintera immagine. Questo approccio va bene per un miglioramente complessivo, per ci
sono dei casi in cui necessario migliorare dettagli di piccole aree dellimmagine. Il nume-
ro di pixel in quelle aree potrebbe avere uninfluenza trascurabile sulla computazione della
trasformazione globale la cui forma non garantisce necessariamente il desiderato migliora-
mente locale.

La soluzione utilizzare una funzione di trasformazione basata sulla distribuzione di intensi-


t in un insieme di pixel vicini (neighborhood) per tutti i pixel dellimmagine. Definiamo un
neighborhood e muoviamo il suo centro da pixel a pixel per tutta limmagine. In ogni nuova
posizione, listogramma dei punti nel neighborhhod viene computato e si pu ottenere sia
una funzione di equalizzazione che una di specificazione locale. Tale funzione viene usata
per la trasformazione del pixel centrale dellarea considerata poi larea viene spostata per
centrare il pixel accanto e si ricomincia la procedura. Visto che cambia solo una riga o una
colonna dellarea considerata man mano che ci si sposta esistono tecniche per aggiornare li-
stogramma ottenuto in precedenza invece di ricalcolarlo completamente e risparmiare tempo

27
di calcolo.

Lesempio a pagina 139, rivela come il processo di equalizzazone locale con area relativamen-
te piccola possa far emergere dei dettagli invisibili anche dopo unequalizzazione globale. I
valori di intensit di questi piccoli oggetti nascosti erano troppo simili ai valori di intensit
dei grossi quadrati e la loro dimensione troppo piccola per poter influenzare adeguatamente
il processo di equalizzazione globale dellistogramma.

3.3.4 Using Histogram Statistics for Image Enhancement

Le statistiche ottenute direttamente dallistogramma di unimmagine possono essere usate


per migliorarla.

Sia r una variabile casuale discreta che rappresenta i valori di intensit nellintervallo [0, L 1]
e sia p(ri ) la componente dellistogramma normalizzato corrispondente al valore ri . Come
detto, possiamo considerare p(ri ) come una stima della probabilit che lintensit ri occorra
nellimmagine da cui stato ottenuto listogramma.

Ln-esimo momento di r rispetto alla sua media definito come

L1
n (r) = (ri m)n p(ri )
i=0
dove m la media di r (il valore medio dei pixel nellimmagine), cio

L1
m = ri p(ri )
i=0
Il secondo momento particolarmente importante:

L1
2 (r) = (ri m)2 p(ri )
i=0

Questo valore rappresenta la varianza dellintensit, normalmente indicata con 2 (ricordan-


do che la deviazione standard la radice quadrata della varianza). Mentre la media una
misura dellintensit media, la varianza (o la deviazione standard) una misura del contra-
sto in unimmagine.

Quando si lavora solo con la media e la varianza, pratica comune stimarne i valori diretta-
mente dai campioni dellimmagine senza computare listogramma. In maniera appropriata
tali valori sono noti come media campione e media varianza:

1 M1 N1
m= f(x, y)
MN x=0 y=0

1 M1 N1 2
2 = [f(x, y) m]
MN x=0 y=0

per x = 0, 1, 2, . . . , M 1 e y = 0, 1, 2, . . . , N 1. Come emerge anche dallesempio a pagina 141,


i risultati ottenuti usando queste due equazioni sono identici a quelli ottenuti con le primi
equazioni in cui necessario listogramma.

Consideriamo due possibili utilizzi della media e della varianza per propositi di migliora-
mento immagine:

1. La media e la varianza globali sono ottenute sullimmagine intera e possono essere utili
per miglioramenti grossolani nellintensit e contrasto complessivi.

2. Un uso migliore e pi utile di questi parametri possibili nel miglioramento locale: la


media e la varianza locali sono usate come basi per fare cambiamenti che dipendono
dalle caratteristiche dellimmagine in unarea locale rispetto a ogni pixel nellimmagine.

28
Siano (x, y) le coordinate di qualsiasi pixel in un data immagine e sia Sxy unarea locale di
un certa dimensione centrata in (x, y). Il valore medio dei pixel in questa area vale

L1
msxy = ri psxy (ri )
i=0

dove psxy listogramma dei pixel nella regione Sxy con L componenti, ma la maggiorparte
dei componenti varr 0, in base alla dimensione di Sx y. I valore non-zero corrispondono al
numero di differenti intensit in Sxy .

La varianza dei pixel nellarea locale data da

L1
2sxy = (ri msxy )2 psxy (ri )
i=0

Come prima, la media locale una misura dellintensit media nellarea Sx y e la varianza
locale (o deviazione standard) una misura del contrasto dellintensit nellarea.

Vedi esempio a pagina 142.

3.4 fundamentals of spatial filtering

Il filtraggio spaziale uno dei principali strumenti utilizzati per una moltitudine di appli-
cazioni. Il nome filtro preso in prestito dal campo dellelaborazione nel dominio della
frequenza, dove filtrare si riferisce allaccettare o rifiutare certe componenti di frequenza.

3.4.1 The Mechanics of Spatial Filtering

Un filtro spaziale costituito da un area locale di pixel (neighborhood: tipicamente un piccolo


rettangolo) e unoperazione predefinita che viene eseguita sui pixel dellarea locale. Il filtrag-
gio crea un nuovo pixel con coordintate uguali alle coordinate del centro dellarea e il cui
valore il risultato delloperazione di filtraggio. Se loperazione eseguita lineare, si parla
di filtro lineare, altrimenti si parla di filtro non-lineare.

Per ora prendiamo in considerazione un filtro lineare 3 3. In ogni punto (x, y) dellim-
magine, la risposta g(x, y) del filtro la somma dei prodotti dei coefficienti del filtro e i pixel
dellimmagine compresi nellarea locale:

g(x, y) = w(1, 1)f(x 1, y 1)+


+ w(1, 0)f(x 1, y) + +
+ w(0, 0)f(x, y) + + w(1, 1)f(x + 1, y + 1)

Per una maschera di dimensioni m n, assumiamo che m = 2a + 1 e n = 2b + 1, dove a e b sono


interi positivi. Questo significa che consideriamo filtri di dimensioni dispari, con dimensioni
minime 3 3. In generale, il filtraggio lineare spaziale di unimmagine di dimensione M N
con un filtro di dimensioni m n dato dallespressione

a b
g(x, y) = w(s, t)f(x + s, y + t)
s=a t=b

dove x e y sono modificati in modo che ogni pixel in w visiti ogni pixel in f.

3.4.2 Spatial Correlation e Convolution

Due concetti basilari per il filtraggio spaziale:

correlazione il processo che consiste nel muovere una maschera di filtraggio sopra
limmagine e computare la somma dei prodotti in ogni posizione, esattamente come
spiegato poco sopra.

29
convoluzione il processo il cui meccanismo uguale alla correlazione eccetto per il
fatto che il filtro viene prima ruotato di 180.

La prima cosa che notiamo dallimmagine che posizionato la maschera in modo che il suo
ultimo valore sia sopra al primo della funzione, i primi 4 valori della maschera non sono
sovrapposti a nulla. Occorre fare unoperazione di padding: aggiungere sufficienti 0 da
entrambi le parti della funzione in modo da consentire che ogni pixel della maschera w visiti
ogni pixel di f. Se il filtro di dimensione m, abbiamo bisogno di m 1 0 da entrambe le
parti di f. Il risultato del fltraggio la somma del prodotto di f e w per ciascuna posizione in
cui pu spostarsi w. Alla fine, spesso, ritagliamo la f finale degli zero che avevamo aggiunto
allinizio per riavere una funzione delle stesse dimensioni iniziali.

30
Due cose importanti da notare:

1. La correlazione funzione dello spostamento del filtro. Ovvero il primo valore della
correlazione corrisponde ad uno spostamento di 0 unit , il secondo corrisponde a uno
spostamento di 1 unit e cos via.

2. Correlare un filtro w con una funzione che contiene un solo 1 ci permette di ottenere
una copia di w ruotata di 180. Una funzione che contiene un singolo 1 e il resto solo
0 detta impulso discreto unitario.

Convolvendo una funzione con un impulso unitario otteniamo una copia della funzione
nella posizione dellimpulso. Per eseguire convoluzione quello che dobbiamo fare effettua-
re la prerotazione del filtro e eseguire le stesse operazione svolte per la correlazione.
Discorso praticamente uguale per funzioni e maschere bi-dimensionali. Il padding per ma-
scher m n si esegue aggiungendo un minimo di m 1 righe in cima e in fondo e n 1
colonne allinizio e in fondo.

Riassumiamo quello visto finora in formule. La correlazione di un filtro w(x, y) di dimensio-


ni m n con unimmagine f(x, y) si indica con

a b
w(x, y) f(x, y) = w(s, t)f(x + s, y + t)
s=a t=b

Lequazione viene valutata per tutti i valori dello spostamento x e y in modo che ogni ele-
mento di w visiti ogni pixel di f, assumendo che f sia stata propriamente paddata. Come
detto, a = (m 1)/2 e b = (n 1)/2 e assumiamo che m e s siano valori interi dispari.

In maniera del tutto simile definiamo la convoluzione di w(x, y) e f(x, y):

a b
w(x, y) f(x, y) = w(s, t)f(x s, y t)
s=a t=b

Quando siamo interessati alla risposta caratteristica R di un maschera sia di correlazione


o convoluzione, conveniente scrivere in questo modo al somma dei prodotti:

31
mn
R = w1 z1 + w2 z2 + + wmn zmn = wk zk = wT z
k=1
Nel caso della convoluzione dobbiamo solo prima ruotare di 180 la maschera.

3.4.3 Generating Spatial Filter Mask

Per generare una filtro spaziale lineare m n dobbiamo specificare gli mn coefficienti. Essi
devono essere scelti in base a cosa il filtro dovrebbe fare, tenendo in mente che tutto ci che
possiamo fare con il filtraggio lineare implementare una somma di prodotti.

Se, per esempio, vogliamo sostituire i pixel in unimmagine con lintensit media di unarea
3 3 centrata su quei pixel dobbiamo sommare i 9 diversi valori di intensit e poi dividere il
totale per 9 e sostituirlo al centro: R = 9i=1 zi .

A volte richiesto di generare una maschera di filtraggio basandosi su una funzione con-
2 +y2
x
tinua in 2 variabili, per esempio una Gaussiana nella forma base h(x, y) = e 22 dove 2
la deviazione standard. Per generare una maschera, per esempio 3 3 da questa funzione, la
campioniamo rispetto al centro: w1 = h(1, 1), w2 = h(1, 0), . . . , w1 = h(1, 1).

Per generare un filtro non lineare necessario specificare la grandezza della maschera e lope-
razione da svolgere sui pixel contenuti in essa Per esempio, un filtro 5 5 che implementa
loperazione di massimo, calcolo il valore di intensit massimo dei 25 pixel coinvolti e lo
assegna al pixel centrale dellarea.

3.5 smoothing spatial filters

Il filtraggio smoothing sono utilizzati principalmente per la sfocatura e la riduzione del ru-
more. La sfocatura (blurring) viene usata per alcune tecniche di preprocessamento come la
rimozione di piccoli dettagli per poter poi estrarre oggetti relativamente grandi oppure per
unire linee o curve separate da piccoli buchi.

3.5.1 Smoothing Linear Filters

Louput di un filtro spaziale lineare per lo smoothing semplicemente la media dei valori
dei pixel contenuti nellarea della maschera di filtraggio. Sono spesso chiamati filtri media o
filtri passa basso.

Rimpiazziando il valore di ogni pixel in unimmagine con il valore medio dei livelli di intensi-
t dei pixel contenuti nellarea della maschera considerata, nellimmagine risultante avremo
ridotto le brusche transizioni di livello di intensit. Tipicamente il rumore casuale in unim-
magine consiste proprio in brusche transizioni di intensit, dunque la tipica applicazione di
questo tipo di filtri proprio la riduzione del rumore. Attenzione a non esagerare altrimenti
si va a ridurre troppo i contorni nellimmagine.

Sono utili anche per ridurri i falsi contorni presenti in immagini con pochi livelli di gri-
gio.

Altro grande utilizzo la riduzione di dettagli irrilevanti nellimmagine, ovvero regioni di


pixel piccole rispetto alla dimensione della maschera di filtraggio.

32
La prima immagine rappresenta un filtro smooth 3 3 che semplicemente permette di otte-
nere la semplice media dellintensit dei pixel contenuti nellarea, ovvero R = 19 9i=1 zi . Il
secondo filtro pi interessante: si tratta di una media pesata in cui i pixel vengono molti-
plicati per coefficienti differenti per poter dare pi importanza a taluni rispetto ad altri. In
particolare in questa maschera il pixel centrale particolarmente importante mentre gli altri
hanno peso inversamente proporzionale rispetto alla distanza dal centro. Questo tipo di fil-
tro permette di limitare leccessiva sfocatura causata dal filtro precedente.

In riferimento alla formula della correlazione, limplementazione generale per filtrare unim-
magine M N con un filtro medio pesato m n (m e n dispari)
a b
s=a t=b w(s, t)f(x + s, y + t)
g(x, y) = a b
s=a t=b w(s, t)
Lintera immagine filtrata si ottiene applicando la formula per x = 0, 1, . . . , M 1 e y = 0, 1, . . . , N
1

Unimportante applicazione della media spaziale sfocare unimmagine per ottenere una
rappresentazione grossolana degli oggetti che ci interessano: gli oggetti pi piccoli scompa-
iono fusi nello sfondo e gli oggetti pi grandi sono pi facili da rilevare applicando, magari,
una funzione soglia. Quali oggetti scompariranno dipende dalla dimensione della maschera
di filtraggio.

3.5.2 Order-Statistic (Nonlinear) Filters

Il filtri di ordinamento-statistico sono filtri spaziali non lineari la cui risposta basata sullor-
dinamento dei pixel contenuti nellarea dellimmagine compresa dalla maschera del filtro e
la sostituzione del pixel centrale in base ai risultati dellordinamento.

33
Il filtro pi usato di questo tipo il filtro mediano che sostituisce il valore di un pixel con
la mediana fra tutti i valori di intensit dei pixel allinterno della maschera. Per certi tipi di
rumore casuale, questo tipo di filtro fornisce unottima riduzione del rumore e una minore
sfocatura rispetto a filti media della medesima dimensione. Sono particolarmente efficaci
nel caso di rumore sale e pepe (impulse noise) che appare come punti bianchi e neri sopra
limmagine.

La mediana di un insieme di valori il valore tale per cui met degli elementi dellinsieme
sono minori o uguali a essa e met sono maggiori o uguali. Per eseguire filtraggio mediano,
ordiniamo tutti i pixel compresi nella maschera, determiniamo la mediana e la sostituiamo
al pixel centrale della maschera.

La funzione principale del filtro mediano forzare punti con livelli di intensit molto di-
versi ad essere pi simili ai loro vicini. Gruppi di pixel che sono pi chiari o scuri rispetto
ai loro vicini e la cui area minore di m2 /2 (met dellarea del filtro) vengono eliminati dai
filtri mediani m m cio trasformati nel valore mediana della maschera. Gruppi pi grandi
vengono meno considerati, dunque ridotto il rischio di eccessiva sfocatura.

Selezionando il valore pi altro fra i pixel si ottiene un max filter, che utile per trovare i
punti pi luminosi dellimmagine. Viceversa selezionando il valore pi basso si ottiene un
min filter, utile per trovare i punti pi scuri dellimmagine.

3.6 sharpening spatial filters

Lobiettivo principale dello sharpening quello di evidenziare le transizioni di intensit.


utile per la stampa elettronica, le immagini in campo medico, ispezioni industriali e guida
automatica in applicazioni militari. Abbiamo appena visto che la sfocatura si realizza con la
media, siccome la media analoga allintegrazione logico pensare che lo sharpening possa
essere realizzato con la derivata spaziale.

Fondamentalmente, la forza della risposta degli operatori differenziali proporzionale al


grado di intensit della discontinuit dellimmagine nel punto in cui loperatore applicato.
Quindi la derivata o differenziazione esalta contorni e altre discontinuit e indebolisce le aree
con lente variazioni di intensit.

34
3.6.1 Foundations

Per queste tipologie di filtri utilizzeremo derivate del primo e del secondordine. In par-
ticolare siamo interessati al comportamento di queste derivate in area a intensit costante,
alla comparsa e alla fine di discontinuit (discontinuit step and ramp) e a graduali rampe
di variazione dellintensit. Le derivate di una funzione digitale sono definite in termini di
differenze.

Le derivate del primo ordine


sono 0 in aree a intensit costante;

sono 0 alla comparsa di variazioni di intensit a rampa o scalino;

sono 0 lungo le variazioni di intensit a rampa;


Le derivate del secondo ordine
sono 0 in aree a intensit costante;

sono 0 alla comparsa e alla fine di variazioni di intensit a rampa o scalino;

sono 0 lungo le variazioni di intensit a rampa di pendenza costante;


Siccome abbiamo a che fare con quantit digitali i cui valori sono finiti, la massima possibile
variazione dellintensit anchessa un valore finito e la pi piccola distanza sulla quale pu
verificarsi un cambiamento di intensit quella fra 2 pixel adiacenti.

Una definizione base della derivata del primo ordine di una funzione monodimensionale
f(x) la differenza
f
= f(x + 1) f(x)
x
Si tratta di una derivata parziale rispetto alle coordinate x, vale ugualmente per le y.

La derivata del secondo ordine si definisce come

2 f
= f(x + 1) + f(x 1) 2f(x)
x2

importante notare che il segno della derivata seconda cambia allinizio e alla fine di una
variazione a rampa o scalino. Infatti notiamo che nella variazione a scalino, la linea che
collega questi due valori interseca lasse delle x: questa propriet (zero crossing) sar utile poi
per individuare la presenza di bordi. La derivata del secondo ordine esalta i dettagli fini
meglio rispetto a quella del primo ordine ed inoltre pi facile da implementare.

35
3.6.2 Using the Second Derivative for Image Sharpening - The Laplacian

Lapproccio consiste nel definire una formulazione discreta della derivata del secondo ordine
e quindi costruire una maschera basata su tale formulazione. Ci interessano filtri isotropici
la cui risposta indipendente dalla direzione delle discontinuit nellimmagine alla quale il
filtro applicato. I filtri isotropici sono invarianti alla rotazione ovvere ruotare limmagine e
applicare il filtro d lo stesso risultato di applicare il filtro e poi ruotare limmagine.

Il pi semplice operatore derivata isotropico il Laplaciano, che, per una funzione (immagine)
f(x, y) in due variabile definitio come

2 f 2 f
2 f = +
x2 y2

Si tratta di un operatore lineare come tutte le derivate di qualsiasi ordine. Ora esprimiamo
tale operatore in forma discreta, tenendo in mente che dobbiamo considera entrambe le
variabili:
2 f
= f(x + 1, y) + f(x 1, y) 2f(x, y)
x2
e nella direzione y
2 f
= f(x, y + 1) + f(x, y 1) 2f(x, y)
y2
Dunque segue dalle 3 precedenti equazioni che il Laplaciano discreto di 2 variabili

2 f(x, y) = f(x + 1, y) + f(x 1, y) + f(x, y + 1) + f(x, y 1) 4f(x, y)

Questa equazione pu essere implementata utilizzando la maschera nella seguente figura,


che restituisce un risultato isotropico per rotazioni incrementali di 90 . Le direzioni diagona-
li possono essere incorporate nella definizione di Laplaciano digitale aggiungendo altri due
termini allequazione sopra, una per ogni direzione diagonale. Siccome ogni termine diago-
nale contiene un 2f(x, y), il totale sottrato sar 8f(x, y). Questa maschera fornisce risultati
isotropici per rotazioni di 45 .

Siccome il Laplaciano un operatore di derivazione, esso evidenzia le discontinuit di in-


tensit nellimmagine e indebolisce le regione con graduali variazioni in intensit. Questo
produrr immagini con bordi e altri disconinuit grigiastre su uno sfondo scuro e senza detta-
gli. I dettagli nelo sfondo possono essere recuperati semplicemente aggiungendo limmagine
Laplaciana allimmagine originale. Se si usa la definizione di Laplaciano con coefficiente
centrale negativo dobbiamo sottrare la maschera altrimenti sommarla:

g(x, y) = f(x, y) + c[2 f(x, y)]

c = 1 se usiamo i filtri con centro negativo, c = 1 altrimenti.


Nella seconda immagine grandi parti sono nere poich il Laplaciano contiene valori sia posi-
tivi che negativi e tutti i valori negativi sono messi a 0 automaticamente dallo schermo. Per
evitare questo possiamo scalare limmagine filtrata aggiungendo il suo minimo valore per
portare il nuovo minimo a 0 e poi scalare il tutto in [0, L 1].

36
3.6.3 Unsharp masking and Highboost filtering

Un processo che stato utilizzato per molto tempo dalle industria di stampa per aumentare
il contrasto dei testi consiste nel sottrarre un versione sfocata (unsharp - smoothed) dellimma-
gine dalloriginale. Questo processo noto come unsharp masking:

1. Sfochiamo (blur) limmagine originale;

2. Sottraiamo limmagine sfocata dalloriginale per ottenere la maschera;

3. Aggiungiamo la maschera allimmagine originale.

gmask (x, y) = f(x, y) fblurred (x, y)


g(x, y) = f(x, y) + k gmask (x, y)
abbiamo incluso un peso k 0: quando k = 1 si parla di unsharp masking, quando k > 1 si parla
di highboost filtering. Con k < 1 si va a indebolire il contributo della maschera.

Nella terza immagine possiamo notare come la unsharp mask sia molto simile a quello che
abbiamo ottenuto con la derivata del secondo ordine in precedenza. Il risultato finale nel
quarto grafico, ottenuto sommando la maschera alloriginale, mostra che nei punti in cui
avviene un cambio di pendenza vengono esaltati. possibile che in quei punti limmagine
finale assuma valori negativi, nel caso in cui nelloriginale siano presenti valori a 0 oppure

37
k sia particolarmente grande. Valori negativi portano alla presenza di aloni scuri intorno ai
bordi che, se k grande, possono produrre risultato sgradevoli.

La seconda immagine ottenuta con un filtraggio gaussiano 5 5 e = 3. La quarta immagine


ottenuta con unsharp masking con k = 1, mentre lultima immagine con k = 4, 5, il pi alto
valore di k per mantenere positivi tutti i valori.

3.6.4 Using First-Order Derivatives for (Nonlinear) Image Sharpening - The gradient

Le derivate del primo ordine nellelaborazione delle immagini sono implementate mediante
il modulo del gradiente.
Per una funzione f(x, y)m il gradiente di f alle coordinate (x, y) definito come il vettore
colonna bi-dimensionale

f
gx
f grad(f) [ ] [ x
f ]
gy y

Questo vettore ha limportante propriet geometrica di puntare verso la direzione del pi


grande tasso di variazione di f in (x, y).

Il modulo del vettore f, denotato con M(x, y) dove



M(x, y) = mag(f) = g2x + g2y

il valore in (x, y) del tasso/velocit di variazione nella direzione del vettore gradiente.
M(x, y) unimmagine della stessa dimensione delloriginale, creata consentendo a x e y di
variare su tutte le posizione dei pixel di f e viene detta immagine gradiente.

Siccome le componenti del vettore gradiente sono derivate, sono operatori lineari. Tutta-
via, il modulo di questo vettore non un operatore lineare a causa del quadrato e della
radice. Al contrario, le derivate parziali non sono isotropiche (rotation invariant), ma il modu-
lo del vettore gradiente lo . In alcune implementazioni, pi agevole computazionalmente
approssimare i quadrati e la radice con il valore assoluto

M(x, y) gx + gy
Questa espressione conserva i relativi cambiamenti in intensit, ma la propriet isotropica
perduta. Tuttavia, come nel caso del Laplaciano, le propriet isotropiche del gradiente

38
discreto definito nel paragrafo seguente vengono preservate solo per un numero limitato di
incrementi rotazionali che dipende dalla maschera di filtraggio usata per approssimare le
derivate. Le maschere maggiormente diffuse per approssimare il gradiente sono isotropiche
per multipli di 90 . Questi risultati non dipendono dalla scelta fra lultima o la penultima
equazione.

Come nel caso del Laplaciano, ora definiamo approssimazioni discrete alle precedenti equa-
zioni a da queste formuliamo le appropriate maschere di filtraggio. La notazione nella figura
3.41 denota le intensit di punti nellimmagine in una regione 3 3. Per esempio, il punto
centrale z5 indica f(x, y) in una posizione arbitraria, (x, y). z1 indica f(x 1, y 1) e cos via.
La pi semplice approssimazione a una derivata del primo ordine che soddisfa le condizioni
elencate nella sezione 3.6.1 sono gx = (z8 z5 ) e gy = (z6 z5 ). Altre de definizioni proposte
da Roberts usano le differenze incrociate

gx = (z9 z5 ) e gy = (z8 z6 )
Se usiamo la prima equazione per il modulo di questa sezione e questultima per le derivate
otteniamo
1/2
M(x, y) = [(z9 z5 )2 + (z8 z6 )2 ]
Se invece usiamo la seconda equazione per il modulo di questa sezione e questultima per le
derivate otteniamo

M(x, y) = z9 z5 + z8 z6
con x e y che variano sulle dimensioni dellimmagine.
Le derivate parziali necessarie nellequazioni sopra possono essere implementate usando le
due maschere di filtraggio lineari nella figura 4.31 (b) e (c), dette Roberts cross-gradient opera-
tors.

Le maschere di dimensioni pari sono scomode da implementare perch non hanno un centro
di simmetria. Le pi piccole maschere di filtraggio che ci interessano hanno dimensioni 3 3.
Approssimazioni di gx e gy usando unarea 3 3 centrata in z5 sono:

f
gx = = (z7 + 2z8 + z9 ) (z1 + 2z2 + z3 )
x
e

f
gy = = (z3 + 2z6 + z9 ) (z1 + 2z4 + z7 )
y

39
Queste equazioni sono implementate con le maschere in figura 3.41 (d) e (e) dette operatori
Sobel. Dopo avere calcolato le derivate parziali con queste maschere, possiamo ottenere il
modulo del gradiente come prima:

f
M(x, y) (z7 + 2z8 + z9 ) (z1 + 2z2 + z3 ) + gy = = (z3 + 2z6 + z9 ) (z1 + 2z4 + z7 )
y
Lidea delle maschere Sobel di usare un valore peso di 2 nel coefficiente centrale permette
uno smoothing che d maggior importanza al punto centrale. Si noti che la somma di tutti i
coefficienti di tutte le maschere nellimmagine sempre 0. Questo ci indica che ci danno 0
come risposta in unarea con intensit costante, come ci si aspetta da un operatore di derivata.

Come detto prima, le computazioni di gx e gy sono operazioni lineari perch coinvolgono


le derivate e, quindi, posso essere implementate come somma di prodotti usate le maschere
in figura. La parte non lineare dello sharpening con il gradiente il calcolo di M(x, y) che
coinvolge quadrati,radici e il valore assoluto, tutte operazioni non lineari. Queste operazioni
sono eseguite dopo il processo lineare che ci restituisce gx e gy .

Il gradiente usato di frequente nelle ispezioni industriali, sia per aiutare gli uomini nel-
lindividuare dei difetti, sia, ancora pi comune, come passo di pre-elaborazione per unispe-
zione automatica. Ecco un esempio di come il gradiente pu essere usato per enfatizzare i
difetti e eliminare lente variazioni di intensit nello sfondo.
La figura 3.42 (a) mostra unimmagine ottica di una lente a contatto illuminata da una luce
progetta per evidenziare le imperfezioni, come i due difetti sul bordo in basso a destra. La
figura (b) mostra lapplicazione del gradiente tramite gli operatori Sobel. I difetti si nota-
no ancor, ma col vantaggio che le lente variazioni grigie dello sfondo sono state eliminate,
semplificando notevolmente la difficolt computazionale richiesta per lispezione automatica.

3.7 combining spatial enhancement methods

Spesso un dato problema di elaborazione richiede lapplicazione di pi tecniche complemen-


tari per ottenere un risultato accettabile. Cerchiamo di capire come combinare alcuni degli
approcci visti finora per realizzare unelaborazione non banale con un esempio.

Limmagine originale una scansione nucleare di uno scheletro, utilizzata per verificare
la presenza di infezioni alle ossa o tumori. Il nostro obiettivo migliorarla aumentando il
contrasto e facendo emergere maggior dettagli dello scheletro. Il range dinamico dei livelli di
intensit stretto e il molto rumore presente rende difficile queste operazioni. Come strategia
utilizzeremo il Laplaciano per evidenziare i dettagli fini e il gradiente per migliorare i bordi
prominenti. Useremo poi una versione sfumata dellimmagine gradiente come maschera per
limmagine Laplaciana. Finalmente, cercheremo di aumentare il range dinamico dei livelli di
intensit mediante una trasformazione.

La seconda immagine il Laplaciano delloriginale avendo utilizzato la maschera con 8 al


centro. Possiamo avere unimmagine maggiormente dettagliata semplicemente sommando
questultima alloriginale e ottenendo la terza immagine: pi dettagliata, ma piuttosto rumo-
rosa poich il Laplaciano ha fatto emergere troppe discontinuit.

40
A questo punto potremmo usare un filtro mediano per ridurre il rumore, ma si tratta di
unoperazione non lineare che rischia di rimuovere troppi dettagli. Un approccio alternativo
quello di usare una maschera formata da una versione sfumata (smoothed) del gradiente
dellimmagine originale. Il Laplaciano, basato sulle derivate seconde, migliore per miglio-
rare i dettagli fini, ma pu portare a risultati maggiormente rumorosi rispetto al gradiente.
Questo rumore particolarmente sgradevole nelle aree sfocate dove tende a essere maggior-
mente visibile. Il gradiente ha una risposta mediamente pi forte nelle aree con transizioni
significative (rampe e scalini) rispetto al Laplaciano. Leffetto del gradiente sul rumore e sui
dettagli fini minore rispetto al Laplaciano e pu essere ulteriormente diminuita sfocando
il gradiente con un filtro mediano. Lidea, quindi, sfocare il gradiente e moltiplicarlo per
limmagine Laplaciana. Il prodotto preserva i dettagli nelle aree forti e riduce il rumore
nelle aree relativamente piatte. Combiniamo le migliori caratteristiche del Laplaciano e del
gradiente. Il risultato viene aggiunto allimmagine originale per ottenere limmagine finale
(sharpened).

La procedura appena discussa non influisce positivamente sul dynamic range dei livelli di
intensit dellimmagine. Dunque, il passo finale del nostro miglioramento incrementare il
dynamic range dellimmagine. Abbiamo visto in precedenza che lequalizzazione dellisto-
gramma non la procedura ideale per lavorare su immagine che hanno una distribuzione di
intensit scura come la nostra. Lhistogram specification potrebbe essere una soluzione, ma le
caratteristiche scure dellimmagine sembrano maggiormente adatte alluso di una power-law
trasformation.

41
42
F I LT E R I N G I N T H E F R E Q U E N C Y D O M A I N

4.6 some properties of the 2-d discrete fourier transform


4
4.6.1 Relationships Between Spatial and Frequency Intervals

Supponiamo che una funzione continua f(t, z) sia campionata per formare unimmagine
digitale costituita da M N sample presi nelle direzioni t e z rispettivamente. Siano T e Z
gli intervalli di separazione fra i sample
Allora gli intervalli di separazione fra le corrispondenti variabili discrete nel dominio di
frequenza saranno dati da

1
u =
MT
1
v =
NZ
Le distanze fra i campioni nel dominio della frequenza sono inversamente proporzionali
rispetto a quelle rispetto ai campioni spaziali e anche rispetto al numero di campioni.

4.6.2 Traslation and Rotation

La coppia della trasformata di Fourier soddisfa la seguente propriet di traslazione

f(x, y)ej2(u0 x/M + v0 y/N) F(u u0 , v v0 )


e

f(x x0 , y y0 ) F(u, v)ej2(x0 u/M + y0 v/N)


ovvero, moltiplicando f(x, y) per lesponenziale mostrato lorigine della DFT viene traslata
in (u0 , v0 ) e, viceversa, moltiplicando F(u, v) per il negativo di quellesponenziale lorigine
della funzione f(x, y) viene traslata in (x0 , y0 ). La traslazione non ha nessun effetto sullo
spettro della trasformata.

Usando le coordinate polari

x = r cos y = r sin u = cos v = sin


arriviamo alla seguente coppia

f(r, + 0 ) F(, + 0 )
ovvero, ruotando f(x, y) di un angolo 0 ruota anche F(u, v) dello stesso angolo. Vale il
viceversa.

4.6.3 Periodicity

Come il caso 1-D, la trasformata di Fourie 2-D e la sua inversa sono infinitamente periodiche
nella direzione u e v, cio

F(u, v) = F(u + k1 M, v) = F(u, v + k2 N) = F(u + k1 M, v + k2 N)


e
f(x, y) = f(x + k1 M, y) = F(x, y + k2 N) = F(x + k1 M, y + k2 N)
con k1 e k2 interi.
I dati della trasformata nellintervallo [0, M 1] consistono in 2 mezzi periodi consecutivi
che si incontrano in M/2. Per motivi legati alla visualizzazione e al filtraggio meglio avere
in questo intervallo un periodo completo della trasformata in cui i dati siano contigui.

43
Segue dalla bi-implicazione della traslazione precedente che

f(x)ej2(u0 x/M) F(u u0 )


ovvero, moltiplicando f(x) per lesponenziale mostrato i valori vegono traslati in modo che
lorigine, F(0), sia in posizione u0 . Se poniamo u0 = M/2, lesponenziale diventa ejx che
uguale a (1)x poich x un intero. In questo caso

f(x)(1)x F(u M/ 2)
ovvero, moltiplicando f(x) per (1)x trasla i valori in modo tale che F(0) sia al centro del-
lintervallo [0, M 1] che corrisponde alla Fig. 4.23(b).

Nel 2-D la situazione pi complessa da rappresentare graficamente, ma il principio lo


stesso come mostrato in figura 4.23 (c). Invece che 2 mezzi periodi ci sono 4 quarti di perio-
do che si incontrano nel punto (M/2, N/2). I rettangoli tratteggiati corrispondono al numero
infinito di periodi della DFT 2-D. Come nel caso 1-D, la visualizzazione semplificata se
trasliamo i valori in modo che F(0, 0) sia in (M/2, N/2). Ponendo (u0 , v0 ) = (M/2, N/2) nella
prima equazione della traslazione avremo che

f(x, y)(1)x+y F(u M/2, v N/2)


Usando questa equazione trasliamo i valori in modo tale che F(0, 0) sia al centro del frequency
rectangle definito dallintervallo [0, M 1] e [0, N 1]

4.6.4 Symmetry Properties

Ogni funzione real o complessa w(x, y) pu essere espressa come somma di una parte pari
e una parte dispari (ognuna delle quali pu essere reale o complessa):

w(x, y) = wp (x, y) + wd (x, y)

dove le parti pari e dispari sono definite come

w(x, y) + w(x, y)
wp (x, y) =
2

w(x, y) w(x, y)
wd (x, y) =
2

44
Dalle precedenti definizioni segue che

wp (x, y) = wp (x, y)
wd (x, y) = wd (x, y)

Le funzioni pari sono dette simmetriche e quelle dispari anti-simmetriche. Siccome tutti gli
indice nella DFT e IDFT sono positivi, quando parliamo di simmetria e anti-simmetria ci
riferiamo alla simmetria (anti-simmetria) riguardo al punto centrale della sequela. pi
comodo pensare solo in termini di indici non-negativi, in tal caso le definizioni di parit e
disparit divengono:
wp (x, y) = wp (M x, N y)
wd (x, y) = wd (M x, N y)

Sappiamo anche che il prodotto di due funzioni pari o due funzioni dispari pari, e che
il prodotto di una funzione pari e una dispari dispari. Inoltre lunico modo in cui una
funzione discreta pu essere dispari il caso in cui la somma di tutti i suoi campioni zero.
Questo ci porta a scrivere che

M1
wp (x, y)wd (x, y) = 0
x=0

per due qualsiasi funzioni pari e dispari: siccome largomento della sommatoria dispari
allora la somma 0.

La parit e la disparit di sequenze dipende anche dalla lunghezza di tali sequenze. Le


DFT di funzioni pari e dispari hanno alcune importanti caratteristiche. Quindi, capire quan-
do una funzione pari o dispari gioca un ruolo chiave nella nostra abilit nellinterpretare le
immagini basandoci sulla DFT.

Le stesse considerazioni valgono in 2-D:


0 0 0 0 0 0

0 0
0 0 0 0

0 0 1 0 1 0

0 2 0
0 0 2

0 0 1 0 1 0

0 0
0 0 0 0
Aggiungendo unaltra riga e colonna di 0 ci darebbe un risultato che non n pari n dispari.

Grazie alle precedenti definizioni, possiamo stabilire una serie di propriet di simmetrica
della DFT e la sua inversa. Una propriet usata di frequente afferma che la trasformata di
Fourier di una funzione reale f(x, y) simmetrica coniugata:

F (u, v) = F(u, v)

dimostrabile come segue:

M1 N1
F (u, v) , = [ f(x, y)ej2(ux/M + vy/N) ]
x=0 y=0
M1 N1
= f (x, y)ej2(ux/M + vy/N)
x=0 y=0
M1 N1
= f(x, y)ej2([u]x/M + [v]y/N)
x=0 y=0

= F(u, v)

Se f(x, y) immaginaria, la sua trasformata di Fourier anti-simmetrica coniugata ovvero

F (u, v) = F(u, v)

45
La seguente tabella indica le altre propriet simmetriche della DFT utili per lelaborazione
delle immagini digitali. Per ogni riga, le propriet a destra sono soddisfatte dalla trasformata
di Fourier della funzione che ha le propriet a sinistra, e viceversa. Per esempio, la propriet
5: la DFT di una funzione reale f(x, y) in cui (x, y) sostituito da (x, y) F (u, v), dove
F(u, v) una funzione complessa e viceversa.

Dimostrazione propriet 3
Se f(x, y) una funzione reale, la parte reale della sua DFT pari e la parte immaginaria
dispari; viceversa, se una DFT ha la parte reale e la parte immaginaria pari e dispari rispetti-
vamente, allora la sua IDFT una funzione reale.
F(u, v) in generale complessa quindi possiamo esprimerla come somma di parte reale
e immaginaria: F(u, v) = R(u, v) + jI(u, v). Quindi F (u, v) = R(u, v) jI(u, v). Vale an-
che F(u, v) = R(u, v), + jI(u, v). Ma, come provato prima, se f(x, y) reale allora
F (u, v) = F(u, v) quindi, in base alle due precedenti equazioni, R(u, v) = R(u, v) e
I(u, v) = I(u, v). Questo prova che R una funzione pari e I una funzione dispari.

Dimostrazione propriet 8
Se f(x, y) una funzione reale, sappiamo dalla propriet 3 la parte reale di F(u, v) pa-
ri, quindi per provare la 8 dobbiamo mostrare che se f(x, y) reale e pari, allora la parte
immaginaria di F(u, v) 0.

M1 N1
F(u, v) = [fr (x, y)]ej2(ux/M + vy/N)
x=0 y=0
M1 N1
= [fr (x, y)]ej2(ux/M) ej2(vy/N)
x=0 y=0
M1 N1
= [pari] [pari j dispari] [pari j dispari]
x=0 y=0
M1 N1
= [pari] [pari pari 2j pari dispari dispari dispari]
x=0 y=0
M1 N1 M1 N1 M1 N1
= [pari pari] 2j [pari dispari] [pari pari]
x=0 y=0 x=0 y=0 x=0 y=0

= reale

46
4.6.5 Fourier Spectrum and Phase Angle

Siccome la DFT in 2-D complessa in generale, pu essere espressa in forma polare:

F(u, v) = F(u, v)ej(u,v)

dove il modulo

1/2
F(u, v) = [R2 (u, v) + I2 (u, v)]

chiamato spettro di Fourier (o di frequenza), e

I(u, v)
(u, v) = arctan
R(u, v)

langolo di fase, calcolato su 4 quadranti con atan2.

Dunque lo spettro di potenza definito come

P(u, v) = F(u, v)2 = R2 (u, v) + I2 (u, v)

Questi ultime 3 definizioni sono tutte matrici M N.


La trasformata di Fourier di una funzione reale simmetrica coniugata, ne segue che lo
spettro pari rispetto allorigine:

F(u, v) = F(u, v)

inoltre langolo di fase dispari rispetto allorigine

(u, v) = (u, v)

segue dalla prima equazione di questo paragrafo che

M1 N1
F(0, 0) = f(x, y)
x=0 y=0

il che significa che il termine zero della frequenza proporzionale al valore medio di f(x, y),
cio
1 M1 N1
F(0, 0) = MN f(x, y) = MNf(x,
y)
MN x=0 y=0

quindi
F(0, 0) = MNf(x,
y)

Dato che la costante di proporzionalit MN solitamente elevata, F(0, 0) tipicamente


la componente pi grande dello spettro di un fattore che pu essere di diversi ordini di
grandezza maggiore rispetto agli altri termini. Visto che le componenti di frequenza u e v
sono 0 nellorigine, F(0, 0) spesso chiamata la componente DC.
La prima figura mostra una semplice immagine e la seconda il suo spettro. Notiamo che le
origini sia del dominio spaziale che di quello di frequenza sono in alto a sinistra.
Come ci aspettavamo, larea intorno allorigine della trasformata contiene i valori pi alti e
tuttavia questi si ripetono negli altre tre angoli dellimmagine: ci dovuto alle propriet di
simmetria viste in precedenza.
Per centrare lo spettro, moltiplichiamo limmagine originale per (1)x+y prima di calcolare
la DFT, come visto prima, in modo da ottenere la terza figura. Come gi detto, il range
dinamico dello spettro risulta compresso a causa del grande valore della componente dc,
quindi per far emergere maggior dettagli, eseguiamo una trasformazione logaritmica ovvero
calcoliamo (1 + log F(u, v)) e otteniamo la quarta figura.
Abbiamo visto che lo spettro insensibile alle traslazione delle immagini (il valore assoluto
del termine esponenziale 1), ma ruota dello stesso angolo se limmagine ruota, come si nota
nellimmagine 4-25.

47
Lo spettro non cambia se trasliamo limmagine originale, ma langolo di fase s in base
alla prima equazione di questo paragrafo. Limmagine 4-26 mostra i vettori degli angoli di
fase, espressi in immagini, delle immagini precedenti. Si nota una grande differenza fra le
prime due figure nonostante ci sia solo una semplice traslazione nelle immagini originali.
Nella terza si nota la rotazione, ma in generale le immagine degli angoli di fase non ci danno
moltissime informazioni sullimmagine originale.

Le componenti dello spettro della DFT determinano le ampiezze delle sinusoide che com-
binate formano limmagine risultante. Ad ogni data frequenza nella DFT di unimmagine,
una grande ampiezza implica una maggiore rilevanza di una sinusoide di tale frequenza nel-
limmagine. Viceversa, una piccola ampiezza implica che poco di quella sinusoide presente
nellimmagine.

La fase, invece, una misura dello spostamento delle varie sinusoidi rispetto alla loro origine.
Quindi, mentre lo spettro di una DFT 2-D una matrice le cui componenti determinano le
intensit nellimmagine, la corrispondente fase una matrice di angoli che porta molte delle
informazioni riguardo a dove sono posizionati nellimmagini oggetti distinguibili.
La seconda figura sopra langolo di fase della DFT della prima figura. Non c nessun
dettaglio in questa matrice che ci possa aiutare nellanalisi visuale associandola alle caratte-
ristiche presenti nellimmagine originale. Tuttavia, limportanza della fase nel determinare
le caratteristiche delle forme nellimmagine evidente nella terza figura, che stata ottenuta

48
calcolando la DFT inversa della prima equazione di questo paragrafo usando solo informa-
zioni di fase (per esempio mettendo F(u, v) = 1, cio intensit piatta per tutte le componenti
dello spettro). Anche se le informazioni sullintensit vengono perse (linformazioni sulle
intensit sempre portata dallo spettro), nelle forme chiave che emergono da questa figura
si pu riconoscere limmagine originale.
La quarta figura stata ottenuta facendo il contrario, cio calcolando la IDFT usando solo
lo spettro, cio ponendo nellequazione il termine esponenziale a 1 che corrisponde a porre
langolo di fase a 0. IL risultato contiene solo informazioni di intensit, con la componente
dc dominante. Non ci sono informazioni sulle forme perch la fase stata posta a 0.
La quinta figura ottenuta calcolando la IDFT usando lo spettro, cio le intensit, del rettan-
golo delle immagini sopra e langolo di fase della donna. La forma della donna chiaramente
visibili nel risultato.
Lultima figura ottenuta usando, invece, la fase del rettangolo e le intensit della donna.
Si capisce dunque limportanza della fase nel determinare il contenuto caratteristico dellim-
magine.

4.6.6 The 2-D Convolution Theorem

Estendo lequazione della convoluzione a due variabili otteniamo la seguente formula per la
convoluzione circolare 2-D:

M1 N1
f(x, y) h(x, y) = f(m, n)h(x m, y n)
x=0 y=0

49
per x = 0, 1, 2, . . . , M 1 e y = 0, 1, 2, . . . , N 1. Questa equazione ci restituisce un periodo della
sequenza periodica 2-D.

Il teorema della convoluzione 2-d dato dallespressione

f(x, y) h(x, y) F(u, v)H(u, v)

e viceversa
f(x, y)h(x, y) F(u, v) H(u, v)

dove F e H sono ottenute usando la solita formula 4.5-15 allinizio del paragrafo precedente
e la doppia freccia indica la coppia della trasformata di Fourier.

La prima equazione, che dice la DFT inversa del prodotto F(u, v)H(u, v) ci d la convolu-
zione spaziale 2-D di f e h f(x, y) h(x, y), lo strumento alla base di tutto il filtraggio
lineare e tutte le tecniche di filtraggio che vedremo fra breve.

Se decidiamo di computare la convoluzione spaziale usando la IDFT del prodotto delle due
trasformate, allora la periodicit discussa prima devessere tenuta in considerazione. Vedia-
mo un esempio 1-D e poi estendiamo le conclusioni a due variabili.
La prima colonna dellimmagine 4-28 sotto rappresenta la convoluzione di due funzioni f e
h usando lequazione 1-D:

399
f(x, y) h(x, y) = f(x)h(x m)
m=0

Il requisito sulla variabile di spostamento x che essa sia sufficientemente grande per fare s
che la versione ruotata di h scorra completamente su f.
In altre parole, la procedura consiste nel

1. riflettere h rispetto allorigine ovvero ruotarla di 180 (figura c colonna 1);

2. traslare la funzione riflessa di una quantit x (figura d colonna 1);

3. per ogni valore della traslazione x, calcolare lintera somma dei prodotti nella parte
destra della precedente equazione: significa moltiplicare la funzione nella prima figura
per quella nella quarta per ogni valore di x. Lo spostamento x ricopre tutti i valori
necessari per far scorrere completamente h su f e ottenere dunque la convoluzione
nellultima figura;

Notiamo che la convoluzione una funzione della variabile x di spostamento e che il range
di x necessario in questo esempio va da 0 a 799.
Se usiamo la DFT e il teorema della convoluzione per ottenere lo stesso risultato della co-
lonna sinistra, dobbiamo tenere conto della periodicit presente nellespressione della DFT.
Questo si pu notare nella colonna destra: la procedura la stessa, ma ora le due funzioni
sono periodiche. Abbiamo calcolato la DFT dei 400 punti delle due funzioni f e h, moltipli-
cato le due trasformate e quindi calcolato la DFT inversa.
Procedendo in tale modo otteniamo la convoluzione presente nellultima figura in basso a
destra, un risultato chiaramente non corretto. Siccome stiamo applicando la convoluzione
a due funzioni periodiche, anche la convoluzione stessa sar periodica. La vicinanza fra i
periodi tale che essi interferiscono fra loro e causano un errore noto come wraparound error.

Fortunamente, la soluzione a questo tipo di errore piuttosto semplice.


Consideriamo due funzioni, f(x) e h(x) composte da A e B campioni/samples rispettiva-
mente. Si pu dimostrare che se aggiungiamo zeri a entrambe le funzioni in modo tale che
abbiano la medesima lunghezza, indicata con P, allora il wraparound sar evitato se scegliamo

PA+B1
Nel nostro esempio ogni funzione ha 400 punti, quindi il valore minimo che possiamo usare
P = 799, il che significa che dovremo aggiungere 399 zeri alla fine di ogni funzione (anche
allinizio o met e met volendo). Questo processo detto zero padding.

50
Dunque, se i periodi delle funzioni nelle primi due figure della colonna di destra fossero
allungati aggiungendo a ogni periodo almeno 399 zeri, il risultato sarebbe una convoluzione
periodica in cui ogni periodo uguale al risultato corretto della figura in basso della colonna
sinistra. Usando quindi la DFT secondo il teorema della convoluzione, avremo una funzione
spaziale a 799 punti identica a quella corretta.

Ragionando su funzioni bidimensionale il problema si ripresenta e la soluzione molto


simile. Siano f(x, y) e h(x, y) due matrici immagine di dimensioni A B e C D pixel rispet-
tivamente. Lerrore di wraparound nelle loro convoluzioni circolari si pu evitare eseguendo
lo zero-padding come segue:


f(x, y) 0 x A 1 e 0 y B 1
fp (x, y) =

AxP o ByQ
0
e


h(x, y) 0 x C 1 e 0 y D 1
hp (x, y) =

CxP o DyQ
0
con

PA+C1
e

QB+D1
Le immagini padded risultanti saranno di dimensioni P Q.
Come regola, lalgoritmo per il calcolo della DFT esegue pi velocemente con matrici di
dimensioni pari, quindi buona pratica scegliere P e Q come i pi piccoli interi pari che
soddisfano le precedenti disequazioni. Se le due matrici sono della stessa dimensioni, allora
P e Q saranno scelti come il doppio di quella dimensione.

Le due funzioni nelle prime due figure della colonna sinistra dellimmagine precedente van-
no a zero prima della fine dellintervallo di sampling. Se una o entrambe non fossero zero
alla fine dellintervallo, si creerebbe una discontinuit quando aggiungiamo gli zeri per eli-
minare lerrore wraparound. Un problema analogo a moltiplicare una funzione per unaltra
di tipo box, il che ci porterebbe, nel dominio delle frequenze, a una convoluzione della tra-
sformata originale con una funzione sinc (vedi primo esempio del capitolo 4).

51
Questo ci porta al cosiddetto frequency leakage, causato dalle componenti da altra frequenza
della funzione sinc. Il leakage produce un effetto a blocchi nelle immagini.
Nonostante il leakage non possa essere totalmente eliminato, pu essere significativamente
ridotto moltiplicando la funzione sampled per un altra funzione che si assottiglia gradual-
mente verso zero ad entrambe le estremit del record campionato per smorzare la transizione
sharpened (e quindi le componenti ad alta frequenza) del box. Questo approccio, detto win-
dowing o apodizing, importante se si desidera ottenere una ricostruzione delle immagini
molto fedeli (per esempio nella grafica in alta definizione). una buona idea utilizzare una
funzione Gaussiana 2-D, la cui trasformata di Fourier anche Gaussiana e quindi produrre
un basso leakage.

4.6.7 Summary of 2-D Discrete Fourier Trasform Properties

Questa seconda tabella riassume alcune importanti coppie DFT.

4.7 the basics of filtering in the frequency domain

4.7.1 Additional Characteristics of the Frequency Domain

Innanzitutto notiamo nellequazione della DFT che ogni termine di F(u, v) contiene tutti i
valori di f(x, y) modificati dai valori dei termini esponenziali. Quindi generalmente im-
possibile fare delle associazioni dirette fra specifiche componenti di unimmagine e la sua
trasformata. Possiamo comunque fare alcune considerazioni sulle relazioni fra le componen-
ti di una trasformata di Fourier e le caratteristiche spaziali di unimmagine.

Per esempio, siccome la frequenza direttamente legata alla velocit di variazione nel domi-
nio spaziale, si associano le frequenze nella trasformata ai pattern di variazione dellintensit
nellimmagine. La componente di variazione di frequenza pi lenta (u = v = 0, lorigine della
trasformata) proporzionale allintensit media dellimmagine.
Man mano che ci allontaniamo dallorigine della trasformata, le frequenza basse corrispon-
dono alle graduali variazioni di intensit in unimmagine. Nellimmagine di una stanza, per
esempio, questultime componenti possono corrispondere alle graduali variazioni di intensi-

52
t delle pareti.
Allontanandoci sempre di pi dallorigine, le frequenze pi alte corrispondono alle variazio-
ni di intensit pi rapide nellimmagine. Per esempio i bordi degli oggetti e altre componenti
di unimmagine caratterizzate da un brusco cambiamento in intensit.

Le tecniche di filtraggio nel dominio della frequenza sono basate sulla modifica della tra-
sformata di Fourier per ottenere uno specifico obiettivo e quindi computare linversa DFT
per tornare al dominio spaziale.

Le due componenti della trasformata su cui possiamo lavorare sono lo spettro e langolo di
fase. Abbiamo visto che lanalisi visuale delle componenti della fase non molto utile, men-
tre lo spettro ci permette di capire a grandi linee alcune delle caratteristiche dellimmagine
originale.

Nellimmagine originale possiamo notare bordi marcati posizionati in direzione 45 e due


elementi centrali bianchi. Lo spettro presenta componenti intense lungo le direzioni di 45 e
45 corrispondenti proprio ai bordi. Guardando attentamente possiamo notare anche una
componente verticale leggermente fuori asse verso sinistra. Questa componente causata
dai bordi degli elementi centrali bianchi. da notare come langolo della componente di

53
frequenza rispetto allasse verticale corrisponde allinclinazione (rispetto allasse orizzontale)
del lungo elemento bianco, e che gli zero nella componente verticale di frequenza corrispon-
dono alla stretta ampiezza verticale degli elementi bianchi.

Queste sono le tipiche associazioni che possono essere fatte in generale fra i domini spaziali
e di frequenza.

4.7.2 Frequency Domain Filtering Fundamentals

Filtrare nel dominio delle frequenze significa modificare la trasformata di Fourier di unim-
magine e quindi computare la trasformata inversa per ottenere il risultato modificato. Quindi,
data unimmagine digitale f(x, y) di dimensioni M N, lequazione di base per il filtraggio
nella forma:

g(x, y) = F 1 [H(u, v)F(u, v)]

dove F 1 la IDFT, F(u, v) la DFT dellimmagine di input, f(x, y), H(u, v) una funzione
filtro e g(x, y) limmagine filtrata di output. Le funzioni F, H e g sono matrici M N. Il
prodotto H(u, v)F(u, v) calcolato usando la moltiplicazione fra matrici in cui ogni elemento
della prima viene moltiplicata per il corrispondente elemento della seconda per formare il
nuovo valore.
La specifica di H(u, v) semplificata considerevolmente usando funzioni che sono simmetri-
che rispetto al loro centro, il che richiede che anche F(u, v) venga centrata (occorre moltipli-
care limmagine di input per (1)x+y prima di computare la trasformata).

Uno dei filtri pi semplici a cui possiamo pensare un filtro H(u, v) che vale 0 nel cen-
tro della trasformata e 1 altrove. Questo filtro elimina la componente dc passa (non varia)
tutti gli altri termini di F(u, v) quando formiamo il prodotto. Sappiamo che la componente
dc proporzionale allintensit media dellimmagine quindi metterla a 0 significa ridurre
lintensit media dellimmagine di output a 0. Quindi ci saranno alcuni valori di intensit
negativi, ma li clippiamo tutti a 0.

Ci aspettiamo che un filtro H(u, v) che attenua le frequenze alte mentre fa passare le frequen-
ze basse (filtro passa-basso) sfumi unimmagine attenuando le variazioni di intensit rapide e
marcate. Un filtro con le caratteristiche opposte (filtro passa-alto) migliora i dettagli marcati
fra le rapide variazioni di intensit, ma causa una riduzione del contrasto.
Notiamo la somiglianza fra limmagine centrale e la 4-30: questo dovuto al fatto che il filtro
passa-alto elimina il termine dc proprio come il precedente. Se aggiungiamo una piccola
costante al filtro, riusciamo a mantenere leffetto sharpening, ma preveniamo leliminazione
della componente dc e questo preserva la tonalit come si nota nellultima immagine.

Lequazione base sopra include il prodotto di due funzioni nel dominio della frequenza
che corrisponde a una convoluzione nel dominio spaziale. Sappiamo che se le funzioni su-
biscono lo zero-padding ci possiamo aspettare un errore wraparound, come mostra limmagine
seguente (4-32)
La seconda immagine sopra (4-33) ci mostra il perch della discrepanza fra immagini filtra-
te dovuta al mancato padding. Le aree tratteggiate corrispondono allimmagine precedente
originale non filtrata. La prima figura rappresenta la periodicit implicita nelluso della DFT.

54
Immaginiamo di applicare la convoluzione della rappresentazione spaziale del filtro con que-
sta immagine. Quando il filtro passa sul bordo alto dellarea tratteggiata, esso comprender
parte dellimmagine e e anche parte del bordo basso dellimmagine periodica sopra, il risulta-
to filtrato sar una area grigia e sfumata, ci che desideriamo. Invece, quando il filtro passa
sul bordo destro in alto comprender due aree di medesima intensit dunque il filtraggio
lascer inalterato il bordo.
Eseguendo lo zero-padding andiamo a creare un bordo uniforme attorno alla sequenza pe-
riodica e a questo punto la convoluzione ci porter al risultato desiderato corretto.

Lo zero-padding viene fatto nel dominio spaziale, ma un filtro lo si pu definire diretta-


mente nel dominio delle frequenze. Qual la relazione fra il padding spaziale e i filtri
definiti direttamente nel dominio delle frequenze?
Un primo approccio potrebbe essere: costruire il filtro nel dominio delle frequenze delle stes-
se dimensioni dellimmagine, calcolare la IDFT per ottenere il corrispondente filtro spaziale,
eseguire il padding su questultimo e infine calcolare la DFT per tornare al dominio delle
frequenze.
Nella seguente immagine presentato questo approccio.
Nella prima figura rappresentato un filtro ideale passa-basso 1-D nel dominio delle fre-
quenze. Il filtro reale e presenta simmetria pari quindi sappiamo dalla propriet 8 della
tabella vista prima, che la sua IDFT sar anchessa reale e simmetrica.
Nella seconda figura (basso a sinistra) rappresentato il risultato della IDFT della moltipli-
cazione degli elementi del filtro nel dominio delle frequenze per (1)u in modo da ottenere
il corrispondente filtro spaziale.
Gli estremi di questo filtro spaziale non sono 0 quindi viene eseguito lo zero-padding e ot-
teniamo la terza funzione che presenta evidentemente due discontinuit (fare il padding dei
due estremi della funzione uguale a fare il padding solo di una, limportante che il nume-
ro di 0 usati sia lo stesso).
Per tornare al dominio delle frequenze, calcoliamo la DFT del filtro spaziale e otteniamo
cos la quarta figura. Le discontinuit presenti nel filtro spaziale hanno portato a un visibile

55
effetto ringing nella sua controparte del dominio delle frequenze, come abbiamo gi visto nel
primo esempio di questo capitolo. La trasformata di Fourier di una funzione rettangolare
(box function) una funzione sinc con componenti di frequenza che si estendono verso infi-
nito e ci aspetteremmo lo stesso comportamento per la trasformata inversa di un rettangolo
nel dominio delle frequenze. In effetti la rappresentazione spaziale di un filtro rettangolare
ideale nel dominio delle frequenze ha componenti che si estendono fino a infinito. Per, un
qualsiasi troncamento spaziale del filtro per eseguire lo zero-padding introduce delle discon-
tinuit, che portano alleffetto ringing nel dominio delle frequenze.

Quello che possiamo capire dal precedente esempio che, siccome non possiamo lavora-
re con un numero infinito di componenti, non possiamo usare un filtro ideale nel dominio
delle frequenze e simultaneamente usare lo zero-padding per evitare il wraparound error.
Una decisione su quale limitazione accettare richiesta.
Il nostro obiettivo lavorare con un forme di filtri nel domino delle frequenze specificate
prima senza avere a che fare con problemi dovuti al troncamento. Un tipo di approccio
utile quello di applicare lo zero-padding direttamente sulle immagini e poi creare filtri di
frequenza della stessa dimensione delle immagini padded (ricordiamoci che le immagini e
i filtri devono sempre essere della stessa dimensione quando usiamo la DFT). Ovviamente,
questo porter a un wraparound errore, visto che non abbiamo paddato il filtro, ma in
pratica questerrore mitigato significativamente dalla separazione apportata dal padding
dellimmagine ed preferibile alleffetto ringing.

Specificatamente, lapproccio che seguiremo da ora in avanti per lavorare con filtri di forma
specificata direttamente nel dominio delle frequenze eseguire il padding delle immagine
per avere poi dimensioni P Q e costruire filtri della stessa dimensione.

Concludiamo la sezione analizzando langolo di fase della trasformata filtrata. Siccome la


DFT un array complesso, possiamo esprimerla nei termini delle sue parti reali e immagina-
rie:

F(u, v) = R(u, v) + jI(u, v)

quindi lequazione del filtraggio diventa

g(x, y) = F 1 [H(u, v)R(u, v) + jH(u, v)I(u, v)]

Langolo di fase non viene modificato filtrando nel modo descritto sopra perch H(u, v) si
annulla quando il rapporto fra la parte immaginaria e quella reali si forma come nellequa-
zione

I(u, v)
(u, v) = arctan
R(u, v)

I filtri che influenzano la parte reale e quella immaginare egualmente, e quindi non hanno
effetto sulla fase, sono detti zero-phase-shift filters. Questi sono gli unici tipi di filtri che consi-
deriamo in questo capitolo.

56
Anche il pi piccolo cambiamento nellangolo di fase pu avere effetti enormi e indesiderati
sulloutput filtrato.

4.7.3 Summary of Steps for Filtering in the Frequency Domain

Riassumiamo ci che abbiamo visto nelle sezioni precedenti:

1. Data unimmagine in input f(x, y) di dimensioni M N, ottenere i parametri di pad-


ding P e Q grazie allequazioni P 2M 1 e Q 2N 1. Tipicamente, scegliamo P = 2M
e Q = 2N.

2. Formare un immagine padded, fp (x, y), di dimensioni P Q aggiungendo il numero


necessario di 0 a f(x, y).

3. Moltiplicare fp (x, y) per (1)x+y per centrare la sua trasformata.

4. Calcolare la DFT, F(u, v), dellimmagine ottenuta al passo 3.

5. Generare una funzione filtro reale e simmetrica, H(u, v), di dimensioni P Q con centro
nelle coordinate (P/2, Q/2). Formare il prodotto G(u, v) = H(u, v)F(u, v) usando la
moltiplicazione fra array ovvero G(i, k) = H(i, k)F(i, k).

6. Ottenere limmagine elaborata:

gp (x, y) = {reale[F 1 [G(u, v)]]}(1)x+y

dove la parte reale scelta in modo da ignorare le sgradevoli componenti complesse


che risultano dallinaccuratezza computazionale.

7. Ottenere il risultato elaborato finale, g(x, y), estraendo la regione M N dal quadrante
in alto a sinistra di gp (x, y).

La seguente figura (4-36) esemplifica questi passaggi.

4.7.4 Correspondence Between Filtering in the Spatiale and Frequency Domains

Il collegamento fra il filtraggio spaziale e il filtraggio delle frequenze il teorema della con-
voluzione.
Abbiamo definito il filtraggio nelle frequenze come la moltiplicazione fra una funzione di
filtro e la trasformata di Fourier dellimmagine in input.

Dato un filtro H(u, v), supponiamo di voler trovare la sua rappresentazione equivalente
nel dominio spaziale. Se poniamo f(x, y) = (x, y), segue dalla tabella delle propriet che
F(u, v) = 1. Quindi, in base allequazione di base del filtraggio vista sopra, loutput filtrato
sar F 1 {H(u, v)}. Ma questa la trasformata inversa del filtro nel dominio delle frequenze,

57
che il corrispondente filtro nel dominio spaziale. Al contrario, segue da unanalisi simile
e dal teorema della convoluzione che, dato un filtro spaziale, otteniamo la sua rappresenta-
zione in frequenze prendendo il DFT della rappresentazione spaziale. Dunque, i due filtri
formano una coppia della trasformata di Fourier:

h(x, y) H(u, v)

Siccome il filtro spaziale pu essere ottenuto dalla risposta del filtro nel dominio delle fre-
quenze a un impulso e tutte le quantit nellimplementazione sono valori finiti, h(x, y),
spesso indicato come finite impulse response (FIR) di H(u, v). Lunico tipo di filtro che consi-
deriamo noi.

Nella pratica preferibile implementare i filtri convoluzionale usando lequazione 3.42 con
piccole maschere di filtraggio data la maggiore velocit e facilit di implementazione in hard-
ware e/o firmware. Tuttavia, il concetto di filtraggio pi intuitivo nel dominio delle fre-
quenze. Un modo per trarre vantaggio dalle propriet di entrambi i domini specificare
un filtro nel dominio delle frequenze, calcolare la sua IDFT e quindi usare il risultante filtro
spaziale a completa dimensione come guida per costruire una maschera di filtraggio spaziale
pi piccola.
Vedremo anche un approccio inverso, in cui, data una piccola maschera di filtraggio spaziale,
otteniamo la sua rappresentazione a completa dimensione nel dominio delle frequenze per
analizzare il comportamento. Teniamo sempre a mente che la trasformata di Fourier e la sua
inversa sono processi lineari quindi la discussione limitata al filtraggio lineare.

Consideriamo, per esempio, un filtro gaussiano 1-D nel dominio delle frequenze H(u, v):

H(u) = Aeu /22


2

dove la deviazione standard della curva gaussiana. Il corrispondente filtro spaziale


ottenuto calcolando linversa trasformata di Fourier di H(u):


2Ae2
2
2 x 2
h(x) =

Queste equazioni sono importanti per due motivi:

1. Sono una coppia di trasformata di Fourier, i cui componenti sono entrambi gaussiane
e reali.

2. Le funzione hanno comportamenti reciproci: quando H(u) ha un profilo largo (un


grande valore di ), h(x) ha un profilo stretto, e viceversa. In effetti, man mano che
tende a infinito, H(u) tende verso una funzione costante e h(x) tende verso un impulso,
il che corrisponde rispettivamente a nessun filtraggio nel dominio delle frequenze e
quello spaziale.

Nella colonna sinistra della seguente immagine sono rappresentare corrispondenti filtri gaus-
siani passa-basso nel dominio delle frequenze e in quello spaziale. Potremmo usare la forma
di h(x) nella seconda figura come guida per definire i coefficienti di una piccola maschera
spaziale. Notiamo la relazione fra i due filtri sottolineata in precedenza: pi stretto il filtro
nelle frequenze, maggiore sar il grado di attenuazione delle basse frequenze quindi limma-
gine sar maggiormente sfumata. Nel dominio spaziale, questo significa che dovr essere
usata una maschera pi grande.

Possiamo anche costruire filtri passa-alto come differenze fra gaussiane:

H(u) = Aeu /22


= Beu /22
2 2
1 2

con A B e 1 2 . Il corrispondente filtro spaziale sar


21 Ae2 22 Be2
2
2 x 2 2
2 x 2
h(x) =

Questi de corrispondenti filtri sono rappresentati nella colonna destra dellimmagine. No-
tiamo nuovamente la reciprocit nella larghezza, ma la caratteristica pi importante che

58
h(x) ha un termine centrale positivo con termini negativi da entrambe le parti. Le piccole
maschere nella figura catturano questa propriet.

Nella pratica, il dominio delle frequenze pu essere visto come un laboratorio nel quale
traiamo vantaggio dalle corrispondenza fra il contenuto delle frequenze e laspetto dellim-
magine. Spesso, alcuni compiti che sembrano molto difficili o impossibili da formulare nel
dominio spaziale, si rivelano molto semplici nel dominio delle frequenze. Una volta che
abbiamo scelto uno specifico filtro tramite sperimentazioni nel dominio delle frequenze, lim-
plementazione del metodo solitamente fatta nel dominio spaziale. Un approccio tipico
specificare piccole maschere spaziali che tentano di catturare lessenza della funzione filtro
completa nel dominio dello spazio.

Volendo vedi esempio a pagina 267.

4.8 image smoothing using frequency domain filters

I bordi e altre transizioni di intensit marcate (come il rumore) in unimmagine contribuisco-


no significativamente al contenuto ad alta frequenza della trasformata di Fourier. Dunque,
sfumature pi graduali si ottengono, nel dominio delle frequenze, tramite lattenuazione
delle alte frequenze ovvero tramite filtri passa-basso. Tutti i filtri in queste sezioni seguono
la procedura illustrata in precedenza, quindi tutte le funzioni di filtraggio, H(u, v), sono in-
tese come funzioni discrete di dimensioni P Q, di conseguenza le variabili discrete della
frequenza sono nellintervallo u = 0, 1, 2, . . . , P 1 e v = 0, 1, 2, . . . , Q 1.

4.8.1 Ideal Lowpass Filters

Un filtro passa-basso 2-D ideale che fa passare senza attenuazione tutte le frequenze allin-
terno di una circonferenza di raggio D0 dallorigine e elimina tutte le frequenze al di fuori
di tale circonferenza detto ideal lowpass filter (ILPF). specificato dalla funzione



1 se D(u, v) D0
H(u, v) =

se D(u, v) > D0
0
dove D0 una costante positiva e D(u, v) la distanza fra un punto (u, v) nel dominio delle
frequenze e il centro del rettangolo delle frequenze, che vale

1/2
D(u, v) = [(u P/2)2 + (v Q/2)2 ]

dove, come al solito, P e Q sono le dimensioni padded delle equazioni viste in precedenza.
Il filtro passa-basso ideale simmetrico radialmente rispetto allorigine, il che significa che
il filtro completamente definito da una sezione traversale radiale: ruotando la sezione
trasversale di 360 si ottiene il filtro 2-D.

Per un filtro di questo tipo, il punto di transizione fra H(u, v) = 1 e H(u, v) = 0 detto cutoff
frequency. Nellimmagine la cutoff frequency il punto D0 . Una transizione cos marcata non
pu essere realizzata con componenti elettroniche, ma pu essere simulata in un computer.

59
Un modo per stabile un insieme standard di cutoff frequency quello di calcolare circon-
ferenze che comprendano una specifica percentuale della potenza totale PT dellimmagine.
Questa quantit ottenuta sommando tutte le componenti dello spettro di potenza delle
immagini padded per ogni punto:

P1 Q1
PT = P(u, v)
u=0 v=0

Se la DFT stata centrata, una circonferenza di raggio D0 con origine nel centro del rettan-
golo di frequenza comprende percento della potenza, dove

= 100[ P(u, v)/PT ]


u v

con le sommatorie calcolate sui valori di (u, v) allinterno o sul perimetro della circonferenza.

Lo spettro di potenza decade molto rapidamente, con l87%, nellesempio, della potenza
totale compresa in una circonferenza relativamente piccola di raggio 10.

Possiamo notare nella prima figura filtrata (4-42.a), totalmente sfumata, come la maggior
parte delle informazioni sui dettagli marcati contenuta nel 13% della potenza rimossa dal
filtro. Man mano che il raggio del filtro aumenta, meno potenza viene rimossa e questo porta
a minore sfumatura.
possibile anche notare un effetto di ringing che diventa man mano pi sottile allaumentare
della lunghezza del raggio, ma che si pu ancora notare anche nellimmagine in cui il filtro

60
ha rimosso solo il 2% della potenza totale. Il ringing una caratteristica tipica dei filtri ideali.
Lultima immagine, in cui viene conservato il 99, 2% della potenza mostra un risultato idea-
le in cui presente una leggere attenuazione dei bordi, ma ancora molto simile alloriginale.

Le propriet di sfumatura e ringing degli ILFP possono essere spiegate usando il teorema
della convoluzione.

Nella prima immagine (4-43.a) mostrato la rappresentazione spaziale, h(x, y), di un ILPF
di raggio 10 e nella seconda presente il profilo di intensit di una linea che passa attraverso
il centro dellimagine. Siccome una sezione trasversale del ILFP nel dominio delle frequenze
simile a un filtro box, non difficile aspettarsi che una sezione trasversale del corrispondente
filtro spaziale abbia la forma di una funzione sinc. Il filtraggio nel domio spaziale viene
eseguito convolvendo h(x, y) con limmagine. Consideriamo ogni pixel nellimmagine come
un impulso discreto la cui forza proporzionale allintensit dellimmagine in quel punto.
Convolvere una funzione sinc con un impulso copia la funzione sinc nel punto dellimpulso.
La forma centrale della funzione sinc la causa principale della sfumatura, mentre le forme
esterne pi piccole sono i maggiori responsabili delleffetto ringing.
Siccome la larghezza della funzione sinc inversamente proporzionale al raggio di H(u, v),
maggiore diventa D0 , maggiore la funzione sinc spaziale approssima limpulso, il che, nel
caso limite, porta a nessuna sfumatura quando viene applicata la convoluzione

4.8.2 Butterworth Lowpass Filter

La funzione di un filtro passa-basso Butterworth (BLPF) di ordine n con frequenza di taglio


(cutoff ) a distanza D0 dallorigine, definita come

1
H(u, v) =
1 + [D(u, v)/D0 ]2n

dove D(u, v) dato dalla seconda equazione della precedente sezione.

A differenza del ILPF, la funzione BLPF non presenta discontinuit marcate che consentono
un chiaro taglio fra frequenze passate e frequenze filtrate. Per filtri con funzioni pi graduali,
la frequenza di taglio si pu definire come il punto in cui H(u, v) sotto una certa frazione
del suo valore massimo.
La figura (4-45) sopra mostra lapplicazione di un BLPF con u = 2 e D0 uguale ai 5 raggi
usati anche per il filtro precedente. Possiamo notare una transizione sempre pi graduale
per la sfumatura man mano che aumenta il valore della frequenza di taglio. Notiamo anche
la totale assenza di ringing in tutte le immagini elaborate con questo BLPF, fatto da attribuire
alla graduale transizione fra basse e alte frequenze del filtro.

61
Un BLPF di ordine 1 non presenta ringing nel dominio spaziale. Il ringing generalmen-
te impercettibile con filtri di ordine 2, ma pu divenire significativo per filtri di ordine pi
alto.

I BLPF di ordine 2 sono un buon compromesso per un effettivo filtraggio passa-basso e un


ringing accettabile.

4.8.3 Gaussian Lowpass Filters

Il filtri passa-basso Gaussiani (GLPF) mono-dimensionali sono gi stati introdotti in una


precedente sezione per analizzare le relazione fra dominio spaziale e dominio delle frequenze.
La forma di questi filtri in 2-D

H(u, v) = eD (u,v)/22
2

dove D(u, v) la distanza dal centro del rettangolo delle frequenze. Come prima la
misura della larghezza riguardo al centro. Ponendo = D0 possiamo esprimere il filtro nella
stessa forma dei precedenti

H(u, v) = eD (u,v)/2D2
2
0

dove D0 la frequenza di taglio.

62
Come indicato in una precedente tabella, la trasformata inversa di Fourier di un GLPF una
Gaussian anchessa. Ci significa che un filtro Gaussiano spaziale, ottenuto utilizzando la
IDFT di una delle due precedenti equazioni, non presenter effetto ringing.

La figura sopra mostra lapplicazione di un GLPF con D0 uguale ai 5 raggi usati anche
negli esempi precedenti. Come per il BLPF, possiamo notare graduale transizione per la
sfumatura al crescere della frequenza di taglio. Il GLPF applica una sfumatura leggermente
pi leggere rispetto al BLPF di ordine 2 per lo stesso valore della frequenza di taglio. Ce lo
aspettavamo visto che il profilo del GLPF non cos stretto quanto quello del BLPF di ordine
2. Tuttavia, i risultati sono molto simili e siamo sicuri di non avere alcun effetto ringing
con il Gaussiano. Questa una caratteristica fondamentale nella pratica, specialmente in
situazione (immagini medicali) in cui ogni tipo di artefatto non accettabile. Nei casi, invece,
in cui richiesto un controllo pi stretto della transizione fra basse e alte frequenze tramite
la frequenza di taglio, il BLPF una scelta pi adatta, anche se ne paghiamo il prezzo per
via del ringing.

4.8.4 Additional Examples of Lowpass Filtering

Vediamo un paio di applicazioni pratiche del filtraggio passa-basso nel dominio delle fre-
quenze.

63
Il primo esempio riguarda il campo della machine perception per il riconoscimento di caratte-
ri. Nella prima immagine presente un testo a bassa risoluzione che potrebbe esser stato
generato da trasmissioni via fax, materiale duplicato o testi antichi. Un uomo non ha al-
cun problema a ricostruire mentalmente le lettere spezzate, ma un computer non pu farlo
autonomamente. Un approccio per risolvere questo problema proprio quello di applicare
un filtro passa-basso per sfumare i caratteri e colmare le piccole mancanze presenti. Nella
seconda immagine sono mostrate le lettere riparate con un filtro passa-basso Gaussiano
con D0 = 80.

Il filtraggio passa-basso tipico anche nel campo dellindustria delleditoria e stampa, do-
ve viene utilizzato per molteplici scopi, compreso lo unsharp masking. Modifiche ai fini
cosmetici sono allordine del giorno.

4.9 image sharpening using frequency domain filters

Siccome i bordi e le altre brusche variazioni di intensit sono associate alle componenti ad
alta frequenza, lo sharpening pu essere ottenuto nel dominio delle frequenze con un filtrag-
gio passa-alto, che attenua le frequenze basse lasciando inalterato le informazioni delle alte
frequenze nella trasformata di Fourier.
Come per i filtri passa-basso, consideriamo solo filtri zero-phase-shift che sono radialmente
simmetrici.
Tutti i filtri in queste sezioni seguono la procedura illustrata in precedenza, quindi tutte
le funzioni di filtraggio, H(u, v), sono intese come funzioni discrete di dimensioni P Q,
di conseguenza le variabili discrete della frequenza sono nellintervallo u = 0, 1, 2, . . . , P 1 e
v = 0, 1, 2, . . . , Q 1.

Un filtro passa-alto si ottiene da un dato filtro passa-basso mediante lequazione

HHP (u, v) = 1 HLP (u, v)

dove HLP (u, v) la funzione di trasferimento del filtro passa-basso.


Come prima, il filtro Butterworth rappresenta una transizione fra il marcato filtro ideale e la
graduale sfumatura del filtro Gaussiano.

64
4.9.1 Ideal Highpass Filters

Un filtro passa-alto ideale (IHPF) definito come



0 se D(u, v) D0
H(u, v) =

se D(u, v) > D0
1
dove D0 la frequenza di taglio e D(u, v) dato dalla solita equazione. Come ci si aspetta,
gli IHPF sono gli opposti degli ILPF nel senso che pongono a zero tutte le frequenze allin-
terno di una circonferenza di raggio D0 mentre fanno passare, senza attenuazione, tutte le
frequenze al di fuori della circonferenza. Come i precedenti filtri ideali, anche questi non so-
no realizzabili fisicamente con componenti elettroniche, ma possono essere simulate tramite
software.

Ci aspettiamo che anche gli IHPF abbiano gli stessi problemi di ringing come i corrispondenti
filtri passa-basso e in effetti cos.
Leffetto ringing nella prima immagine cos intenso da produrre bordi degli oggetti distorti
e spessi. I bordi dei primi tre cerchi non si vedono bene poich non sono marcati come
altri bordi nellimmagine (lintensit di questi tre oggetti molto pi vicina allintensit
dello sfondo, ovvero sono discontinuit di bassa potenza). Considerando la dimensione
puntiforme della rappresentazione spaziale del IHPF (prima figura, penultima immagine)
e ricordando che il filtraggio nel dominio spaziale corrisponde alla convoluzione del filtro
spaziale con limmagine, sembra chiaro il perch del fatto che gli oggetti pi piccoli e le linee
appaiono quasi di un bianco piatto.
La situazione migliore usando un raggio maggiore, nella seconda figura la distorsione dei
bordi ancora evidente, ma ora cominciamo a notare il filtraggio sugli oggetti pi piccoli.

65
Conoscendo ormai la relazione inversa fra i domini di frequenza e spaziali, sappiamo che la
dimensione di questo filtro sar minore rispetto a quella con il raggio minore.
Usando un raggio D0 = 160 il risultato esattamente ci che dovrebbe mostrare un buon
filtraggio pass-alto: i bordi sono pi evidenti, meno distorti e gli oggetti pi piccoli sono ben
filtrati e ben visibili.
Ovviamente lo sfondo costante zero in tutte queste immagini filtrate poich il filtraggio
passa-alto analogo alla differenziazione nel dominio spaziale (valori costanti della funzioni
hanno derivata uguale a zero).

4.9.2 Butterworth Highpass Filters

La funzione di un filtro passa-alto Butterworth (BHPF) di ordine n con frequenza di taglio


(cutoff ) a distanza D0 dallorigine, definita come

1
H(u, v) =
1 + [D0 /D(u, v)]2n

dove D(u, v) dato dalla solita equazione precedente.

Nellimmagine 4-55 sono mostrati i risultati di un BHPF di ordine 2 e con D0 con i medesimi
valori usati negli esempi precedenti. Come ci aspettavamo, gli effetti sono pi graduali
rispetto agli IHPF: i bordi sono mendo distorti anche per i valori minori della frequenza di
taglio.
Siccome le dimensioni dellarea centrali della rappresentazione spaziale degli IHPF e degli
BHPF sono simili, gli effetti dei due filtri sugli oggetti pi piccoli sono simili. La transizione
verso i valori alti delle frequenze di taglio pi graduale con i BHPF.

4.9.3 Gaussian Highpass Filters

La funzione di trasferimento di un filtro passa-alto Gaussiano (GHPF) con frequenza di taglio


a distanza D0 dal centro del rettangolo delle frequenze definito come

H(u, v) = 1 eD (u,v)/2D2
2
0

dove D0 la frequenza di taglio e D(u, v) dato dalla solita equazione precedente.

66
Come ci aspettavamo, i risultati che si ottengono sono maggiormente graduali rispetto a
quelli dei due precedenti filtri. Anche il filtraggio di oggetti piccoli e linee sottili pi chiaro
con il filtraggio Gaussiano.

La prima figura unimmagine 1026 962 di unimpronta digitale di un pollici in cui la


presenza di macchie un problema evidente. Un passaggio chiave nel campo del riconosci-
mento automatico delle impronte digitali il miglioramento delle creste dellimpronta e la
riduzione delle macchie. In questo esempio usiamo il filtraggio passa-alto per questo scopo.
Il miglioramento delle creste causato dal fatto che esse contengono frequenze alte, che ven-
gono lasciate inalterate dal filtro passa-alto. Il filtro riduce le componenti a bassa frequenza
che corrispondono a lente variazioni di intensit, come lo sfondo o le macchie. Quindi, il
miglioramento raggiunto riducendo leffetto di tutte le componenti tranne quelle ad alta
frequenze, che rappresentano le caratteristiche di interesse.

La seconda figura il risultato del filtraggio tramite un filtro passa-alto Butterworth di or-
dine 4 e frequenza di taglio 50. Come ci si aspetta, limmagine filtrata ha perso i suoi toni
grigi poich la componente dc ridotta a 0. Dunque il risultato che i toni scuri predomina-
no nellimmagine filtrata ed necessario un ulteriore miglioramento delle aree di interesse.
Un approccio semplice applicare una trasformazione soglia (threshold) allimmagine filtrata:
pongo al nero tutti i valori negativi e al bianco tutti i valori positivi. Ottengo cos la terza
immagine migliorata.

4.9.4 The Laplacian in the Frequency Domain

Abbiamo gi utilizzato loperatore Laplaciano per il miglioramento delle immagine nel domi-
nio spaziale, ora lo rivedremo e mostreremo che porta a risultati equivalenti usando tecniche
nel dominio delle frequenze.

67
Si pu dimostrare che il Laplaciano pu essere implementato nel dominio delle frequenze
usando il filtro

H(u, v) = 42 (u2 + v2 )

oppure, rispetto al centro del rettangolo delle frequenze, usando il filtro

H(u, v) = 42 [(u P/2)2 + (v Q/2)2 ] = 42 D2 (u, v)

Quindi limmagine Laplaciana si ottiene come

2 f(x, y) = F 1 {H(u, v)F(u, v)}

dove F(u, v) la DFT di f(x, y).


Il miglioramento dellimmagine nel dominio spaziale ottenuto usando lequazione

g(x, y) = f(x, y) + c2 f(x, y)

Qui, c = 1 poich H(u, v) negativo.


Nel capitolo 3, riguardo al dominio spaziale, f(x, y) e 2 f(x, y) hanno valori comparabili.
Tuttavia, computare 2 f(x, y) con lequazione qui sopra introduce dei fattori di scalamento
della DFT che possono essere diversi ordini di grandezza maggiori per quanto riguarda
lampiezza rispetto al massimo valore di f. Quindi, la differenze tra f e il suo Laplaciano deve
essere portata in un intervallo comparabile. Il modo pi facile per gestire questo problema
quello di normalizzare i valori di f(x, y) allintervallo [0, 1] (prima di calcolare la DFT) e
dividere 2 f(x, y) per il suo valore massimo, il che la porter allintervallo approssimato
di [1, 1] (ricordiamoci che il Laplaciano presenta valori negativi). A questo punto lultima
equazione qui sopra potr essere applicata e nel dominio delle frequenze si scrive come

g(x, y) = F 1 {F(u, v) H(u, v)F(u, v)}


= F 1 {[1 H(u, v)]F(u, v)}

= F 1 {[1 + 42 D2 (u, v)]F(u, v)}

Nonostante questultima equazione sia elegante, presenta lo stesso problema di scalamento


appena illustrato e inoltre il fattore normalizzante non facile da calcolare. Per questa
ragione la prima equazione perg(x, y) illustrata in questo paragrafo limplementazione
preferita nel dominio delle frequenze con nabla2 f(x, y) calcolata e poi scalata come detto.

4.9.5 Unsharp Masking, Highboost Filtering and High-Frequency-Emphasis Filtering

Discutiamo le formulazioni nel dominio della frequenza dellunsharp masking e il filtraggio


high-boost per lo sharpening, gi introdotte nel dominio spaziale.

Lunsharp masking definito da

gmask (x, y) = f(x, y) fLP (x, y)

68
con

fLP (x, y) = F 1 [HLP (u, v)]F(u, v)]

dove HLP (u, v) un filtro passa-basso e F(u, v) la trasformata di Fourier di f(x, y). fLP (x, y)
unimmagine sfumata come f(x, y) nellequazione 3.6-8.
Quindi come nel capitolo 3

g(x, y) = f(x, y) + k gmask (x, y)


Questultima espressione definisce unsharp masking quando k = 1 e highboost filtering quan-
do k > 1.
Usando i risultati precedenti, possiamo esprimere lultima equazione interamente in termini
di dominio della frequenza mediante n filtro passa-basso:

g(x, y) = F 1 {[1 + k [1 HLP (u, v)]]F(u, v)}

Usando unequazione vista in questa sezione, possiamo riscrivere questultima come

g(x, y) = F 1 {[1 + k HHP (u, v)]F(u, v)}

Lespressione contenuta nelle parentesi quadre detta high-frequency emphasis filter. Come
notato prima, i filtri passa-alto pongono il termine dc a zero, quindi riducono lintensit me-
dia nellimmagine filtrata a zero. L high-frequency emphasis filter non ha questo problema
grazia all1 che aggiunto al filtro passa-alto. La costante k ci d il controllo sulla propor-
zione di frequenze alte che influenza il risultato finale. Una formulazione leggermente pi
generale di tale filtro

g(x, y) = F 1 {[k1 + k2 HHP (u, v)]F(u, v)}

dove k1 0 ci d il controllo sulloffset dallorigine (vedi fig. 4.31 (c)) e k2 0 controlla il


contributo delle alte frequenze.

La figura 4.59 (a) mostra unimmagine a raggi X di un torace con uno stretto intervallo di
livelli di intensit. Lobiettivo di questo esempio migliorare limmagine usando il filtraggio
per lenfatizzazione delle alte frequenze. I raggi X spesso producono immagini sfocate. Sic-
come le intensit in questo particolare esempio sono schiacciate verso lestremo scuro delle

69
scala di grigi, cogliamo lopportunit anche per dare un esempio di come lelaborazione nel
dominio spaziale pu essere complementare al filtraggio nel dominio delle frequenze.
La figura (b) mostra il risultato di un filtraggio passa-alto usando un filtro gaussiano con
D0 = 40. Come ci aspettavamo, il risultato finale piuttosto informe, ma mostra debolmente
i bordi principali dellimmagine. La figura (c) mostra i vantaggi dellhigh-emphasis filtering,
dove abbiamo usato lultima equazione con k1 = 0, 5 e k2 = 0, 75. Anche se limmagine an-
cora scura, la tonalit dei livelli di grigio dovuta alle componenti di bassa frequenza non
stata persa.

Come discusso in precedenza, unimmagine caratterizzata da livelli di intensit in uno stret-


to intervallo della scala dei grigi unottima candidata per lequalizzazione dellistogramma
come mostra la figura (d).
Il risultato ottenuto usando una combinazione di high-frequency emphasis e equalizzazione
dellistogramma decisamente superiore rispetto al risultato che avremmo ottenuto usando
uno dei due metodi da solo.

4.10 selective filtering

I filtri discussi nelle precedenti sezioni operano sullintero rettangolo di frequenza. Ci sono
applicazioni in cui necessario processare specifiche bande di frequenza o piccole regioni
del rettangolo. Filtri del primo tipo sono detti bandreject o bandpass filters, filtri del secondo
tipo, notch filters.

4.10.1 Bandreject and Bandpass Filters

La tabella 4.6 mostra le espressioni per i filtri bandreject ideali, Butterworth e Gaussiani, con
D(u, v) che la distanza dal centro del rettangolo di frequenza, D0 il centro radiale della
banda e W lampiezza della banda. La figura 4.63 (a) mostra un filtro bandreject Gaussiano
in forma di immagine, dove il nero rappresenta gli 0 e il bianco gli 1.

Un filtro bandpass ottenuto da un filtro bandreject nella stessa maniera in cui abbiamo
ottenuto un filtro passa-alto da uno passa-basso:

HBP (u, v) = 1 HBR (u, v)

70
4.10.2 Notch Filters

I filtri Notch sono i pi utili fra i filtri selettivi. Un filtro di questo tipo respinge (o fa
passare) frequenze in unarea predefinta rispetto al centro del rettangolo delle frequenze. Gli
zero-phase-shift filters devono essere simmetrici rispetto allorigine, quindi un filtro notch con
centro in (u0 , v0 ) deve avere un corrispondente notch in (u0 , v0 ). I filtri notch reject sono
costruiti come prodotti di filtri passa-alto i cui centri sono stati traslati nei centri dei notch.
La formae generale

Q
HNR (u, v) = Hk (u, v)Hk (u, v)
k=1
dove Hk (u, v) e Hk (u, v) sono filtri passa-alto i cui centri sono in (uk , vk ) e (uk , vk )
rispettivamente. Questi centri sono specificati rispetto al centro del rettangolo di frequen-
za, (M/2, N/2). Le computazioni delle distanze per ogni filtro quindi sono ottenute dalle
espressioni
1/2
Dk (u, v) = [(u M/2 uk )2 + (v N/2 vk )2 ]
e
1/2
Dk (u, v) = [(u M/2 + uk )2 + (v N/2 + vk )2 ]
Per esempio, il seguente un filtro notch reject Butterworth di ordine n, contenente tre
coppie di notch:

3 1 1
HNR (u, v) = [ ][ ]
k=1 1 + [D0k /Dk (u, v)]2n 1 + [D0k /Dk (u, v)]2n
dove Dk e Dk sono date dalle due precedenti equazioni. La costante D0k la stessa per
ogni coppia di notch, ma pu essere diversa per coppie diverse. Altri filtri notch reject sono
costruiti nello stesso modo, in base al filtro passa-alto scelto.
Come per gli altri filtri, un filtro pass notch si ottiene da uno reject usando lespressione

HNP (u, v) = 1 HNR (u, v)


Come vedremo nei prossimi esempi, la principale applicazione del filtraggio notch la modi-
fica selettiva di regioni locali della DFT. Questo tipo di elaborazione tipicamente viene fatta
interattivamente, lavorando direttamente sulla DFT ottenuta senza padding.
La figura 4.64 (a) una scansione di un giornale che mostra un notevole pattern moir. e
la figura (b) il suo spettro. Sappiamo che a trasformata di Fourier di un seno puro, che
una funzione periodica, una coppia di impulsi coniugati e simmetrici. I picchi simmetrici
nello spettro in figura sono il risultato della periodicit delleffeto moir. Possiamo attenuare
questi picchi usando il filtraggio notch. La figura (c) mostra il risultato della moltiplicazione
della DFT (b) per un filtro notch reject Butterworth con D0 = 3 e n = 4 per tutte le coppie
di notch. Il valore del raggio stato scelto (tramite ispezione visuale dello spettro) per
eliminare totalmente i picchi di energia, e il valore di n stato scelto per avere notch con
transizioni lievemente marcate. Le posizioni del centro dei notch sono state determinate
interattivamente dallo spettro. La figura (d) mostra il risultato finale.
La figura 4.65 (a) mostra unimmagine di parte degli anelli che circondano Saturno. Il pattern
verticale sinusoidale stato causato da un segnale AC sovrapposto al segnale video della te-
lecamera appena prima di digitalizzare limmagine. La figura (b) il corrispondente spettro.
Unattenta analisi dellasse verticale rivela una serie di piccoli picchi di energia corrispon-
denti allinterferenze sinusoidali. Un semplice approccio quello di usare un filtro notch a
rettangolo stretto che parte dalle frequenze pi basse e si estende lungo lasse verticale come
in figura (c). Il risultato finale in figura (d).

71
72
I M A G E R E S T O R AT I O N A N D R E C O N S T R U C T I O N

5.1 a model of the image degradation/restoration process


5

Il processo di degradazione modellato come una funzione di degradazione che, insieme


a un termine di rumore additivo, opera su unimmagine di input f(x, y) per produrre unim-
magine degradata g(x, y). Data g(x, y), qualche conoscenza sulla funzione di degradazione
H e qualche conoscenza sul termine di rumore additivo (x, y), lobiettivo della restoration
y) che sia il pi simile possibile allimmagine originale.
ottenere una stima f(x,

Se H un processo lineare e position-invariant, allora limmagine degradata nel dominio


spaziale data da

g(x, y) = h(x, y) f(x, y) + (x, y)

dove h(x, y) la rappresentazione spaziale della funzione di degradazione.


Sappiamo gi che la convoluzione nel dominio spaziale analoga alla moltiplicazione nel
dominio delle frequenze, quindi possiamo riscrivere la precedente equazione in una rappre-
sentazione per il dominio delle frequenze:

G(u, v) = H(u, v)F(u, v) + N(x, y)

Nelle prossime 3 sezioni assumeremo che H sia loperatore identit e affronteremo solo
degradazioni dovute unicamente a rumore additivo.

5.2 noise models

Le principali fonti di rumore nelle immagini digitali emergono durante durante le fasi di
acquisizione e/o trasmissione. Per esempio, catturando unimmagine con una fotocamera
CCD, i livelli di luce e la temperatura del sensore possono contribuire notevolmente allag-
giunta di rumore nellimmagine risultante. Durante una trasmissione, interferenze nel canale
possono portare a immagini corrotte e rumorose.

5.2.1 Spatial and Frequency Properties of Noise

Le propriet delle frequenze del rumore si riferiscono al contenuto in frequenza del rumore
stesso in base alla trasformata di Fourier. Per esempio, quando lo spettro di Fourier del ru-
more costante, il rumore solitamente chiamato rumore bianco. Non difficile dimostrare
che lo spettro di Fourier di una funzione che contiene tutte le frequenze in proporzioni ugua-
li una costante.

Per ora assumiamo che il rumore sia indipendente dalle coordinate spaziale e che non sia
correlato rispetto allimmagine stessa (non c correlazione fra i valori dei pixel e i valori
delle componenti del rumore). Queste assunzioni sono parzialmente invalide in alcune ap-
plicazioni (raggi x e immagini mediche nucleari), ma la complessit di gestione di quel tipo
particolare di rumore esula i nostri scopi.

73
5.2.2 Some important Noise Probability Density Function

In base alle assunzioni appena fatte, il descrittore spaziale del rumore al quale dobbiamo
prestare attenzione il comportamento statistico dei valori di intensit nella componente ru-
morose del modello nella prima figura del capitolo. Questi possono essere considerati come
variabili casuali, caratterizzate da una funzione di densit di probabilit (PDF). Vediamo le
pi comuni PDF.

Gaussian Noise
I modelli di rumore Gaussiani sono utilizzati frequentemente nella pratica. La PDF di una
variabile casuale Gaussiana z data da

e(zz) /22
1 2
p(z) =
2
dove z rappresenta lintensit, z il valore medio di z, la deviazione standard e 2 chia-
mata varianza.
Quando z descritto da questa equazione, approssimativamente il 70% dei suoi valori saran-
no nellintervallo [(z ), (z + )] e circa il 95% nellintervallo [(z 2), (z + 2)].

Il rumore gaussiano possiamo trovarlo in immagini a causa di fattori come rumore nei circuiti
elettronici e rumore nel sensore dovuto a scarsa illuminazione e/o alte temperature.

Rayleigh Noise
La PDF di rumore Rayleigh data da


(z a)e(za) /b per z a
2

b2
p(z) =

per z < a
0
La media e la varianza di questa densit sono date da

z = a + b/4
e

b(4 )
2 =
4
Notiamo nellimmagine lo spostamento dallorigine e il fatto che la forma base di questa PDF
asimmetrica verso destra e quindi utile per approssimare istogrammi simili.

74
Erlang (gamma) Noise
La PDF di rumore Erlang data da


ab zb1 az
e per z 0
p(z) = (b1)!

per z < 0
0
dove i parametri sono tali che a > 0 e b un intero positivo.
La media e la varianza di questa densit sono date da

b
z =
a
e

b
2 =
a2

Exponential Noise
La PDF di rumore esponenziale data da


az
ae per z 0
p(z) =

per z < 0
0
dove i parametri sono tali che a > 0.
La media e la varianza di questa densit sono date da

1
z =
a
e

1
2 =
a2
un caso particolare di rumore Erlang con b = 1.

Uniform Noise
La PDF di rumore uniforme data da


1
se a z b
p(z) = b a


0 altrimenti

La media e la varianza di questa densit sono date da

a+b
z =
2
e

(b a)2
2 =
12

Impulse (salt-and-pepper) Noise


La PDF di rumore a impulso (bipolare) data da


Pa per z = a



p(z) = Pb per z = b




0 altrimenti

Se b > a, le intensit b apparir come punti chiari nellimmagine e le intensit a come punti
scuri. Se uno fra Pa o Pb vale 0, il rumore detto unipolare. Se nessuna delle due probabilit
vale 0 e, specialmente, se sono circa uguali, i valori del rumore a impulso sembreranno dei
granuli di sale e pepe distribuiti casualmente sopra limmagine.

75
Gli impulsi di rumore possono essere positivi o negativi. Siccome la corruzione a impulso
solitamente pi grande rispetto alla forza del segnale delle immagini, il rumore di questo
tipo generalmente viene digitalizzato come valori estremi (nero o bianco puri) in unimmagi-
ne. Quindi, lassunzione tipica che a e b sono valori saturati, nel senso che sono uguali
al valore minimo e massimo ammessi nellimmagine digitalizzata. Come risultato di ci, gli
impulsi negativi appaiono come punti neri (pepe) e quelli positivi come punti bianchi (sale).
Per unimmagine a 8 bit, questo significa tipicamente che a = 0 e b = 255.

76
5.2.3 Periodic Noise

Il rumore periodico in unimmagine causato tipicamente da interferenze elettriche o elet-


tromeccaniche durante lacquisizione dellimmagine stessa. Questo lunico tipo di rumore
dipendente dallo spazio che considereremo in questo capitolo. Come gi discusso, questa
tipologia di rumore pu essere ridotta significativamente tramite filtraggio nel dominio delle
frequenze.

Questimmagine severamente corrotta da rumore sinusoidale (spaziale) di varie frequenze.


La trasformata di Fourier di una sinusoide pura una coppia di impulsi coniugati posizio-
nati alle frequenze coniugate dellonda seno (tabella 4.3). Quindi, se lampiezza di unonda
sinusoidale nel dominio spaziale abbastanza forte, ci aspettiamo di vedere nello spettro
dellimmagine una coppia di impulsi per ogni onda sinusoidale nellimmagine. In effetti
nellesempio sopra cos, con gli impulsi che appaiono su una circonferenza approssimativa
poich i valori delle frequenze in questo particolare caso lo permettono.

5.2.4 Estimation of Noise Parameters

I parametri del rumore periodico sono tipicamente stima ispezionando lo spetto di Fourier
dellimmagine poich, come visto prima, questo tipo di rumore causa picchi di frequenze
individuabili con una semplice analisi visiva.
Un altro approccio sta nel cercare di comprendere la periodicit delle componenti del rumore
direttamente dallimmagine, ma usto possibile solo in casi molto semplici.
Lanalisi automatica possibile in situazioni in cui i picchi di rumore sono eccezionalmente
alti o quando conosciamo le posizioni delle componenti delle interferenze.

I parametri dell PDF del rumore possono essere parzialmente conosciuto dalle specifiche
del sensore, ma spesso comunque necessarie stimarle per i casi concreti. Se possibile
farlo, un modo semplice per studiare le caratteristiche del rumore del sistema quello di
scattare un insieme di immagini di ambienti piatti. Per esempio, foto di un piano grigio
uniforme sono buoni indicatori del rumore del sistema.

Quando sono disponibili solo immagini gi generate da un sensore, spesso possibile sti-
mare i parametri della PDF da piccole porzioni dellimmagine in cui lintensit dello sfondo
sia costante o quasi. Per esempio, le strisce verticali (150 20pixel) nellimmagine seguente
sono state estrapolate da immagini con rumore Gaussian, Raylegh e uniforme rispettivamen-
te. Possiamo notare come le forme di questi istogrammi relative solo alle strisce corrispon-
dono quasi perfettamente alle forme degli istogrammi delle immagini intere e delle PDF dei
rumori conosciuti.
Luso pi semplice dei dati relativi alle strisce di immagini il calcolo della media e della
varianza dei livelli di intensit. Consideriamo una striscia (sotto-immagine) indicata con S e

77
sia ps (zi ), i = 0, 1, 2, . . . , L 1 la probabilit stimata (valori di istogramma normalizzati) delle
intensit dei pixel in S, dove L il numero di possibili intensit nellintera immagine. Stiamo
la media e la varianza di S con

L1
z = zi pS (zi )
i=0

e
L1
2 = (zi z )2 pS (zi )
i=0

La forma dellistogramma identifica la PDF pi simile. Se la forma approssimativamente


Gaussiana, allora la media e la varianza sono tutto ci che ci serve visto che la PDF della
Gaussiana completamente specificata da questi due parametri.
Per le altre forme discusse prima, usiamo la media e la varianza per risolvere e avere i
parametri a e b. Il rumore a impulso viene trattato in maniera diversa poich le stime
necessarie riguardano lattuale probabilit di occorrenza di pixel bianchi e neri. Per ottenere
queste stime necessario che entrambi i pixel bianchi e neri siano ben visibili, quindi unarea
grigia relativamente costante necessaria per poter computare un istogramma. Le altezze
dei picchi corrispondenti ai pixel neri e bianchi sono le stime di Pa e Pb .

5.3 restoration in the presence of noise only - spatial filtering

Quando lunica degradazione presente il rumore, le prime equazioni del capitolo diventano

g(x, y) = f(x, y) + (x, y)


e

G(u, v) = F(u, v) + N(x, y)

I termini del rumore sono sconosciuti quindi sottrarli da g(x, y) o G(u, v) non unopzione
realistica. Lo possiamo fare solo nel caso particolare in cui possiamo stimare il rumore perio-
dico come visto prima, ma si tratta di una speciale eccezione.

Il filtraggio spazile il metodo da utilizzare quando presente unicamente rumore addi-


tivo causale. ll meccanismo per implementare tutti i seguenti filtri quello discusso nel
capitolo 3

5.3.1 Mean filters

Aritmetic mean filter

il filtro medio pi semplice. Sia Sxy linsieme delle coordinate di una finestra rettangolare
di unimmagine (neighborhood) di dimensioni m n, centrata nel punto (x, y). Il filtro medio
aritmetico calcola il valore medio dellimmagine corrota g(x, y) nellarea definita da Sxy .

78
Il valore dellimmagine restaurata f nel punto (x, y) semplicemente la media aritmetica
calcolata usando i pixel nellarea Sxy . In altre parole

y) = 1
f(x, g(s, t)
mn (s,t)S
xy

Questa operazione pu essere implementata usando un filtro spaziale di dimensioni m n in


cui tutti i coefficienti hanno valore 1/mn cos da sfumare le variazioni locali nellimmagine e
ridurre leggermente il rumore.

Geometric mean filter


Unimmagine restaurata da un filtro medio geometrico data dallespressione

1
mn
y) = [
f(x, g(s, t)]
(s,t)Sxy

Ogni pixel restaurato dato dal prodotto dei pixel nella finestra, elevato a 1/mn. Come
si vede nellimmagine pi sotto, un filtro medio geometrico restituisce un risultato sfumato
molto simile a quello del filtro medio aritmetico, ma tende a eliminare meno dettagli rispetto
ad esso.

Harmonic mean filter


Unimmagine restaurata da un filtro medio armonico data dallespressione

y) = mn
f(x, 1
(s,t)Sxy g(s,t)

Questo filtro lavora bene per rumore di tipo sale, ma fallisce per rumore di tipo pepe.
Funziona abbastanza bene anche per altri tipi di rumore come, ad esempio, il gaussiano.

Contrharmonic mean filter


Unimmagine restaurata da un filtro medio contrarmonico data dallespressione

Q+1
(s,t)Sxy g(s, t)
y) =
f(x,
(s,t)Sxy g(s, t)Q

dove Q chiamato ordine del filtro. Questo filtro molto adatto per ridurre o virtualmente
eliminare gli effetti del rumore sale-e-pepe. Per valori negativi di Q elimina rumore di tipo
sale, per valori positivi di Q elimina rumore di tipo pepe, ma non pu rimuoverli entrambi
simultaneamente.

79
La figura sopra 5.7 mostra unimmagine a raggi-X a 8-bit di un circuito (a) e la stessa imma-
gine corrotta da rumore gaussiano additivo con media 0 e varianza 400 (b). Le due figure
sotto mostrano il risultato del filtraggio dellimmagine corrotta con, rispettivamente, un filtro
medio aritmetico di dimensioni 3 3 e un filtro medio geometrico della medesima dimensio-
ne. Anche se entrambi i filtri hanno fatto un buon lavoro nellattenuare il rumore, il filtro
geometrico non ha sfocato limmagine tanto quanto quello aritmetico, conservando dunque
maggiori dettagli.

La figura 5.8 sopra (a) mostra la stessa immagine di prima per corrotta da rumore pepe
con probabilit 0, 1, mentre la figura (b) corrotta similmente da rumore sale con proba-
bilit 0, 1. Le due figure sotto mostrano il risultato del filtraggio dellimmagine corrotta con,
rispettivamente, un filtro medio contrarmonico con Q = 1, 5 e un filtro medio contrarmoni-
co con Q = 1, 5. Entrambi i filtri hanno fatto un buon lavoro nel ridurre il relativo tipo di
rumore per cui sono adatti. Bisogna fare attenzione a prendere il Q con valore giusto.
In generale, i filtri medi aritmetici e geometrici (in particolare questultimo) sono ben adatti
per rumore casuale come il Gaussiano o quello uniforme, mentre il filtro medio contrarmoni-
co particolarmente adatto per ridurre il rumore a impulso, ma ha lo svantaggio che bisogna
sapere se il rumore bianco o nero per scegliere lappropriato valore di Q.

5.3.2 Order-Statistic Filters

Li abbiamo gi introdotti nel capitolo 3, sono filtri spaziali la cui risposta basata sullordi-
namento dei valori dei pixel contenuti nellarea dellimmagine compresa dal filtro. Lordine
risultante determina la risposta del filtro.

Median filter
Il filtro order-statistic pi conosciuto, sostituisce il valore di un pixel con il valore mediano
dei livelli di intensit nellarea vicina (neighborhood) di quel pixel

y) = mediano(s,t)S {g(s, t)}


f(x, xy

Il valore del pixel in (x, y) incluso nel calcolo del mediano.


Sono filtri molto popolari poich, per certi tipi di rumore casuale. forniscono uneccellente
riduzione del rumore, con una minore sfocatura rispetto a filtri lineare di dimensioni simili.
I filtri mediani sono particolarmente efficaci in presenza di impulsi bipolari e unipolari (sale-
e-pepe).

Max and min filters


Usando il 100 percentile del risultato dellordinamento dei pixel otteniamo il filtro a massi-
mo, dato da

80
y) = max(s,t)S {g(s, t)}
f(x, xy

Questo filtro utile per trovare i punti pi brillanti nellimmagine. Siccome il rumore a pe-
pe ha valori molto bassi, viene decisamente ridotto da questo tipo di filtro.

Usando lo 0 percentile del risultato dellordinamento dei pixel otteniamo il filtro a massimo,
dato da

y) = min(s,t)S {g(s, t)}


f(x, xy

Questo filtro utile per trovare i punti pi scuri nellimmagine. Siccome il rumore a sale
ha valori molto alti, viene decisamente ridotto da questo tipo di filtro.

Midpoint filters
Questo filtro semplicemente calcola il punto medio fra il valore massimo e il valore minimo
nellarea compresa dal filtro:

y) = 1 [max(s,t)S {g(s, t)} + min(s,t)S {g(s, t)}]


f(x, xy xy
2
Questo filtro combina le caratteristiche degli order-statistic e dei filtri medi. Lavora bene per
rumore distribuito casualmente, come il Gaussiano e quello uniforme.

Alpha-trimmed mean filter


Supponiamo di eliminare i d/2 valori pi bassi e i d/2 valori pi alti delle intensit di g(s, t)
nella sotto-area Sx,y . Sia gr (s, t) larea dei rimanenti mn d pixel. Un filtro formato facendo
la media di questi pixel rimanenti un filtro alpha-trimmed medio:

y) = 1
f(x, gr (s, t)
mn d (s,t)S
xy

dove il valore di d pu variare da 0 (filtro medio aritmetico) a mn 1 (filtro mediano). Per


i valori intermedi di d, questo filtro utile in situazione che coinvolgono molteplici tipi di
rumore, come la combinazione fra rumore sale-e-pepe e rumore Gaussiano.

81
5.3.3 Adaptive Filters

I filtri visti in precedenza, una volta scelti vengono applicati allimmagine senza considerare
come le caratteristiche di questa variano da un punto a un altro. Ora vedremo due filtri
adattativi il cui comportamento cambia in base alle caratteristiche statistiche dellimmagine
allinterno della regione del filtro definito dalla finestra rettangolare Sxy di dimensioni m n.
Filtri di tale tipo sono capaci di performance superiori, ma sono ovviamente pi complessi.
Stiamo ancora considerando solo il caso in cui presente solo rumore aggiunto.

Adaptive, locale noise reduction filter


Le misure statistiche pi semplici di una variabile casuale sono la sua media e la sua varian-
za. Queste sono parametri ragionevoli su cui basare un filtro adattativo poich sono quantit
molto correlate allaspetto dellimmagine.
La media ci d una misura dellintensit media nella regione in cui viene calcolata e la va-
rianza ci d una misura del contrasto in tale regione.

Il nostro filtro opera sulla regione locale Sxy . La risposta del filtro in ogni punto (x, y)
sul quale la regione centrata basata su 4 quantit:

82
g(x, y), il valore dellimmagine rumorosa in (x, y);

2 , la varianza del rumore che corrompe f(x, y) per formare g(x, y);

mL , la media locale dei pixel in Sxy ;

2L , la varianza locale dei pixel in Sxy .


Vogliamo che il nostro filtro si comporti in questo modo:

1. Se 2 zero, il filtro deve restituire semplicemente il valore di g(x, y). Questo il


semplice caso in cui non c rumore e g(x, y) uguale a f(x, y).

2. Se la varianza locale 2L alta rispetto a 2 , il filtro deve restituire un valore vicino a


g(x, y). Una varianza locale alta tipicamente associata con i bordi e questi devono
essere preservati.

3. Se le due varianze sono uguali, vogliamo che il filtro restituisca la media aritmetica dei
pixel in Sxy . Questa condizione occorre quando larea locale ha le medesime propriet
dellimmagine intera dunque il rumore locale si pu ridurre semplicemente sfumando
con la media.
y) basandoci su queste assunzioni potrebbe essere scritto
Un filtro adattativo per ottenere f(x,
come

2
y) = g(x, y)
f(x, [g(x, y) mL ]
2L

Lunica quantit che deve essere conosciuta o stimata la varianza del umore globale 2 .
Tutti gli altri parametri sono calcolati dai pixel in Sxy per ogni (x, y) su cui la finestra del
filtro centrata. Unassunzione tacita nella precedente equazione che 2 2L . Il rumore nel
nostro modello additivo e indipendente dalla posizione, quindi questa una assunzione
ragionevole da fare poich Sxy un sottoinsieme di g(x, y). Tuttavia, raramente abbiamo
lesatta conoscenza 2 . Dunque, possibile che questa condizione venga violata nella pratica.
Per questo motivo, deve essere inserito un test nellimplementazione dellequazione in modo
che il rapporto venga forzato a 1 se occorre la condizione 2 > 2L . Questo fa diventare
il filtro non lineare, ma almeno previene risultati insensati (per esempio valori di intensit
negativi dipendenti dal valore di mL ) dovuti a potenziali mancanze di conoscenza riguarda
alla varianza del rumore. Un altro approccio quello di consentire i valori negativi e poi
riscalare i valori di intensit alla fine (si perde un po di range dinamico).

La prima immagine stata corrotta aggiungendo rumore Gaussiano di media zero e varianza
1000. La seconda figura (b) stata ottenuta usando un filtro media aritmetica 7 7. Il rumore
viene eliminato, ma limmagine risulta troppo sfumata. Simile anche il risultato della terza
figura (c), ottenuta tramite filtro media geometrica.

83
Invece la quarta figura (d) mostra il risultato dellutilizzo del filtro adattativo dellequazione
precedente con 2 = 1000. Il miglioramento chiarissimo. Rispetto al rumore complessivo,
il risultato ottenuto simile ai de precedenti filtri, ma ora limmagine finale non troppo
sfumata, presenta ancora i bordi con il giusto contrasto. Il prezzo da pagare la maggiore
complessit.
In questo esempio abbiamo usato un valore di 2 che corrispondeva esattamente con la va-
rianza del rumore. Se questa quantit sconosciuta e viene stimata troppo bassa, lalgoritmo
ritorner unimmagine che assomiglia molto alloriginale poich le correzioni saranno pi
piccole di quello che dovrebbero. Stime troppo alte porterebbe al clipping a 1 del rappor-
to della varianza e lalgoritmo sottrarrebbe la media dallimmagine pi frequentemente del
normale. Se valori negati fossero ammessi e limmagine venisse riscalata alla fine, il risultato
porterebbe a una perdita del range dinamico.

Adaptive median filter


Il filtro mediano illustrato in precedenza funziona meglio se la densit spaziale del rumore
a impulso non grande (come regola generale, Pa e Pb minori di 0, 2). Mostreremo ora
che il filtro mediano adattativo pu gestire rumore a impulso con probabilit maggiori delle
precedenti. Un altro vantaggio del filtro mediano adattativo che preserva i dettagli mentre
sfuma il rumore non a impulso, qualcosa che il filtro mediano tradizionale non fa.
Come i filtri precedenti, anche il filtro mediano adattativo lavora su una finestra rettangolare
Sxy . A differenza degli altri per, il filtro mediano adattativo incrementa le dimensioni di
Sxy durante le operazioni di filtraggio, in base a certe condizioni spiegate dopo. Teniamo
sempre conto che loutput del filtro un singolo valore usato per rimpiazzare il valore del
pixel in (x, y), il punto su cui centrata la finestra Sxy nel dato istante.
Consideriamo la seguente notazione:

zmin = il valore di intensit minimo in Sxy


zmax = il valore di intensit massimo in Sxy
zmed = il valore di intensit mediano in Sxy
zxy = il valore di intensit alle coordinate (x, y)
Smax = la dimensione massima consentita diSxy

Lalgoritmo del filtro mediano adattativo comprende due fasi, note come fase A e fase B come
segue;

Fase A: A1 = zmed zmin


A2 = zmed zmax
If A1 > 0 AND A2 < 0, vai alla fase B
else incrementa la dimensione della finestra
if dimensione finestra < Smax ripeti la fase A
else output zmed

Fase B: B1 = zxy zmin


A2 = zxy zmax
if B1 > 0 AND B2 < 0, output zxy
else output zmed

La chiave per comprendere il meccanismo di questo algoritmo ricordarsi che ha 3 scopi


principali: rimuovere il rumore a impulso (sale-e-pepe), sfumare altro tipo di tumore che
potrebbe essere non a impulso e ridurre la distorsione, come ad esempio contorni di oggetti
troppo sottili o troppo spessi. I valori zmin e zmax vengono considerati statisticamente co-
me componenti di rumore a impulso dallalgoritmo, anche se non sono i valori dei pixel pi
basso e pi alto possibile nellimmagine.

Lo scopo della fase A determinare se loutput del filtro mediano, zmed , un impulso
(bianco o nero) oppure no. Se la condizione zmin < zmed < zmax vera, allora zmed non

84
pu essere un impulso per ci detto appena sopra. In questo caos, andiamo alla fase B e
vediamo se il punto al centro della finestra, zxy , un impulso ( il punto che stiamo elabo-
rando). Se la condizione B1 > 0 AND B2 < 0 vera, allora zmin < zxy < zmax , quindi zxy non
pu essere un impulso per le stesse ragioni di zmed . In questo caso, quindi, lalgoritmo resti-
tuisce come output il pixel centrale zxy invariato. Cos facendo, la distorsione dellimmagine
ridotta poich non viene rimosso questo livello intermedio.
Se la condizione B1 > 0 AND B2 < 0 falsa, allora zxy = zmin o zxy = zmax . In entrambi i casi,
il valore del pixel un valore estremo e lalgoritmo restituisce come output il valore mediano
zmed , che, sappiamo dalla fase A non essere un impulso di rumore. Lultimo passo ci che
fa normalmente il filtro mediano standard. Il problema che il filtro mediano standard sosti-
tuisce ogni punto nellimmagine con il mediano della corrispondente finestra di filtraggio e
questo porta a una indesiderata perdita di dettagli.

Continuando con la spiegazione, supponiamo che la fase A non trovi un impulso: a quel
punto si incrementa la dimensione e ripete la fase A. Questo ciclo continua fin quando lalgo-
ritmo trova un valore mediano che non un impulso (e passa alla fase B) oppure fin quando
viene raggiunta la massima dimensione consentita per la finestra. Se viene raggiunta la mas-
sima dimensione della finestra, lalgoritmo restituisce il valore di zmed . Non c nessuna
garanzia che questo valore non sia un impulso. Pi sono piccole le probabilit del rumore
Pa e/o Pb , o maggiore consentito che sia Smax , meno probabile che che occorra una
condizione di uscita anticipata. Questo plausibile. Al crescere della densit degli impulsi,
ovvio che avremo bisogno di una finestra pi grande per pulire i picchi di rumore.

Ogni volta che lalgoritmo restituisce un valore in output, la finestra Sxy viene mossa in
un nuovo punto dellimmagine e lalgoritmo reinizializzato ed eseguito.

5.4 periodic noise reduction by frequency domain filtering

Il rumore periodico pu essere analizzato e filtrato efficacemente con varie tecniche nel do-
minio delle frequenze. Lidea di base che il rumore periodico si presenta come delle con-
centrazioni di energia nello spettro di Fourier, nei punti corrispondenti alle frequenze delle
interferenze periodiche.
Lapproccio quello di utilizzare filtri selettivi per isolare il rumore e eliminarlo.

5.4.1 Bandreject Filters

Le funzioni dei filtri bandreject ideale, Butterworth e Gaussiano sono riassunte nella seguente
immagine (5-15) e lesempio che segue ne illustra il funzionamento.
Uno dei principali usi di questo tipo di filtri per la rimozione del rumore nei casi in cui la
posizione delle componenti del rumore nel dominio delle frequenze approssimativamente
conosciuto. Un buon esempio unimmagine corrotta da rumore periodico additivo che pu
essere approssimato da funzione bi-dimensionali sinusoidali. La trasformata di Fourier di
un seno consiste in due impulsi simmetrici rispetto allorigine della trasformata (vedi tabella
4-3). Gli impulsi sono entrambi immaginari (la parte reale della trasformata di un seno

85
zero) e sono complessi coniugati fra loro.

La prima figura dellimmagine 5-16 fortemente corrotta da un rumore sinusoidali di varie


frequenze. Nella seconda figura (b) si possono notare facilmente le componenti del rumore
come coppie di punti brillanti nello spettro di Fourier che formano una sorta di circonferen-
za. Un filtro bandreject circolare e simmetrico una buona scelta. Nella terza figura (c)
mostrato un filtro Butterworth di ordine 4, con lappropriato raggio e spessore per includere
completamente gli impulsi di rumore. La quarta figura (d) mostra il risultato del filtraggio:
il miglioramento evidente, i piccoli dettagli e le texture sono state restaurate. chiaro
che non si potrebbe ottenere un risultato del genere con un filtro spaziale usando piccole
maschere di convoluzione.

5.4.2 Bandpass Filters

Un filtro passa-banda esegue loperazione inversa rispetto a un filtro bandreject. Abbiamo


gi mostrato come possiamo ottenere la funzione di un filtro passa-banda HBP (u, v) da un
corrispondete filtro bandreject HBR (u, v) usando lequazione

HBP (u, v) = 1, HBR (u, v)

Il filtraggio passa-banda utile per isolare gli effetti causati su unimmagine da specifiche
bande di frequenze come mostrato nellimmagine sopra (5-17). Questa immagine stata
generata usando lequazione precedente per ottenere il filtro passa-banda corrispondente al
filtro rejectband usato nellimmagine 5-16 e prendendo la trasformazione inversa della trasfor-
mata del risultato filtrato del passa-banda. La maggior parte dei dettagli vengono persi, ma
ci che rimane particolarmente utile poich mostra che il pattern di rumore recuperato
molto simile al rumore che ha corrotto limmagine nella figura 5-16. In altre parole, il
filtraggio passa-banda ci permette di isolare i pattern di rumore per lanalisi.

86
5.4.3 Notch Filters

Un filtro notch annulla (o fa passare) le frequenze in unarea predefinita intorno a un centro


di frequenze. Nella seguente figura (5-18) sono riassunte e funzioni dei filtri notch ideale,
Butterworth e Gaussiano.

Data la simmetria della trasformata di Fourier, i filtri notch devono mostrare coppie simme-
triche rispetto allorigine per poter ottenere risultati significativi. Lunica eccezzione a questa
regola esiste quando il filtro notch posizionato nellorigine. Il numero di coppie di filtri
notch che pu essere implementato arbitrario, come pure la forma (es. rettangolare).

Come gi detto, possiamo avere filtri notch che fanno passare, invece che eliminare, le fre-
quenze contenute nellaree notch. Le funzioni di trasferimento di questo tipo sono date
da

HNP (u, v) = 1, HNR (u, v)

dove HNp (u, v) la funzione di trasferimento del filtro notch passa-banda corrispondente al
filtro notch elimina-banda con funzione HNR (u, v).
Limmagine sotto (5-19) mostra il risultato del filtraggio notch che porta a una forte ridu-
zione del rumore, senza aggiungere leccessiva sfocatura introdotta da precedenti filtri.

5.4.4 Optimum Notch Filtering

La seguente figura (5-20) mostra un altro esempio di degradazione periodica, si tratta di


unimmagine digitale del terreno di Marte scattata dalla sonda Mariner 6. Il pattern di inter-
ferenze in qualche modo simile a quello visto nella figura 5-16, ma il pattern di base pi

87
complesso e quindi pi difficile da individuare nel piano delle frequenze. La seconda figura
mostra lo spettro di Fourier dellimmagine. Le componenti a forma di stelle sono causate
dallinterferenza, inoltre sono presenti altre coppie di componenti che indicano che il pattern
di rumore contiene pi di ununica componente sinusoidale.

Quando sono presenti pi componenti sinusoidali, i metodi discussi nelle precedenti sezioni
non sono sempre accettabili perch potrebbero rimuovere troppe informazioni dellimmagi-
ne durante il processo di filtraggio. Inoltre, le componenti di interferenza generalmente non
sono a singola frequenza, ma tendono ad avere dei picchi ampi che portano informazioni sul
pattern di interferenza Questi picchi non sono sempre facilmente individuabili dallo sfondo
della trasformata.
Metodi alternativi di fitraggio che riducono leffetto di queste degradazioni sono utili in mol-
te applicazioni. Il metodo discusso ora ottimo, nel senso che minimizza le varianze locali
y).
dellimmagine stimata f(x,
La procedura consiste nellisolare i principali contributi del pattern di interferenza e quindi
sottrarre una porzione variabile e pesata del pattern dallimmagine corrotta.

Il primo passo consiste nellestrarre le principali componenti di frequenza del pattern di


interferenza. Questo pu essere fatto posizionando un filtro notch passa-banda, HNP (u, v)
sulla posizione di ogni picco. Se il filtro costruito per far passare solo le componenti
associate al pattern di interferenza, allora la trasformata di Fourier del pattern di rumore
dellinterferenza data da

N(u, v) = HNP (u, v)G(u, v)

dove, come al solito, G(u, v) indica la trasformata di Fourier dellimmagine corrotta.

La formazione di HNP richiede una scelta oculata per capire quale un picco di interferen-
za e quale no. Per questa ragione, il filtro notch passa-banda generalmente viene costruito
interattivamente osservando lo spettro di G(u, v). Dopo avere scelto un particolare filtro, il
pattern corrispondente nel dominio spaziale ottenuto tramite lespressione

(x, y) = F 1 {HNP (u, v)G(u, v)}

Siccome assumiamo che limmagine corrotta sia formata dallaggiunta di interfenza su unim-
magine non corrotta f(x, y), se (x, y) completamente conosciuta, sottrarre il pattern da
g(x, y) per ottenere f(x, y) non difficile. Il problema, ovviamente, che questa procedura
di filtraggio solitamente ci porta solo a una approssimazione del vero pattern. Leffetto delle

88
componenti non presenti nella stima di (x, y) pu essere minimizzato sottraendo da g(x, y)
una porzione pesata di (x, y) per ottenere una stima di f(x, y):

y) = g(x, y) w(x, y)(x, y)


f(x,

La funzione w(x, y) detta funzione peso o modulazione, e lobiettivo della procedura quello
di scegliere questa funzione in modo che il risultato sia ottimizzato in maniera significativa.
y) sia
Un approccio possibile quello di scegliere w(x, y) tale che la varianza della stima f(x,
minima rispetto unarea specificata di pixel vicini per ogni punto (x, y).

Consideriamo un area di pixel vicini di dimensioni (2a + 1) e (2b + 1) rispetto a un punto


(x, y). La varianza locale di f(x,
y) alle coordinate (x, y) pu essere stimata dai campioni,
come segue:

1 a b
2 (x, y) = y)]2
[f(x + s, y + t) f(x,
(2a + 1)(2b + 1) s=a t=b
y) il valore medio di f nellarea di pixel vicini, ovvero:
dove f(x,

1 a b
y) = + s, y + t)
f(x, f(x
(2a + 1)(2b + 1) s=a t=b

Punti sul o vicini al bordo dellimmagine possono essere considerati come aree parziali o
utilizzati dopo avere eseguito uno zero-padding.


Sostituendo lequazione di (f)(x, y) nella penultima, avremo che

1 a b
2 (x, y) = {[g(x + s, y + t)
(2a + 1)(2b + 1) s=a t=b
2
w(x + s, y + t)(x + s, y + t)] [g(x,
y) w(x, y)(x, y)]}

Assumendo che w(x, y) rimane essenzialmente costante sullarea di pixel vicini (neighbo-
rhood), ci porta allapprossimazione

w(x + s, y + t) = w(x, y)
per a s a e b t b. Questa assunzione ci porta anche allespressione

w(x, y)(x, y) = w(x, y)(x,


y)
nel neighborhood. Con queste approssimazioni lequazione per 2 diventa

1 a b
2 (x, y) = {[g(x + s, y + t)
(2a + 1)(2b + 1) s=a t=b
2
w(x, y)(x + s, y + t)] [g(x,
y) w(x, y)(x,
y)]}

Per minimizzare 2 (x, y), risolviamo

2 )(x, y)
=0
w(x, y)
per w(x, y). Il risultato

g(x, y)(x, y) g(x,


y)(x,
y)
w(x, y) =
2 (x, y) 2 (x, y)
y), computiamo w(x, y) con questultima equazione
Per ottenere limmagine restaurata f(x,
e poi usiamo lequazione precedente per f(x, y). Siccome si assume che w(x, y) sia una co-
stante in un neighborhood, calcolare questa funzione per ogni valore di x e y nellimmagine
non necessario. Infatti, w(x, y) calcolato per un punto per ciascuna neighborhood che non
si sovrappone (preferibilmente il punto centrale) e quindi usata per elaborare tutti i punti
dellimmagine contenuti in quel neighborhood.

89
Le seguenti tre figure mostrano il risultato dellapplicazione della precedente tecnica allim-
magine 5-20 Limmagine di dimensioni 512 512 pixel ed stato scelto un neighborhood con
a = b = 15.
La prima figura lo spettro di Fourier non shiftato (lorigine u = v = 0 in alto a sinistra)
dellimmagine corrotta. La seconda figura mostra lo spettro di N(u, v), dove sono presenti
solo i picchi del rumore, e il pattern di interferenza (x, y) ottenuto tramite la trasformata
di Fuorier inversa di N(u, v). Da notare la somiglianza fra questo pattern e la struttura del
rumore presente nella figura 5-20.
Lultima figura mostra limmagine elaborata tramite lequazione precedente per (f)(x, y):
linterferenza periodica stata efficacemente rimossa.

90
5.5 linear, position-invariant degradations

La relazione input-output nella figura 5-1, prima della fase di restaurazione, espressa come

g(x, y) = H[f(x, y)] + (x, y)

Ora assumiamo che (x, y) = 0 in modo che g(x, y) = H[f(x, y)].


Sappiamo che H lineare se

H[af1 (x, y) + bf2 (x, y)] = aH[f1 (x, y)] + bH[f2 (x, y)]
dove a e b sono scalari e f1 (x, y) e f2 (x, y) sono due immagini di input.
Se a = b = 1, lequazione diventa

H[f1 (x, y) + f2 (x, y)] = H[f1 (x, y)] + H[f2 (x, y)]
Questa propriet (additivity) ci dice che, se H un operatore lineare, il risultato di una somma
di due input uguale alla somma di due risultati.

Se f2 (x, y) = 0, lequazione diventa

H[af1 (x, y)] = aH[f1 (x, y)]


Questa propriet (homogeneity) ci dice che, se H un operatore lineare, il risultato dellappli-
cazione a un multiplo di qualsiasi input uguale al risultato dellapplicazione a quellinput
moltiplicato per la stessa costante.
Quindi, un operatore lineare possiede entrambe queste propriet.

Un operatore che ha la relazione input-output g(x, y) = H[f(x, y)] detto position invariant se

H[f(x , y )] = g(x , y )
per ogni f(x, y) e ogni e . Questa definizione ci dice che il risultato in ogni punto del-
limmagine dipende unicamente dal valore dellinput in quel punto e non dalla sua posizione.

Con una piccola (ma equivalente) variazione nella notazione della definizione dellimpulso
vista nel capitolo 4, f(x, y) pu essere espressa come
+ +
f(x, y) = f(, )(x , y )d d

Assumiamo ancora per un momento che (x, y) = 0. Allora, la sostituzione di questa equa-
zione in quella per g(x, y) scritta sopra ci porta a
+ +
g(x, y) = H[f(x, y)] = H[ f(, )(x , y )d d]

Se H un operatore lineare e estendiamo la propriet additiva agli integrali, allora
+ +
g(x, y) = H[f(, )(x , y )]d d

Siccome f(, ) indipendente da x e y, usando la propriet dellomogeneit risulta che
+ +
g(x, y) = f(, )H[(x , y )]d d

Il termine

h(x, , y, ) = H[(x , y )]
detto impulse response di H. In altre parole, se (x, y) = 0 nella relazione di input-output
allora h(x, , y, ) la risposta di H a un impulso alle coordinate (x, y).

Sostituendo lultima equazione nella penultima avremo che

+ +
g(x, y) = f(, )h(x, , y, )d d

91
che detto superposition (o Fredholm) integral of the first kind. Ci dice che se la risposta di H
a un impulso conosciuta, la risposta a qualsiasi input f(, ) pu essere calcolata tramite
questultima equazione. In altre parole, un sistema lineare H completamente caratterizzato
dal suo impulse response.

Se H position invariant, allora

H[(x , y )] = h(x , y )

+ +
g(x, y) = f(, )h(x , y )d d

Questa espressione rappresenta lintegrale di convoluzione in 2-D. Ci dice che conoscendo


limpulse response di un sistema lineare, possiamo calcolare la sua risposta, g, per ogni in-
put f. Il risultato semplicemente la convoluzione fra limpulse response e la funzione di
input.

In presenza di rumore additivo, lespressione del modello di degradazione lineare diventa

+ +
g(x, y) = f(, )h(x, , y, )d d + (x, y)

Se H position invariant, diventa

+ +
g(x, y) = f(, )h(x , y )d d + (x, y)

I valori del termine di rumore (x, y) sono casuali e assumiamo che siano indipendenti dalla
posizione. Usando la notazione familiare per la convoluzione, possiamo scrivere questultima
eqauzione come

g(x, y) = h(x, y)f(x, y) + (x, y)

o, basandoci sul teorema della convoluzione, possiamo esprimerla nel dominio della frequen-
za come

G(u, v) = H(u, v)F(u, v) + N(u, v)

Ricordiamo sempre che, per quantit discrete, tutti i prodotti sono termine a termine: per
esempio, il termine ij di H(u, v)F(u, v) il prodotto fra il termine ij di H(u, v) e il termine ij
di F(u, v).

Riassumendo, la discussione precedente ci indica che un sistema di degradazione lineare


e spatially-invariant con rumore additivo pu essere modellato nel dominio spaziale come
la convoluzione della funzione di degradazione con unimmagine, seguita dallaggiunta di
rumore. Grazie al teorema di convoluzione, lo stesso processo pu essere espresso nel domi-
nio della frequenza come il prodotto delle trasformate dellimmagine e della degradazione,
seguito dallaggiunta della trasformata del rumore. Ricordiamo sempre la necessit del pad-
ding di una funzione nellimplementazione della trasformata discreta di Fourier.

Molti tipi di degradazione possono essere approssimati da processi lineare e position-invariant.


Il vantaggio di questo approccio che i molti strumenti della teoria dei sistemi lineari
diventano disponibili per la risoluzione di problemi di image restoration.

5.6 estimating the degradation function

Ci sono principalmente tre modi per stimare la funzione di degradazione: (1) osservazio-
ne, (2) sperimentazione e (3) modelli matematici. Il processo di restaurazione di unimma-
gine usando una funzione di degradazione stimata in qualche modo spesso detto blind
deconvolution.

92
5.6.1 Estimation by Image Observation

Supponiamo che ci venga data unimmagine degradata senza nessuna conoscenza sulla fun-
zione di degradazione H. Assumendo che limmagine stata degradata da un processo li-
neare e invariant-position, un modo per stimare H raccogliere informazioni dallimmagine
stessa. Per esempio, se limmagine sfumata, possiamo osservare piccole sezioni rettangolari
dellimmagine contenenti strutture campio, come parti di un oggetto e lo sfondo. Per poter
ridurre leffetto del rumore, dovremmo cercare un area in cui il contenuto del segnale forte
(per esempio unarea ad alto contrasto). Il prossimo passo sarebbe quello di processare la
sotto-immagine per arrivare a un risultato che sia il meno sfumato (unnlurred) possibile. Per
esempio, potremmo fare ci tramite sharpening sulla sotto-immagine con un filtro apposito e
anche processando a mano piccole aree.

Sia gs (x, y) larea (sotto-immagine) dellimmagine osservata e sia fs (x, y) quellarea elabo-
rata (si tratta della nostra stima dellimmagine originale in quellarea). Quindi, assumendo
che leffetto del rumore trascurabile data la nostra scelta di unarea a segnale forte, segue
dallequazione (5.5-17) che

Gs (u, v)
Hs (u, v) =
F s (u, v)

Dalle caratteristiche di questa funzione, possiamo quindi dedurre la funzione di degrada-


zione completa H(u, v) basandoci sulla nostra assunzione di invarianza di posizione. Per
esempio, se Hs (u, v) ha la forma approssimata di una curva Gaussiana, possiamo usare que-
sta informazione per costruire una funzione H(u, v) in scala pi grande, ma con la medesima
forma di base. Poi possiamo usare H(u, v) in uno degli approcci di restaurazione discussi
in seguito. Chiaramente, questo un processo laborioso usato solo in specifiche circostanze,
come ad esempio restaurare una vecchia fotografia con valore storico.

5.6.2 Estimation by Experimentation

Se la strumentazione utilizzata per acquisire limmagine degrada disponibile, possibile


in teoria ottenere unaccurata stima della degradazione. Immagini simili a quella degradata
possono essere acquisite con varie impostazione di sistema fino ad ottenere risultati degra-
dati nel modo pi simile allimmagine che vogliamo restaurare. Quindi lidea di ottenere
limpulse response della degradazione rappresentando limmagine di un impulso (un piccolo
punto di luce) usando le stesse impostazioni di sistema. Come detto, un sistema lineare e
space-invariant completamente caratterizzato della sua impulse response.

Un impulso simulato da un brillante punto di luce, il pi brillante possibile per ridur-


re leffetto del rumore fino a valori trascurabili. Quindi, ricordando che la trasformata di
Fourier di un impulso una costante, segue che

G(u, v)
H(u, v) =
A
dove A una costante che descrive la forza del segnale. Limmagine 5.24 mostra un esempio.

93
5.6.3 Estimation by Modeling

Il modeling per la degradazione stato usato per molti anni dato lapproccio intuitivo che
offre per problemi di restaurazione di immagini. In alcuni casi, il modello pu anche tenere
conto delle condizioni ambientali che causano la degradazione. Per esempio, il modello
di degradazione proposto da Hufnagel e Stanely basato sulle caratteristiche fisiche della
turbolenza atmosferica. Questo modello ha una forma familiare:

H(u, v) = ek(u +v2 )5/6


2

dove k una costante dipendente dalla natura della turbolenza. Eccetto lesponente 5/6,
questa equazione ha la stessa forma dei filtri passa-basso Gaussiano discussi nel capitolo 4.
In effetti, gli LPF Gaussiani sono usati talvolta per modellare blurring uniforme e leggero.
Limmagine 5.25 mostra un esempio ottenuto simulando il blurring di unimmagine usando
lequazione con valori k = 0, 0025 (turbolenza intensa), k = 0, 001 (turbolenza leggera), k =
0, 00025 (turbolenza bassa).

Un altro principale approccio al modeling sta nel derivare un modello matematico a partire
da principi di base. Illustriamo questa procedura trattando il caso in cui unimmagine sia
stata sfumata da un movimento lineare e uniforme fra il sensore e limmagine durante lac-
quisizione. Supponiamo che unimmagine f(x, y) subisca movimento planare e che x0 (t) e
y0 (t) siano le componenti del movimento che variano nelle direzioni x e y rispettivamente.
Lesposizione totale per ogni punto del mezzo di registrazione (pellicola o memoria digitale)
ottenuta integrando lesposizione istantanea sullintervallo temporale durante il quale lot-
turatore del sistema aperto.

Assumendo che lapertura e la chiusura dellotturatore avvenga istantaneamente e che il


sistema ottico sia idealmente perfetto, se T la durata dellesposizione, segue che

T
g(x, y) = f[x x0 (t), y y0 (t)]dt
0

dove g(x, y) limmagine sfumata.


La trasformata di Fourier della precedente equazione


G(u, v) = g(x, y)ej2(ux+vy) dx dy


f[x x0 (t), y y0 (t)]dt]ej2(ux+vy) dx dy
T
= [
0

94
Se invertiamo lordine dellintegrazione, otteniamo

f[x x0 (t), y y0 (t)]ej2(ux+vy) dx dy]dt
T
G(u, v) = [
0
Il termine allinterno delle parentesi quadre la trasformata di Fourier della funzione dislo-
cata f[x x0 (t), y y0 (t)]. Usando lequazione 4.6-4 otteniamo lespressione

F(u, v)ej2[ux0 (t)+vy0 (t)] dt


T
G(u, v) =
0

ej2[ux0 (t)+vy0 (t)] dt


T
= F(u, v)
0

dove lultimo passo segue dal fatto che F(u, v) indipendente da t.

Per definizione

ej2[ux0 (t)+vy0 (t)] dt


T
H(u, v) =
0

quindi

G(u, v) = H(u, v)F(u, v)

Se le variabili di movimento x0 (t) e y0 (t) sono conosciute, la funzione di trasferimento


H(u, v) pu essere ottenuta direttamente dalla penultima equazione.
Come esempio, supponiamo che limmagine in questione subisca movimento lineare unifor-
me solo nella direzione x, a un tasso dato da x0 (t) = at/T . Quando t = T , limmagine stata
dislocata di una distanza totale a. Con y0 (t) = 0, la penultima equazione diventa

ej2ux0 (t) dt
T
H(u, v) =
0

ej2uat/T dt
T
=
0

sin (ua)ejua
T
=
ua
Notiamo che H svanisce per valori di u dati da u = n/a, dove n un intero.
Se permettiamo anche alla componente y di variare, con il movimento dato da y0 (t) = bt/T ,
la funzione di degradazione diventa

sin [(ua + vb)]ej(ua+vb)


T
H(u, v) =
(ua + vb)

La figura 5-26(b) mostra unimmagine sfumata calcolata la trasformata di Fourier dellim-


magine a sinistra, moltiplicandola per H(u, v), ottenuta con lultima equazione sopra, e otte-
nendo la trasformata inversa. Le immagini sono di dimensioni 688 688 e i parametri usati
nellequazioni sono a = b = 0, 1 e T = 1.

95
5.7 inverse filtering

Il materiale in questa sezione il nostro primo passo nello studio della restaurazione di im-
magini degradate da una funzione di degradazione H, data o ottenuta con un metodo come
quelli discussi nella sezione precedente.

Lapproccio pi semplice alla restaurazione il filtraggio inverso, dove calcoliamo una stima

F(u, v), della trasformata dellimmagine originale semplicemente dividendo la trasformata


dellimmagine degradata G(u, v) per la funzione di degradazione

G(u, v)

F(u, v) =
H(u, v)

La divisione unoperazione fra array come discusso nel capitolo 2. Sostituendo la parte
destra della seconda equazione del capitolo 5 per G(u, v) nella precedente equazione, ci
porta a

N(u, v)

F(u, v) = F(u, v) +
H(u, v)

Questa espressione ci dice che anche se conosciamo la funzione di degradazione non pos-
siamo recuperare esattamente limmagine non degradata (la trasformata inversa di F(u, v))
poich non conosciamo N(u, v). Inoltre, se la funzione di degradazione ha valori zero o mol-

to bassi, allora il rapporto N(u, v)/H(u, v) potrebbe facilmente dominare la stimare F(u, v).
Questo , in effetti, il caso pi frequente.

Un approccio per andare oltre questo problema sta nel limitare il filtro di frequenze a va-
lori vicini allorigine. Sappiamo che H(0, 0) solitamente il valore pi alto di H(u, v) nel
dominio delle frequenze. Quindi, limitando lanalisi alle frequenze vicino allorigine, ridu-
ciamo la probabilit di dovere tenere conto di valori a zero. Questo approccio illustrato nel
seguente esempio.

Limmagine 5-27(b) stata filtrata inversamente con la prima equazione di questa sezione
usando lesatta inversa della funzione di degradazione che ha generato limmagine ovvero

H(u, v) = e[k(uM/2) +(vN/2)2 ]5/6


2

con k = 0, 0025. Le costanti M/2 e N/2 sono valori per loffset, centrano la funzione in mo-
do che essa corrisponda con la trasformata di Fourier centrata. In questo caso M = N = 480.
Sappiamo che una funzione a forma Gaussiana non ha zeri, quindi questo non ci porter
problemi. Nonostante questo, i valori della degradazione diventano talmente piccoli che il
risultato del filtraggio inverso completo (5-27.a) inutile.
Dalla seconda (b) alla quarta (d) figura sono mostra i risultati del taglio dei valori del rap-
porto G(u, v)/H(u, v) al di fuori del raggio di 40, 70 e85 rispettivamente. Il taglio stato
implementato applicando al rapporto una funzione passa-basso Butterworth di ordine 10.

96
I raggi vicino al valore 70 hanno prodotto il migliore risultato visivo. Valori sotto 70 tendono
verso immagini sfocate, mentre valori sopra 70 cominciano a produrre immagini decisamente
degradate.

5.8 minimum mean square error (wiener) filtering

Il filtraggio inverso appena visto non gestisce in alcun modo il rumore additivo. In questa
sezione, vedremo un approccio che incorpora nel processo di restaurazione sia la funzione
di degradazione che le caratteristiche statistiche del rumore.
Il metodo si basa sullidea di considerare le immagini e il rumore come variabili casuali e
lobiettivo trovare una stima f dellimmagine non corrotta f tale che lerrore quadratico
medio fra esse sia minimo. Questa misura dellerrore dato da

e2 = E{(f f)
2}

dove E{ } il valore atteso dellargomento. Si assume che il rumore e limmagine non siano
correlati. che luno o laltra abbiano media zero e che i livelli di intensit nella stima siano
funzione lineare dei livelli nellimmagine degradata. In base a queste condizioni, il mini-
mo della funzione dellerrore definita nellespressione precedente dato nel dominio delle
frequenze da

H (u, v)Sf (u, v)



F(u, v) = [ ]G(u, v)
Sf (u, v)H(u, v)2 + S (u, v)
H (u, v)
=[ 2
]G(u, v)
H(u, v) + S (u, v)/Sf (u, v)
1 H(u, v)2
=[ ]G(u, v)
H(u, v) H(u, v)2 + S (u, v)/Sf (u, v)

dove abbiamo usato il fatto che il prodotto di una quantit complessa per il suo coniugato
uguale al modulo della quantit complessa al quadrato. Questo risultato conosciuto come
filtro Wiener. Il filtro, che consiste nei termini allinterno della parentesi quadra, conosciuto
anche come filtro a minimo errore quadratico medio.
Si nota dalla prima riga dellequazione che questo filtro non ha il problema del filtraggio
inverso nei confronti degli zero nella funzione di degradazione, a meno che lintero denomi-
natore sia zero per gli stessi valori di u e v.

I termini nellequazione sono:

H(u, v) = funzione di degradazione

H (u, v) = complesso coniugato di H(u, v)

H(u, v)2 = H (u, v)H(u, v)

S (u, v) = N(u, v)2 = spettro di potenza del rumore

Sf (u, v) = F(u, v)2 = spettro di potenza dellimmagine non degradata

Come prima, H(u, v) la trasformata della funzione di degradazione e G(u, v) la trasfor-


mata dellimmagine degradata. Limmagine restaurata nel dominio spaziale data dalla
trasformazione inversa di Fourier della stima nel dominio delle frequenze F(u, v). Si noti che
se il rumore 0, allora lo spettro della potenza del rumore svanisce e il filtro Wiener si riduce
a un filtro inverso.

Un certo numero di misure sono basate sullo spettro di potenza del rumore e dellimma-
gine non degradata. Uno delle pi importanti il rapporto signal-to-noise, approssimato
usando le quantit nel dominio di frequenze tali che

M1 N1 2
u=0 v=0 F(u, v)
SNR = 2
M1 N1
u=0 v=0 N(u, v)

97
Questo rapporto ci d una misura di quanto il segnale dellimmagine non degradata sia pi
potente rispetto al rumore. Immagini con poco rumore hanno SNR alto, mentre la stessa
immagine con livello di rumore pi elevato avr SNR basso.

Lerrore quadratico medio in forma statistica nella prima equazione di questa sezione, pu es-
sere approssimato in termini di sommatorie che coinvolgono limmagine restaurata e quella
originale:

1 M1 N1 y)]2
MSE = [f(x, y) f(x,
MN x=0 y=0

Se si considera limmagine restaurata come il segnale vero e la differenza fra questimma-


gine e loriginale come il rumore, possiamo definire un rapporto SNR nel dominio spaziale
come

M1 N1
x=0 y=0 f(x, y)2
SNR = M1 N1

x=0 [f(x, y) f(x,
y=0
y)]2

maggiore sar questo rapporto. Talvolta si usa la radice di queste due


Pi simili sono f e f,
misure.

Quando abbiamo a che fare con rumore bianco, lo spettro N(u, v)2 una costante, il che
semplifica considerevolmente le cose. tuttavia, lo spettro di potenza dellimmagine non de-
gradata raramente conosciuto. Un approccio usato di frequente quando queste quantit so-
no sconosciute o non possono essere stimate approssimare la seconda equazione di questa
sezione con

1 H(u, v)2

F(u, v) = [ ]G(u, v)
H(u, v) H(u, v)2 + K)

dove K una specifica costante che viene aggiunta a tutti i termini di H(u, v)2 .

La figura 5.28 mostra i vantaggi di usare il filtraggio Wiener rispetto a quello inverso. Il
valore di K per la terza immagine stato scelto interattivamente per ottenere il migliore
risultato visivo.

5.9 constrained least squares filtering

Il problema di dover conoscere qualcosa riguarda la funzione di degradazione H comune


a tutti i metodi discussi in questi capitoli. Il filtro Wiener, inoltre, presenta un altro grado di
difficolt: lo spettro della potenza dellimmagine non degrada e del rumore devono essere
conosciuti. Abbiamo visto che si possono ottenere ottimi risultati usando lapprossimazio-
ne fornita nellultima equazione presentata. Tuttavia, una stima costante del rapporto dello
spettro di potenza non sempre una soluzione adatta.

98
Il metodo che vedremo adesso richiede unicamente la conoscenza della media e della va-
rianza del rumore. Come visto in precedenza, questi parametri solitamente possono essere
calcolati da una data immagine degradata. Lalgoritmo che vedremo porta a un risultato
ottimo per qualsiasi immagini su cui viene utilizzato, a differenza del Wiener che ottimo
nel caso medio poich basato sulla minimizzazione di criterio statistico.
Bisogna sempre ricordare che questo criterio di ottimalit soddisfacente da un punto di
vista teorico, ma non legato alle dinamiche della percezione visiva. Quindi, la scelta di uno
oppure un altro algoritmo quasi sempre determinato (almeno in parte) dala qualit visiva
percepita rispetto alle immagini risultanti.

Possiamo esprimere in forma matriciale la definizione di convoluzione vista in precedenza

g = Hf +
dove tutti i valori sono matrici. Per esempio, supponiamo che g(x, y) sia di dimensioni M N.
Allora possiamo formare i primi N elementi del vettore g usando gli elementi dellimmagine
nella prima riga di g(x, y), i successivi N elementi con la seconda riga e cos via. Il vettore
risultante avr dimensioni MN 1. Queste sono le dimensioni anche di f e , poich questi
vettori sono formati nella stessa maniera. La matrice H quindi ha dimensioni MN MN. I
suoi elementi sono dati dagli elementi della convoluzione secondo la prima equazione della
sezione sul teorema della convoluzione 2-D.

ragionevole concludere che il problema della restaurazione in questo caso pu essere ri-
dotto a un semplice problema di manipolazione di matrici. Sfortunatamente non cos.
Supponiamo, per esempio, di lavorare con immagini di medie dimensioni come M = N = 512.
Allora i vettori della precedente equazione saranno di dimensioni 262144 1 e la matrice H
di dimensioni 262144 262144. Manipolare matrici e vettore di queste dimensione molto
complesso. Inoltre, la situazioe aggravata dal fatto che H altamente sensibile al rumore.
Tuttavia, formulare il problema della restaurazione in forma matrice facilita la derivazione

99
di tecniche specifiche.

Il metodo costrained leas squares ha le proprie radice nella formulazione matriciale. Punto
fondamentale il problema della sensibilit di H al rumore. Un modo per alleviare questa
sensibilit quello di basare lottimalit della restaurazione su una misura della smoothness,
come per esempio la derivata seconda di unimmagine (il nostro caro vecchio amico Lapla-
ciano). Per essere significativa, la restaurazione deve essere vincolata a mano da parametri
sensati per lo specifico problema. Dunque, ci che desiderato trovare il minimo di una
funzione criterio C definita come

M1 N1
C = [2 f(x, y)]2
x=0 y=0

soggetta al vincolo

2 = 2
g Hf

dove w2 = wT w la norma vettoriale euclidea e f la stima dellimmagine non degradata.

La soluzione nel dominio delle frequenze di questo problema di ottimizzazione data


dallespressione

H (u, v)

F(u, v) = [ ]G(u, v)
H(u, v)2 + P(u, v)2

dove un parametro che devessere scelto in modo che il vincolo precedente sia soddisfatto
e P(u, v) la trasformata di Fourier della funzione
0 1 0


p(x, y) = 1 4 1

0 1 0

Riconosciamo questa funzione come loperatore Laplaciano introdotto nel capitolo 3. Dob-
biamo sempre ricordarci che p(x, y), come molte altre funzioni nel dominio spaziale, deve
essere propriamente paddata con zeri prima di poter calcolare la trasformata.
Se = 0, la penultima equazione si trasforma nel semplice filtraggio inverso.

Nella figura 5.30 mostrata lelaborazione di unimmagine degradata con un filtro con-
strained least squares, in cui i valori di sono stati scelti manualmente per produrre il miglior
risultato visivo. lo stesso procedimento usato per il filtro Wiener. Confrontando i risultati,
si nota che il filtro CLS porta a risultati migliori per i casi con rumore ad alto e medio valore,
mentre entrambi i filtri producono il medesimo risultato circa per basso rumore. Non un
caso che i CLS siano migliori dei Wiener quando selezioniamo manualmente, questo para-
metro, infatti, scalare, mentre il valore K nellequazione del Wiener unapprossimazione
del rapporto fra due sconosciute funzione nel dominio delle frequenze. Questo rapporto
raramente costante.

100
Come appena visto, possiamo modificare manualmente il valore di fino al raggiungimento
di risultati accettabili, ma se siamo interessati allottimalit allora devessere scelto in modo
che il vincolo precedente sia soddisfatto. Ecco una procedura per calcolare il valore corretto
di iterativamente:

Definiamo un vettore residuale r come

r = g Hf

Siccome F(u, una funzione di , allora anche r una funzione di questo
v) (e quindi f)
parametro. Si pu mostrare che

() = rT r = r2
una funzione monotona crescente di . Quello che vogliamo modificare in modo che

r2 = 2 a
dove a un fattore di accuratezza. Se r2 = 2 , il vincolo iniziale sarebbe soddisfatto.

Dato che () monotona, trovare il valore desiderato di non difficile. Un approccio


il seguente

1. Scegliere un valore iniziale di .

2. Calcolare r2 .

3. Fermarsi se r2 = 2 a soddisfatta, altrimenti tornare al passo 2 dopo aver incre-


mentato se r2 < 2 a o decrementato se r2 > 2 + a. Usare il nuovo valore

di nellequazione per ricalcolare la stima ottima di F(u, v).

Altre procedure, come lalgoritmo Newton-Raphson, possono essere usate per migliorare la
velocit di convergenza.

Per poter usare questo algoritmo, abbiamo bisogno delle quantit r2 e 2 . Per calcolare
r2 , notiamo da unequazione precedente che

R(u, v) = G(u, v) H(u, v)F(u,


v)
da cui possiamo ottenere r(x, y) calcolando la trasformata inversa di R(u, v), Quindi

M1 N1
r2 = r2 (x, y)
x=0 y=0

Il calcolo di norma2 ci porta a un risultato interessante. Prima, consideriamo la varianza


del rumore rispetto allintera immagine, che stimiamo con il metodo discussa nel capitolo 3:

1 M1 N1 2
2 = [(x, y) m ]
MN x=0 y=0
dove

1 M1 N1
m = (x, y)
MN x=0 y=0

la media campione. Notiamo, osservando lequazione sopra per normar2 che la doppia
sommatoria nella penultima equazione uguale a norma2 . Questo ci porta allespressione

2 = MN[2 + m2 ]

Questo il risultato pi utile. Ci dice che possiamo implementare un algoritmo di restau-


razione ottimo conoscendo solo la media e la varianza del rumore. Queste quantit non
sono difficili da stimare, come visto prima, assumendo che il rumore e i valori di intensit

101
dellimmagine non siano correlati. Questa unassunzione base di tutti i metodi discussi in
precedenza.
La figura 5.31 mostra il risultato dellalgoritmo appena descritto nello stimare il filtro ottimo
per restaurare la figura 5.25(b). Il valore iniziale usato per 105 , il fattore di correzione
per adattare 106 e il valore per a 0, 25. I parametri scelti per il rumore sono gli stes-
si usati per generare limmagine 5.25(a): una varianza di rumore di 105 e media zero. Il
risultato restaurato quasi buono quanto la figura 5.28(c) ottenuta tramite filtraggio Wiener
con K scelta manualmente per i migliori risultati visivi. La seconda figura mostra cosa pu
succedere se scegliamo male le stime dei parametri del rumore.

Come detto allinizio di questa sezione, importante ricordare che la restaurazione ottima
del filtro CLS non implica necessariamente il miglior risultato visivo. In generale, la deter-
minazione automatica dei filtri per la restaurazione portano a risultati inferiori rispetto alla
modifica interattiva manuale dei parametri del filtro. Questo particolarmente vero per il
CLS, che viene completamente specificato da un unico parametro scalare.

5.10 geometric mean filter

possibile generalizzare leggermente il filtro Wiener discusso in precedenza per arrivare al


cosiddetto filtro medio geometrico:

H (u, v) H (u, v)
1

F(u, v) = [ ] [ ] G(u, v)
H(u, v)2 S (u,v)
H(u, v)2 + [ S(u,v) ]
f

con e costanti reali e positive.


Quando = 1 questo filtro si riduce al filtro inverso. Con = 0 il filtro diventa il cosiddetto
filtro Wiener parametrico, che si riduce al filtro Wiener standard quando = 1. Se = 1/2, il
filtro diventa un prodotto di due quantit elevate alla stessa potenza, che la definizione di
media geometrica. Con = 1, con che decresce al di sotto di 1/2, le performance del filtro
diventano sempre pi simili a quelle del filtraggio inverso. Similmente, quando cresce al
di sopra di 1/2, il filtro si comporter in maniera sempre pi simile al filtro Wiener. Quano
= 1/2 e = 1, il filtro comunemente conosciuto come spectrum equalization filter.
Questa equazione particolarmente importante e utile quando implementiamo filtri di re-
staurazione perch rappresenta una famiglia di filtri combinata in una singola espressione.

102
MORPHOLOGICAL IMAGE PROCESSING

9.1 preliminaries
9
La parola morfologia comunemente si riferisce a quella parte della biologia che studia la for-
ma e la struttura degli animali e delle piante. Noi usiamo la stessa parola nel contesto della
morfologia matematica come strumento per estrarre componenti delle immagini che sono utili
per la rappresentazione e la descrizione delle forme di aree, come ad esempio i contorni, gli
skeletons e le convex hull.

Il linguaggio della morfologia matematica la teoria degli insieme. Gli insiemi nella morfo-
logia matematica rappresentano gli oggetti in unimmagine. Per esempio, linsieme di tutti i
pixel bianchi in unimmagine binaria una descrizione morfologica completa dellimmagine
stessa. Nelle immagini binari. gli insiemi in questione sono membri dello spazio 2-D Z2 , do-
ve ogni elemento dellinsieme una 2-upla (vettore 2-D) le cui coordinate sono le coordinate
(x, y) di un pixel bianco (o nero, in base alla convenzione adottata) nellimmagine.

Oltre alle definizione base degli insiemi, i concetti di riflessione e traslazione di insieme
sono molto usati nella morfologia.
definita come
La riflessione di un insieme B, indicata con B,

B = {w w = b, per b B}
Se B linsieme dei pixel (punti 2-D) che rappresentano un oggetto in unimmagine, allora
B semplicemente linsieme dei punti in B le cui coordinate (x, y) sono state sostituite da
(x, y).

La traslazione di un insieme B rispetto a un punto z = (z1 , z2 ), indicata con (B)z , definita


come

(B)z = {c c = b + z, per b B}
Se B linsieme dei pixel che rappresentano un oggetto in unimmagine, allora (B)z
semplicemente linsieme dei punti in B le cui coordinate (x, y) sono state sostituite da
(x + z1 , y + z2 ).

103
La riflessione e la traslazione sono utilizzate spesso in morfologia per formulare operazio-
ni basate sui cosiddetti structured elements (SE): piccoli insiemi o sotto-immagini usati per
studiare propriet di unimmagine sotto analisi.

Oltre alla definizione di quali elementi fanno parte del SE, anche lorigine di un structuring
element devessere specificata. Lorigine dei vari SE nellimmagine 9.2 sono indicati da un
punto nero (solitamente situato nel centro sul proprio centro di gravit, ma non per forza).
Quando il SE simmetrico e non ci sono punti, si assume che lorigine sia nel suo centro di
simmetria.

Si richiede che gli SE siano memorizzati in array rettangolari, quindi aggiungiamo il mi-
nore numero possibile di elementi di sfondo necessari per formare un array rettangolare
come mostrato nellimmagine sopra (seconda riga).

Come esempio delluso degli SE, osserviamo la figura 9.3: le immagini (a) e (b) mostrano
un semplice insieme e una SE. I bordi dello sfondo vengono resi grandi a sufficienza per
ospitare lintero SE quando la sua origine si trova sul bordo dellinsieme originale (si tratta
di un padding analogo a quello fatto per la correlazione e convoluzione spaziale).

Supponiamo di definire unoperazione sullinsieme A usando lo SE B come segue: crea un


nuovo insieme facendo scorrere B su A in modo tale che lorigine di B visiti ogni elemento
di A. Per ogni posizione in cui va a trovarsi lorigine di B, se B completamente contenuto
in A, segna quellelemento come membro del nuovo insieme, altrimenti no. Il risultato
mostrato nellultima figura sopra.
Il risultato finale unerosione del bordo dellimmagine originale.

104
9.2 erosion and dilation

Operazioni fondamentali per la morfologia: molti degli algoritmi che vedremo sono basati
su queste due operazioni primitive.

9.2.1 Erosion

Siano A e B insiemi in Z2 , lerosione di A mediante B, indicata con A B, definita come

A B = {z (B)z A}

Ovvero, questa equazione indica che lerosione di A con B linsieme di tutti i punti z tali
per cui B, traslato di Z, contenuto in A. Negli esempi successivi assumiamo sempre che B
sia un SE. Questequazione la formulazione matematica dellesempio di figura 9.3 (e).
Siccome laffermazione che B devessere contenuto in A equivalente a dire che B non con-
divide alcun elemento con lo sfondo, possiamo esprimere lerosione nella seguente formula
equivalente:

A B = {z (B)z Ac = }

dove Ac il complemento di A.

Supponiamo di voler rimuovere le linee che connettono la regione centrale ai blocchi sul
bordo dellimmagine 9.5 (a). Erodere limmagine con un SE quadrato di dimensioni 11 11
le cui componenti sono tutti 1, rimuovere la maggior parte delle linee, come si nota in (b).
La ragione per cui le due linee verticali sono assottigliate, ma ci sono ancora, che la loro
larghezza era maggiore di 11 pixel. Aumentando la dimensione del SE a 15 15 ed erodere
limmagine originale permette di eliminare tutte le linee di connessione, come si nota in (c).
Aumentando la dimensione del SE si erodono elementi sempre pi grandi, come si vede in
(d).

105
Lerosione permette di restringere o assottigliare oggetti nelle immagini binarie. Possiamo
considerare lerosione come unoperazione di filtraggio morfologico che consente di filtrare
dallimmagine dettagli pi piccoli del SE.

9.2.2 Dilation

Siano A e B insiemi in Z2 , la dilatazione di A mediante B, indicata con A B, definita come

A B = {z (B)
z A }

Questequazione basata sulla riflessione di B rispetto allorigine, e la traslazione di questa


riflessione di z (vedi fig 9.1). La dilatazione di A con B quindi linsieme di tutti gli spo-
stamenti, z, tali per cui B e A si sovrappongono per almeno un elemento. In base a questa
interpretazione possiamo riscrivere lequazione come

A B = {z [(B)
z A] A}

Come prima assumiamo che B sia lo SE e A limmagine da dilatare.

A differenza dellerosione, che unoperazione di restringimento, la dilatazione ingrandi-


sce o ispessisce oggetti in immagini binarie. La maniera specifica e la quantit di tali
ingrandimenti dipende dalla forma dello SE usato. Nella figura 9.6 B = B poich lo SE sim-
metrico rispetto al suo centro. La linea tratteggiata mostra linsieme originale per una mag-
giore comprensione e la linea solida mostra il limite al di l del quale ogni altri spostamento
di z dellorigine di B porterebbe a unintersezione vuota di B e A.

106
Una delle pi semplici applicazioni della dilatazione il riempimento di vuoti fra bordi di
oggetti. Limmagine 9.7(a) mostra un testo con caratteri rotti. La massima grandezza dei
vuoti fra la lettere di 2 pixel. La figura 9.7(b) mostra uno SE che pu essere usato per
riparare le lettere e ottenere il risultato della dilatazione con tale SE in 9.7(c). Un evidente
vantaggio di questapproccio rispetto al filtraggio passa-basso usato in precedenza che il
metodo morfologico porta direttamente a un risultato come immagine binaria.

9.2.3 Duality

Lerosione e la dilatazione sono ognuno il duale dellaltro rispetto al complemento e la


riflessione insiemistica, ovvero:

(A B)c = Ac B
e

(A B)c = Ac B
La prima equazione indica che lerosione di A tramite B il complemento della dilatazione
di Ac tramite B,
e viceversa.
La propriet duale utile in particolare quando lo SE simmetrico rispetto alla sua origine
(come succede spesso), ovvero quando B = B. In quel caso, possiamo ottenere lerosione di
unimmagine con B semplicemente dilatando il suo sfondo (cio dilatando Ac ) con lo stesso
SE e prendere il complemento del risultato.

Dimostriamo la prima equazione in modo da illustrare un approccio tipico per stabilire la


validit di unespressione morfologica. A partire dalla definizione di erosione risulta che

(A B)c = {z (B)z A}c


Se (B)z contenuto in A, allora (B)z Ac = , quindi la precedente espressione diventa

(A B)c = {z (B)z Ac = }c
Ma il complemento dellinsieme delle z che soddisfa (B)z Ac = linsieme delle z tali
che (B)z Ac , quindi

(A B)c = {z (B)z Ac } = Ac B

9.3 opening and closing

Ora vedremo altre due importanti operazioni morfologiche: opening e closing. Lapertura ge-
neralmente rende meno netti i contorni di un oggetto, rompe le linee sottili di connessione
e elimina le piccole sporgenze. La chiusura anchessa rende meno nette sezioni di contorno,
ma generalmente fonde le rotture strette e i golfi sottili e e lunghi, elimina piccoli buchi e
riempi i varchi fra contorni.

Lopening di un insieme A mediante uno SE B, indicato con A B, definito come

A B = (A B) B

Quindi, lapertura di A con B lerosione di A con B, seguita dalla dilatazione del risultato
con B.

Similmente, la closing di un insieme A mediante uno SE B, indicato con A B, definito


come

A B = (A B) B

Ovvero, la chiusura di A con B la dilatazione di A con B, seguita dallerosione del risultato


con B.
Loperazione di opening ha una semplice interpretazione geometrica (fig 9.8). Supponiamo
di considerare lo SE B come una pallina piatta che rotola. Il contorno di A B allora

107
stabilito dai punti di B che raggiungono i punti pi lontani dal contorno di A mentre B viene
fatta rotolare allinterno di quel contorno. Questa propriet geometrica delloperazione di
apertura ci porta a una nuova formulazione per cui lapertura di A tramite B si ottiene
prendendo lunione di tutte le traslazioni di B che sono contenute in A, ovvero:

A B = {(B)z (B)z A}

Loperazione di closing ha uninterpretazione geometrica simile, eccetto che ora facciamo ro-
tolare B sullesterno del contorno di A (fig 9.9). Geometricamente, un punto w un elemento
di A B se e solo se (B)z A per ogni spostamento di (B)z che contiene w.

Come nel caso dellerosione e della dilatazione, lapertura e la chiusura sono ciascuno il
duale dellaltro rispetto al complemento e la riflessione insiemistica. Ovvero:

108
(A B)c = (Ac B)

(A B)c = (Ac B)

Loperazione di opening soddisfa le seguenti propriet:

1. A B un sottoinsieme (una sotto-immagine) di A.

2. Se C un sottoinsieme di D, allora C B un sottoinsieme di D B.

3. (A B) B = A B.

Similmente loperazione di closing soddisfa le seguenti propriet:

1. A un sottoinsieme (una sotto-immagine) di A B.

2. Se C un sottoinsieme di D, allora C B un sottoinsieme di D B.

3. (A B) B = A B.

Le operazioni morfologiche possono essere usate per costruire filtri simili concettualmente
ai filtri spaziali discussi nel capitolo 3. La prima immagine della figura 9.11 mostra una
sezione di impronta digitale corrotta da rumore che si manifesta come elementi casuali chiari
sullo sfondo scuro e come elementi elementi scuri sulle componenti chiare dellimpronta.
Lobiettivo eliminare il rumore e i suoi effetti, distorcendo il meno possibile limpronta. Un
filtro morfologico consistente nelloperazione di opening seguita dalloperazione di closing
pu essere utilizzata per ottenere questo obiettivo.

9.4 the hit-or-miss transformation

La trasformata morfologica hit-or-miss uno strumento di base per la shape detection. Intro-
durre questo metodo con laiuto della figura 9.12 che mostra un insieme A contenente 3
forme (sotto-insiemi), indicati con C, D e E. Lobiettivo individuare la posizione di una
delle forme, per esempio D.
Sia lorigine di ogni forma posizionata nei relativi centri di gravit. Sia D incluso in un una
piccola finestra W. Lo sfondo locale (local background) di D rispetto a W definito come la
differenza insiemistica (W D) come mostrato nella figura (b). Nella figura (d) mostrato
lerosione di A con D. Ricordiamoci che lerosione di A con D linsieme delle posizioni
dellorigine di D, tali che D sia completamente contenuto in A. O, in altre parole, A D pu

109
essere vista geometricamente come linsieme di tutte le posizioni dellorigine di D nei quali
D ha un match (hit) in A. Teniamo anche conto che A consiste unicamente dei tre insiemi
disgiunti C, D e E.

La figura (e) mostra lerosione del complemento di A con lo sfondo locale (W D). An-
che larea esterna alla regione grigia fa parte dellerosione. Possiamo notare dalle figure (d)
e (e) che linsieme delle posizione per le quali D calza esattamente in A, lintersezione
dellerosione di A con D e lerosione di Ac con (W D). come mostrato nella figura (f).
Questa intersezione precisamente la posizione che cercavamo. In altre parole, se B indica
linsieme composto da D e il suo sfondo, il match (o linsieme dei match) di B in A, indicato
con A B,

A B = (A D) [Ac (W D)]
Possiamo generalizzare la notazione ponendo B = (B1 , B2 ), dove B1 linsieme di elementi
di B associati a un oggetto e B2 linsieme di elementi di B associati con il corrispondente
sfondo. Nellesempio, B1 = D e B2 = (W D). Cos, lequazione diventa

A B = (A B1 ) (Ac B2 )

Dunque, linsieme A B contiene tutti i punti (le origini) nei quali, simultaneamente, B1
ha trovato un match (hit) in A e B2 ha trovato un match (hit) in Ac . Usando la definizione
di differenza insiemistica data nel capitolo 2 e la relazione duale fra erosione e dilatazione,
riscriviamo lequazione come

A B = (A B1 ) (A B 2 )
Ci riferiamo a ciascuna delle equazioni equivalenti precedenti come la trasformazione morfolo-
gica hit-or-miss.
La ragione per usare uno SE B1 associata con oggetti e uno SE B2 associato con lo sfondo,
basata su una definizione assunta secondo cui due o pi oggetti sono distinti solo se formano
insieme disgiunti (disconnessi). Quest viene garantito richiedendo che ciascun oggetto abbia

110
un sfondo di almeno un pixel di spessore intorno a lui. In alcune applicazioni, potremmo es-
sere interessati nellindividuare alcuni pattern di 1 e 0 allinterno di un insieme, in quel caso
uno sfondo non richiesto la trasformazione hit-or-miss si riduce alla semplice erosione.

9.5 some basic morphological algorithms

Dopo aver gettato le basi teoriche nelle precedenti sezioni, siamo pronti a considerare alcuni
usi pratici della morfologia.
Quando abbiamo a che fare con le immagini binarie, una delle principali applicazioni della
morfologia lestrazione di componenti dellimmagine che siano utili nella rappresentazione
e descrizione della forma. In particolare, considereremo algoritmi morfologici per lestrazio-
ne di contorni, componenti connesse, convex hull e skeleton di regioni. Svilupperemo anche
alcuni metodi che sono spesso usati in congiunzione con questi algoritmi come passi di di
pre o post-elaborazione.

9.5.1 Boundary Extraction

Il contorno (boundary) di un insieme A, indicato con (A), pu essere ottenuto erodendo A


con B e poi calcolando la differenza insiemistica fra A e la sua erosione, ovvero:

(A) = A (A B)
dove B uno structuring element adatto.

La figura 9.13 illustra questo meccanismo: mostra un semplice oggetto binario, uno SE B e il
risultato dellapplicazione dellultima equazione. Lo SE in (b) probabilmente del tipo pi
usato, ma non ovviamente lunico possibile.

9.5.2 Hole Filling

Un buco (hole) pu essere definito come una regione dello sfondo (background) circondata
da un bordo connesso di pixel di foreground. Ora svilupperemo un algoritmo basato sulla
dilatazione, il complemento e lintersezione per riempire i buchi in unimmagine.

111
Sia A un insieme i cui elementi sono contorni 8-connected, ciascun contorno che comprende
una regione di sfondo (ovvero un buco). Dato un punto per ciascun buco, lobiettivo
riempire tutti i buchi con degli 1.

Cominciamo formando un array 2 D, X0 , di soli zeri (della stessa dimensione di quello


contenente A), eccetto nelle posizioni corrispondenti al dato punto in ciascun buco, che
poniamo a 1. Quindi, la seguente procedura riempi tutti i buchi con 1:

Xk = (Xk1 B) Ac k = 1, 2, 3, . . .
dove B lo SE simmetrico in figura 9.15 (c). Lalgoritmo termina al passo iterativo k quando
Xk = Xk1 . Linsieme Xk conterr quindi tutti i buchi riempiti. Lunione di Xk e A conterr
tutti i buchi riempiti e i loro contorni.

La dilatazione in questa equazione avrebbe riempito lintera area se non fosse controllata, ma
lintersezione ad ogni passo con Ac limita il risultato allinterno della regione di interesse.
Questo il nostro primo esempio di come un processo morfologico pu venire condizionato
per andare incontro a una desiderata propriet. In questo caso specifico, si parla di dilatazione
condizionale.
Anche se questo esempio ha un solo buco, lalgoritmo funziona per un qualsiasi numero
finito di buchi, assumendo che sia dato un punto allinterno di ciascun buco.

112
9.5.3 Extraction of Connected Components

Lestrazione di componenti connesse da unimmagine binaria importante per molte applica-


zioni di analisi automatica di immagini. Sia A un insieme contenente una o pi componenti
connesse. Formiamo un array 2 D, X0 (della stessa dimensione dellarray contenente A)
i cui elementi sono tutti zero (valori di sfondo), eccetto per ogni posizione conosciuta che
corrisponde a un punto in ciascuna componente connessa in A, che poniamo a 1 (valori di fo-
reground). Lobiettivo iniziare con X0 e trovare tutte le componenti connesse. La seguente
procedura iterativa raggiunge tale obiettivo:

Xk = (Xk1 B) A k = 1, 2, 3, . . .
dove B uno structuring element adatto. Lalgoritmo termina al passo iterativo k quando
Xk = Xk1 , con Xk contenente tutte le componenti connesse dellimmagine di input.

Notiamo la somiglianza fra questa equazione e quella dellequazione precedente: lunica


cosa che cambia luso di A al posto di Ac . Questo non ci sorprende, ora stiamo cercando i
punti di foreground, mentre nella procedura precedente cercavamo i punti di background.

Le componenti connesse sono usate frequentemente per ispezioni automatizzate. La figura


9.18 (a) mostra unimmagine a raggi X di un petto di pollo che contiene frammenti ossei.

113
Vorremmo essere in grado di individuare tali frammenti prima di confezionare e/o spedire
il prodotto. In questo particolare caso, la densit delle ossa tale che i loro valori di intensit
sono differenti dallo sfondo. Questo permette lestrazione delle ossa dallo sfondo in maniera
semplice se prima elaboriamo limmagine con una trasformazione threshold per ottenerne
una binaria (b). Possiamo essere certi che rimangano visibili solo oggetti di una dimensione
significativa erodendo limmagine binaria: in questo esempio abbiamo definito significativo
ogni oggetto rimanente dopo unerosione con uno SE di 1 di dimensioni 5 5 (c). Lo step
successivo lanalisi delle dimensioni degli oggetti rimanenti. Identifichiamo tali oggetti
estraendo le componenti connesse nellimmagine: le 15 componenti connesse estratte e le
relative dimensioni sono riportate nella tabella (d).

9.5.4 Convex Hull

Un insieme A detto convesso se il segmento rettilineo congiungente due punti qualsiasi di


A, giace totalmente allinterno di A. Il convex hull (inviluppo convesso) H di un insieme
arbitrario S il pi piccolo insieme convesso contenente S. La differenza insiemistica H S
detta convex deficiency di S. Queste due entit sono utili per la descrizione degli oggetti. Ora
presenteremo un semplice algoritmo morfologico per ottenere linviluppo convesso, C(A),
di un insieme A.

Siano Bi , per i = 1, 2, 3, 4, le quattro structuring element in figura 9.19 (a). La procedura


consiste nellimplementare lequazione:

Xik = (Xk1 Bi ) A i = 1, 2, 3, . . . e k = 1, 2, 3, . . .
con Xi0= A. Quando la procedura converge (cio quando Xik = Xik1 ), poniamo Di = Xik .
Quindi la convex hull di A

4
C(A) = Di
i=1

In altre parole, il metodo consiste nellapplicare iterativamente la trasformazione hit-or-miss


ad A con B1 ; quando non avviene pi nessun cambiamento, eseguiamo lunione con A e
chiamiamo il risultato D1 . La procedura ripetuta con B2 applicato ad A fin quando nessun
ulteriore cambiamento avviene, e cos via. Lunione dei 4 risultato Di costituisce la convex
hull di A. Si noti che stiamo usando la versione semplifica della hit-or-miss nella quale non
richiesta la background match.

114
La figura 9.19 (a) mostra le SE utilizzate, lorigine nel centro di ogni elemento e la indica
la condizione non ci interessa. Questo significa che uno SE ha trovato un match in A se la
regione 3 3 di A sotto la maschera del SE in quella posizione corrisponde col pattern della
maschera. Per una particolare maschera, un pattern match avviene quando il centro della
regione 3 3 in A 0 e i 3 pixel sotto gli elementi grigi della maschera sono 1. I valori degli
altri pixel nella regione 3 3 non ci interessano. Notiamo che Bi una rotazione in senso
orario di 90 di Bi1 .

Una lacuna evidente nella procedura appena descritta che la convex hull pi crescere ol-
tre alle dimensioni minime richieste per garantire la convessit. Un semplice approccio per
ridurre questo effetto limitare la crescita in modo che non si estenda oltre le dimensioni
verticali e orizzontali dellinsieme originale dei punti. Il risultato di questa limitazione ri-
portato nella figura 9.20.
Contorni di maggiore complessit possono essere usati per limitare la crescita anche in im-
magini com maggiori dettagli. Per esempio, potremmo usare le dimensioni massime dellin-
sieme originale di punti lungo le direzioni orizzontali, verticali e diagonali. Il prezzo pagato
per questi raffinamenti la maggiore complessit e requisiti computazionali dellalgoritmo.

9.5.5 Thinning

Il thinning (assottigliamento) di un insieme A tramite uno structuring element B, indicato


con A B, pu essere definito in termini della trasformazione hit-or-miss.

A B = A (A B) = A (A B)c
Come prima, siamo interessati solo nel pattern matching con le structuring elements, quindi
non richiesta nessuna operazione di backgroung nella trasformazione hit-or-miss. Une-
spressione pi utile per assottigliare A simmetricamente su una sequenza di SE:

{B} = {B1 , B2 , B3 , . . . , Bn }
dove Bi una versione ruotata di Bi1 . Usando questo concetto, ora definiamo il thinning
come una sequenza di structuring elements come:

A {B} = ((. . . ((A B1 ) B2 ) . . . ) Bn )


Il processo precede di assottigliare A in un passaggio con B1 , quindi assottigliare il risultato
in un passaggio di B2 e cos via, finch A viene assottigliata in un passaggio di Bn . Lintero
processo ripetuto fin quando non avvengono pi cambiamenti. Ogni singolo passaggio di
thinning eseguito usando la prima equazione di questa sezione.
La figura 9.21 (a) mostra un insieme di structuring element comunemente usate per il thin-
ning e la figura 9.21 (b) mostra un insieme A da assottigliare con la procedura appena di-
scussa che viene applicata nelle figure da (c) a (l). Il risultato in (l) viene convertito alla
m-connectivity (vedi 2.5.2) per eliminare percorsi multipli.

115
9.5.6 Thickening

Il thickening (ispessimento) il duale morfologico del thinning ed definito dallespressione

A B = A (A B)
dove B una SE adatta. Come il thinning, anche il thickening pu essere definita come
operazione sequenziale:

A {B} = ((. . . ((A B1 ) B2 ) . . . ) Bn )


Gli structuring elements usati per il thickening hanno la stessa forma di quelli mostrati in
figura 9.21 (a), ma con tutti gli 1 e 0 invertiti. Tuttavia, raramente viene usato un algoritmo
specifico: solitamente si esegue il thinning sul background dellinsieme in questione e poi si
calcola il complemento del risultato.

In base alla natura di A, questa procedura pu portare a punti disconnessi (d). Di conseguen-
za, il thickening con questo metodo solitamente seguito da un postprocessing per rimuove-
re i punti disconnessi. Si noti dalla figura (c) che lo sfondo assottigliato forma un contorno

116
per il processo di thickening. Questa utile caratteristica non presente nellimplementazione
diretta del thickening usando lultima equazione.

9.5.7 Skeletons

Come mostra la figura 9.23, il concetto di skeleton, S(A), di un insieme A intuitivamente


semplice. Deduciamo dalla figura che

Se z un punto di S(A) e (D)z il pi grande disco centrato in z e contenuto in A,


non esiste un disco pi grande (non necessariamente centrato in z) contenente (Dz ) e
incluso in A. Il disco (D)z chiamato disco massimo (maximum disk).

Il disco (D)z tocca il contorno di A in due o pi punti diversi.

Lo skeleton di A pu essere espresso in termini di erosioni e opening. Ovvero, si pu mostrare


che

K
S(A) = Sk (A)
k=0

con

Sk (A) = (A kB) (A kB) B


dove B uno SE e (A kB) indica k successive erosioni di A:

(A kB) = ((. . . ((A B) B) . . . ) B)


k volte, con K ultimo passo iterativo prima che A venga eroso fino allinsieme vuoto. In altre
parole

K = max{k (A kB) }
Le prime formulazioni ci dicono che S(A) pu essere ottenuto come lunione dei sottoinsiemi
skeleton Sk (A). Si pu anche mostrare che A pu essere ricostruito da questi sottoinsiemi
usando lequazione

K
A = (Sk (A) kB)
k=0

dove (Sk (A) kB) indica k successive dilatazioni di Sk (A):

(Sk (A) kB) = ((. . . ((Sk (A) B) B) . . . ) B)


La figura 9.24 illustra i concetti appena discussi.
La prima colonna mostra linsieme originale (in cima) e due erosioni tramite lo SE B. Si noti

117
che unulteriore erosione di A porterebbe allinsieme vuoto, quindi in questo caso K = 2.
La seconda colonna mostra lopening degli insiemi della prima colonna tramite B. Questi
risultato sono facilmente comprensibili grazie alla caratterizzazione delloperazione di ope-
ning discussa in relazione alla figura 9.8.
La terza colonna contiene semplicemente le differenze insiemistiche fra la prima e la seconda
colonna.
La quarta colonna contiene due scheletri parziali e il risultato finale. Lo skeleton finale non
solo pi spesso di quanto dovrebbe, ma, ancora pi importante, non connesso. Niente
nelle precedenti formulazioni garantiva la connessione. La morfologia ci fornisce una formu-
lazione elegante in termini di erosioni e opening di un dato insieme, tuttavia, formulazioni
euristiche che vedremo pi avanti sono necessarie se, come spesso il caso, lo skeleton de-
vessere sottile al massimo, connesso e eroso al minimo.
La quinta colonna mostra S0 (A), S1 (A) B e (S2 (A) 2B) = (S2 (A) B) B.
Lultima colonna mostra la ricostruzione dellinsieme A, ovvero lunione degli skeleton sot-
toinsiemi dilatati mostrati nella quinta colonna.

9.5.10 Summary of Morphological Operations on Binary Images

118
9.6 gray-scale morphology

In questa sezione, estenderemo alle immagini in scala di grigi le operazione base di dilata-
zione, erosione, opening e closing. Useremo poi queste operazione per sviluppare alcuni
algoritmi morfologici per immagini in scala di grigi.

Nella discussione che segue, avremo a che fare con funzioni digitali nella forma f(x, y) e
b(x, y), dove f(x, y) unimmagine in scala di grigi e b(x, y) uno structuring element. Si
assume che queste funzioni sono discrete come introdotto nel capitolo 2. Ovvero, se Z denota
linsieme dei reali interi, allora le coordinate (x, y) sono interi dal prodotto cartesiano Z2 e f
e b sono funzioni che assegnano un valore di intensit (numero reale) a ogni distinta coppia
di coordinate (x, y). Se anche i livelli di intensit sono interi, allora Z sostituisce R.

Gli structuring element nella morfologia in scala di girigi forniscono la stessa funzione di
base delle corrispondenti versioni binarie: sono usate come sonde per esaminare una data
immagine riguardo specifiche propriet. Esistono due diversi categorie: piatti e non piatti.
A causa di una serie di difficolt che vedremo fra poco, gli SE in scala di grigi sono usati
poco di frequente nella pratica.
Come nel caso binario, lorigine degli SE devessere chiaramente identificato: se non espli-
citamente detto, tutti gli esempi di questa sezione sono basati su SE piatti e simmetrici di
altezza unitaria la cui origine nel centro.

119
La riflessione di un SE in scala di grigi definita come nella sezione 9.1 e da ora la indicheremo
y) = b(x, y).
con b(x,

9.6.1 Erosion and Dilation

Lerosione di f tramite uno SE piatto b in ogni posizione (x, y) definita come il valore minimo
dellimmagine nella regione coincidente con b quando lorigine di b in (x, y). In forma di
equazione, lerosione in (x, y) di unimmagine f tramite uno SE b data da

[f b](x, y) = min {f(x + s, y + t)}


(s,t)b

dove x e y sono incrementati per tutti i valori richiesti in modo che lorigine di b visiti ogni
pixel in f. Lerosione in ogni posizione determinata selezionando il valore minimo di f
fra tutti i valori di f contenuti nella regione coincidente con b. Per esempio, se b uno SE
quadrato di dimensioni 3 3, ottenere lerosione in un punto richiede di trovare il minimo
dei 9 valori di f contenuti nella regione 3 3 definita da b quando la sua origine in quel
punto.

Similmente, la dilatazione di f tramite uno SE piatto b in ogni posizione (x, y) definita


come il valore massimo dellimmagine nella regione coincidente con b quando lorigine di b
in (x, y). Ovvero,

[f b](x, y) = max {f(x s, y t)}


(s,t)b

y) = b(x, y). Il funzionamento il medesimo per


dove abbiamo usato il fatto che b(x,
lequazione dellerosione prendendo per il massimo invece che il minimo.

Siccome lerosione in scala di grigi con uno SE piatto calcola il minimo valore di intensit di
f in ogni neighborhood di (x, y) coincidente con b, ci aspettiamo che unimmagine erosa sia
pi scura delloriginale, che le dimensioni (rispetto allo SE) delle zone chiare siano ridotte e
che le dimensioni delle zone scure vengano incrementate. La figura 9.35 (b) mostra lerosione
della figura (a) con uno SE a disco piatto, di raggio 2 pixel e di altezza unitaria. Notiamo
chiaramente che successo quello che ci aspettavamo. La figura (c) mostra la dilatazione
della figura (a) con lo stesso SE: gli effetti sono opposti allerosione, lo sfondo dellimmagine

120
leggermente pi chiara, i dettagli chiari si sono ispessiti e i dettagli scuri assottigliati.

Gli SE non piatti hanno valori in scala di grigi che variano sul loro dominio di definizione.
Lerosione di unimmagine f con uno SE non piatto bN definita come

[f bN ](x, y) = min {f(x + s, y + t) bN (s, t)}


(s,t)bN

Sottraiamo valori da f per determinare lerosione in ogni punto. Questo significa che, a dif-
ferenza di prima, lerosione usando uno SE non piatti non limitata nei valori di f e questo
potrebbe portare a dei problemi nella interpretazione dei risultati. Gli SE in scala di grigi
sono usati raramente per questo motivo nella pratica, inoltre alle potenziali difficolt nel sce-
gliere elementi significativi per bN e la complessit computazionale maggiore.

In maniera simile definita la dilatazione usando SE non piatti:

[f bN ](x, y) = max {f(x s, y t) + bN (s, t)}


(s,t)bN

Valgono gli stessi commenti dellerosione.

Come nel caso binario, lerosione e la dilatazione sono duali rispetto al complemento e la
riflessione di funzione:

(f b)c (x, y) = (fc b)(x,


y)
dove fc = f(x, y) e b = b(x, y). La stessa espressione vale per gli SE non piatti. Per
semplicit da ora ometteremo largomento delle funzioni, quindi

(f b)c = (fc b)

Analogamente

(f b)c = (fc b)

Lerosione e la dilatazione da sole non sono particolarmente utili nellelaborazione delle


immagini in scala di grigi. Come le loro controparti binarie, queste operazioni diventano
particolarmente potenti quando usate in combinazione per derivare algoritmi ad alto livello,
come vedremo fra breve.

9.6.2 Opening and Closing

Le espressioni per lopening e il closing nelle immagini a scala di grigi hanno la stessa forma
delle corrispondenti versioni binarie.
Lopening di unimmagine f con uno SE b, indicato con f b,

f b =, (f b) b

Come prima, lopening semplicemente lerosione di f con b seguita dalla dilatazione del
risultato con b.

Analogamente, il closing di f con b, indicato con f b,

f b =, (f b) b

Queste due operazioni sono duali rispetto al complemento e alla riflessione degli SE:

(f b)c = (fc b)

e

(f b)c = (fc b)

Lopening e il closing delle immagini hanno una semplice interpretazione geometrica. Sup-
poniamo che una funzione immagine f(x, y) sia visualizzata come una superficie 3D, ovvero
i suoi valori di intensit sono interpretati come valori di altezza sopra al piano xy. Allora

121
lopening di f con b pu essere interpretato geometricamente come se spingessimo lo SE dal
basso contro la superficie interna inferiore di f. In ogni posizione dellorigine di b, lopening
il pi alto valore raggiunto da ogni parte di b mentre viene spinta contro la sotto-superficie
di f. Lopening completa allora linsieme di tutti quei valori ottenuti facendo visitare ogni
coordinata (x, y) di f dallorigine di b. La figura 9.36 illustra questo concetto in una dimen-
sione, come se fosse il profilo di intensit lungo una singola riga dellimmagine. In generale,
lopening utilizzato per rimuovere piccoli dettagli chiari, mentre non modifica i livelli di
intensit generali e lascia relativamente inalterati elementi chiari pi grandi.

La figura 9.36 (d) illustra il meccanismo del closing. Lo SE spinto verso il basso sulla su-
perficie superiore della curva mentre trasla lungo tutte le coordinate e il closing completo
costruito trovando i valori pi bassi raggiunti da ogni parte dello SE man mano che scivola
contro la parte superiore della curva.

Loperazione di opening in scala di grigi soddisfa le seguenti propriet:


1. f b f

2. se f1 f2 , allora (f1 b) (f2 b)

3. (f b) b = f b
La notazione e r usata per indicare che il dominio di e un sottoinsieme del dominio di
r e anche che e(x, y) r(x, y) per ogni (x, y) nel dominio di e.

Analogamente, loperazione di closing in scala di grigi soddisfa le seguenti propriet:


1. f f b

2. se f1 f2 , allora (f1 b) (f2 b)

3. (f b) b = f b

La figura 9.37 estende al 2D ci che avevamo illustrato con la figura 9.36 in 1D.

122
9.6.3 Some Basic Gray-Scale Morphological Algorithms

Morphological Smoothing
Siccome lopening rimuove dettagli chiari pi piccoli dello SE scelto, e il closing rimuove i
dettagli scuri, queste operazioni sono usate spesso in combinazione come filtri morfologici per
lo smoothing e la rimozione di rumore.

Prendiamo in considerazione limmagine di figura 9.38 (a). Supponiamo che la regione chia-
ra centrale sia loggetto del nostro interesse e che le componenti pi piccole siano rumore.
Lobiettivo rimuovere il rumore. La figura (b) mostra il risultato dellapplicazione dello-
pening dellimmagine originale con uno SE a disco piatto di raggio 2 e la successiva closing
del risultato con uno SE della stessa dimensione. Le figure (c) e (d) mostrano il risultato del-
lesecuzione della medesima operazione, ma con SE a disco di raggio 3 e 5 rispettivamente.
Come ci aspettavamo, questa sequenza mostra una progressiva rimozione delle componenti
piccole man mano che il raggio dello SE cresce.

Morphological gradient
La dilatazione e lerosione possono essere usate in combinazione con la sottrazione fra
immagini per ottenere il gradiente morfologico di unimmagine , indicato con g, dove

g = (f b) (f b)
La dilatazione ispessisce le regioni in unimmagine e lerosione le restringe. La loro diffe-
renza enfatizza i contorni fra le regioni. Le aree omogenee non vengono interessate (finch lo
SE relativamente piccolo) quindi la sottrazione tende a eliminarle. Il risultato netto unim-
magine in cui i bordi sono enfatizzati e i contributi delle aree omogenee sono soppressi,
dunque un effetto simil-derivata (gradiente).

123
Top-hat and bottom-hat transformations
La combinazione fra la sottrazione di immagini e le operazioni di opening e closing portano
alle cosiddette trasformazioni top-hat and bottom-hat.
La top-hat transformation di unimmagine in scala di grigi f definita come f meno la sua
opening:

That (f) = f (f b)

Analogamente, la bottom-hat transformation di f definita come la closing di f meno f stessa:

Bhat (f) = (f b) f

Una delle principali applicazioni di queste trasformazioni la rimozione di oggetti da unim-


magine usando uno SE nelloperazione di opening o closing che sia di dimensioni maggiori
delloggetto da rimuovere. Loperazione di differenza quindi produrr unimmagine in cui
rimane solo la componente rimossa. La trasformazione top-hat usata per oggetti chiari su
sfondi scuri, la trasformazione bottom-hat per oggeti scuri su sfondi chiari.

Un importante uso della trasformazione top-hat riguarda la correzione degli effetti di unil-
luminazione non uniforme. Vedremo nel prossimo capitolo che unilluminazione corretta e
uniforme gioca un ruolo essenziale nel processo di estrazione di un oggetto dallo sfondo.
Questo processo, detto segmentation, uno dei primi passi eseguiti nellanalisi automati-
ca delle immagini. Un approccio comunemente usato alla segmentazione applicare una
trasformazione threshold allimmagine di input.

Consideriamo la figura 9.40 (a), che mostra unimmagine 600 600 di chicchi di riso. Que-
stimmagine stata ottenuta con unilluminazione non uniforme, come evidente dalla zona
pi scura in basso e a destra. La figura (b) mostra il risultato del thresholding. Il risultato net-
to di illuminazione non uniforme stato causare errori di segmentazione nellarea pi scura
(alcuni chicchi di riso non sono stati estratti dallo sfondo), mentre nella parte pi chiara in
alto a sinistra parti dello sfondo sono stata erroneamente classificate. La figura (c) mostra
lopening dellimmagine con uno SE a disco di raggio 40. Questo SE grande abbastanza
da non entrare (fit) in nessun degli oggetti. Come risultato, tutti gli oggetti sono eliminati
e viene lasciata solo unapprossimazione dello sfondo. Il pattern di ombreggiature chiaro
in questa immagine. Sottraendo questimmagine dalloriginale (top-hat transformation), lo
sfondo dovrebbe divenire maggiormente uniforme. Questo infatti il caso, come mostra la
figura (d). Lo sfondo non perfettamente uniforme, ma le differenze fra le parti chiare e scu-
re sono minori ed sufficiente per ottenere una segmentazione corretta in cui tutti i chicchi
di risono vengono rilevati, come mostra limmagine (e).

124
Granulometry
Nellelaborazione delle immagini la granulometria il campo che ha a che fare con lo studio
delle distribuzioni di particles (particelle/grani) in unimmagine. Nella pratica, le particelle
raramente sono separate ordinatamente, il che fa s che contarle individuandole singolar-
mente un compito difficile. La morfologia pu essere usata per stimare le dimensioni della
distribuzione delle particelle indirettamente, senza dover identificare e misurare ogni parti-
cella nellimmagine.

Lapproccio teoricamente semplice: con particelle che hanno forme regolari pi chiare
rispetto allo sfondo, il metodo consiste nellapplicare operazioni di opening con structured
elements di dimensioni crescenti. Lidea di base che lopening di una particolare dimensio-
ne dovrebbe avere la maggior parte del suo effetto sulle regioni dellimmagine in input che
contengono particelle di dimensione simile. Per ogni opening, viene calcolata la somma dei
valori dei pixel nellopening. Questa somma, a volte chiamata surface area, decresce al cresce-
re delle dimensioni delle SE poich, come visto, gli opening fanno diminuire lintensit degli
elementi pi chiari. Questa procedura produce un array 1D di tali numeri, con ogni elemen-
to nellarray pari alla somma dei pixel nellopening con SE di dimensione corrispondente a
quella posizione nellarray. Per enfatizzare le variazioni fra successive opening, calcoliamo
la differenza fra elementi adiacenti dellarray 1D. Per visualizzare i risultati, le differenze
vengono plottate. I picchi nelle curve sono indicazioni delle predominanti distribuzioni
dimensionali (size distributions) delle particelle nellimmagine.

Limmagine 9.41 (a) mostra una serie di tasselli di legno di due dimensioni predominanti. Le
venature del legno probabile che porterebbero a variazione negli opening, quindi sensato
pre-processare limmagine applicando lo smoothing morfologico (SE a disco di raggio 5) per
eliminarle e ottenere la figura (b). Dalla figura (c) alla (f) sono mostrati esempi di opening
con dischi di raggio 10, 20, 25 e 30. Gi nella (d) notiamo come il contributo di intensit
dovuto ai tasselli piccoli sia quasi del tutto svanito. Nella (e) notiamo che il tassello grande
in alto a destra pi scuro degli altri a causa delle sue dimensioni minori: questa potrebbe
essere uninformazione utile se stiamo cercando di individuare tasselli difettosi.

125
La figura 9.42 mostra il grafico dellarray delle differenze. Come ci aspettavamo, i due picchi
in corrispondenza delle dimensioni dei raggi degli SE larghi abbastanza per individuare un
insieme di particelle dello stesso diametro approssimativamente, ci indicano la presenza di
due predominanti dimensioni degli oggetti nellimmagine.

Textural segmentation

La figura 9.43 (a) mostra unimmagine rumorosa di macchie scure sopra uno sfondo chiaro.
Limmagine ha due regioni con texture differenti: una regione composta da macchie grandi
sulla destra e una regione a sinistra costituita da macchie pi piccole. Lobiettivo trovare
un contorno/confine fra le due regioni basandoci sulle loro texture. Come detto prima, il
processo di suddivisione di unimmagine in regioni diverse detto segmentation, argomento
del capitolo successivo.

Gli oggetti di interessi sono pi scuri dello sfondo e sappiamo se applichiamo il closing
con uno structuring element maggiore delle piccole macchie, esse saranno rimosse. Il risul-
tato nella figura (b), ottenuto applicando il closing nellimmagine di input usando un disco
di raggio 30 pixel, mostra che in effetti questo il caso (le macchie piccole sono di circa
25 pixel). Quindi, a questo punto, abbiamo unimmagine con grandi macchie scuri su uno
sfondo chiaro. Se applichiamo ora lopening con uno SE grande rispetto alla separazione fra
queste macchie, il risultato netto sar unimmagine in cui le zone chiare fra le macchie sono
state rimosse, lasciando le macchie scure e zone ugualmente scure fra di loro. La figura (c)
mostra il risultato ottenuto usando un disco di raggio 60.

Se eseguiamo il gradiente morfologico su questultima immagine con, per esempio, uno


SE 3 3 di 1, potremo ottenere il confine fra le due regioni, come mostrato nellimmagine (d)
dove abbiamo sovrapposto il risultato del gradiente sullimmagine originale. Tutti i pixel a
destra del confine appartengono alla regione con le macchie grandi, mentre i pixel a sinistra
a la regione con le macchie piccole. utile confrontare questimmagine con limmagine 9.36.

126

Anda mungkin juga menyukai