PRELUCRAREA ¸ SI ANALIZA IMAGINILOR

Constantin VERTAN
{1999}
Cuprins
1 INTRODUCERE 6
1.1 Imagini digitale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Structura unui sistem de prelucrarea ¸si analiza imaginilor . . . . . . . . . 9
1.3 Stocarea imaginilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1 Stocarea imaginilor în memorie . . . . . . . . . . . . . . . . . . . 13
1.3.2 Stocarea imaginilor în fi¸siere . . . . . . . . . . . . . . . . . . . . . 14
2 TEHNICI DE ÎMBUN
˘
AT
˘
A¸ TIRE A IMAGINILOR 17
2.1 Opera¸tii punctuale de modificare a contrastului . . . . . . . . . . . . . . 18
2.1.1 Modificarea liniar˘ a a contrastului . . . . . . . . . . . . . . . . . . 19
2.1.2 Modificarea neliniar˘ a a contrastului . . . . . . . . . . . . . . . . . 23
2.2 Pseudocolorarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Opera¸tii de contrastare bazate pe histograma imaginii . . . . . . . . . . . 26
3 FILTRAREA LINIAR
˘
A A IMAGINILOR 31
3.1 Filtrarea liniar˘ a de netezire . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Filtrarea liniar˘ a de contrastare . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Filtrarea liniar˘ a adaptiv˘ a . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 TRANSFORM
˘
ARI INTEGRALE UNITARE DISCRETE 42
2
4.1 Generalit˘ a¸ti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Propriet˘ a¸tile transformatelor unitare unidimensionale . . . . . . . . . . . 44
4.3 Transformata Fourier discret˘ a . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 Propriet˘ a¸tile fundamentale ale transformatei Fourier . . . . . . . . 46
4.3.2 Transformata Fourier rapid˘ a . . . . . . . . . . . . . . . . . . . . . 49
4.4 Alte transform˘ ari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4.1 Transformata cosinus . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4.2 Transformata sinus . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5 FILTRAREA NELINIAR
˘
A A IMAGINILOR 56
5.1 Filtrarea de ordine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1.1 Filtrul median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.2 Filtrele de ordine ponderate ¸si structurile multietaj . . . . . . . . 62
5.2 Filtre de ordine de domeniu . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3 L-filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Aspecte de implementare . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6 ELEMENTE DE MORFOLOGIE MATEMATIC
˘
A 71
6.1 Transform˘ ari morfologice de baz˘ a . . . . . . . . . . . . . . . . . . . . . . 72
6.1.1 Transformarea Hit or Miss . . . . . . . . . . . . . . . . . . . . . . 72
6.1.2 Erodarea morfologic˘ a . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.3 Dilatarea morfologic˘ a . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.4 Propriet˘ a¸tile erod˘ arii ¸si dilat˘ arii . . . . . . . . . . . . . . . . . . . 77
6.1.5 Aspecte de implementare . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 Transform˘ ari morfologice derivate . . . . . . . . . . . . . . . . . . . . . . 85
6.2.1 Deschiderea ¸si închiderea . . . . . . . . . . . . . . . . . . . . . . . 85
3
6.2.2 Filtrele alternate secven¸tial . . . . . . . . . . . . . . . . . . . . . 88
6.2.3 Operatori morfologici de contur . . . . . . . . . . . . . . . . . . . 88
6.3 Extinderea morfologiei matematice la nivele de gri . . . . . . . . . . . . . 89
7 METODE DE COMPRESIE A IMAGINILOR 92
7.1 Compresia imaginilor binare . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.1.1 Codarea entropic˘ a (Huffman) . . . . . . . . . . . . . . . . . . . . 93
7.1.2 Codarea pe flux de bi¸ti . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2 Compresia imaginilor cu nivele de gri . . . . . . . . . . . . . . . . . . . . 99
7.2.1 Codarea predictiv˘ a . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.2.2 Compresia imaginilor cu transformate . . . . . . . . . . . . . . . . 101
7.2.3 Codarea cu arbori cuaternari . . . . . . . . . . . . . . . . . . . . 102
7.2.4 Cuantizarea vectorial˘ a . . . . . . . . . . . . . . . . . . . . . . . . 105
8 SEGMENTAREA IMAGINILOR 110
8.1 Segmentarea orientat˘ a pe regiuni . . . . . . . . . . . . . . . . . . . . . . 111
8.1.1 Segmentarea bazat˘ a pe histogram˘ a . . . . . . . . . . . . . . . . . 111
8.1.2 Cre¸sterea ¸si fuziunea regiunilor . . . . . . . . . . . . . . . . . . . 119
8.2 Segmentarea orientat˘ a pe contururi . . . . . . . . . . . . . . . . . . . . . 123
8.2.1 Metode derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2.2 Alte metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9 PARAMETRI DE FORM
˘
A 130
9.1 Parametri geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.2 Momente statistice ¸si invarian¸ti . . . . . . . . . . . . . . . . . . . . . . . 131
9.3 Semn˘ atura formei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4
9.4 Skeletoane morfologice ¸si generalizate . . . . . . . . . . . . . . . . . . . . 135
9.4.1 Skeletonul morfologic . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.4.2 Skeletonul generalizat . . . . . . . . . . . . . . . . . . . . . . . . . 137
10 PRINCIPII DE IMPLEMENTARE SOFTWARE ¸ SI HARDWARE 139
5
Capitolul 1
INTRODUCERE
Prelucrarea ¸si analiza imaginilor (numit˘ a adeseori prescurtat doar prelucrarea imaginilor)
s-a n˘ ascut datorit˘ a ideii ¸si necesit˘ a¸tii de a înlocui observatorul uman printr-o ma¸sin˘ a. Este
important de precizat c˘ a analiza imaginilor a mers mai departe decât simpla înlocuire
a observatorului uman, deoarece au ap˘ arut solu¸tii novatoare pentru probleme cu care
acesta nu mai fusese confruntat - ca în cazul imaginilor non-vizibile (imagini acustice,
ultrasonore, radar). Dup˘ a cum se remarc˘ a în [9], prelucrarea imaginilor înglobeaz˘ a posi-
bilitatea de a dezvolta ma¸sina total˘ a de viziune, capabil˘ a s˘ a realizeze func¸tiile vizuale ale
oric˘ arei vie¸tuitoare (desigur, dup˘ a realizarea a importante dezvolt˘ ari teoretice ¸si tehno-
logice).
“Image processing holds the possibility of developing the ultimate machine
that could perform the visual functions of all living beings”.
Trebuie remarcat˘ a terminologia anglo-saxon˘ a (original˘ a), în care disciplina este denumit˘ a
Digital Image Processing, deci prelucrarea digital˘ a a imaginilor. Prin prelucrarea digital˘ a
a imaginilor se în¸telege prelucrarea pe un calculator digital a unor date bidimensionale
(imagini). Termenul cheie este cuvântul digital, înlocuit adesea în mod eronat în multe
traduceri române¸sti cu termenul de numeric. Dup˘ a cum o arat˘ a dic¸tionarul limbii române
moderne, defini¸tia cuvântului numeric este aceea de
“care apar¸tine numerelor, privitor la numere, exprimat prin numere”.
Rezultatul oric˘ arui calcul este numeric. Termenul digital înseamn˘ a îns˘ a
“ceea ce este referitor la reprezentarea informa¸tiei discrete în calculatoare”
6
Deci atâta vreme cât accept˘ am ideea c˘ a unealta de lucru în prelucrarea imaginilor este
calculatorul, ¸si acesta la rândul s˘ au este digital, atunci ¸si prelucrarea este la rândul ei
digital˘ a, ca un caz particular al oric˘ arei prelucr˘ ari numerice. Desigur c˘ a exist˘ a îns˘ a ¸si
prelucr˘ ari de imagini care sunt analogice - a¸sa cum sunt toate prelucr˘ arile ce au loc în
cadrul lan¸tului de transmisie ¸si recep¸tie a imaginii standard de televiziune.
1.1 Imagini digitale
La început, imaginile sunt semnale, dar nu func¸tii temporale, ci func¸tii definite pe un
domeniu spa¸tial. Orice imagine este o structur˘ a bidimensional˘ a (tablou, matrice) de date.
Un element al imagini se nume¸ste pixel (cuvânt preluat din englez˘ a, unde provine de la
picture element). Aceste date pot fi numere naturale, reale sau complexe, reprezentate
îns˘ a pe un num˘ ar finit de bi¸ti. Dup˘ a tipul datelor din acest˘ a structur˘ a bidimensional˘ a,
imaginile prelucrate pot fi împ˘ ar¸tite în mai multe categorii:
• imagini scalare, în care fiecare component˘ a este un scalar (un unic num˘ ar); ca
exemple de astfel de imagini se pot da imaginile monocrome (în care punctele au
doar dou˘ a valori posibile, ce corespund unui con¸tinut binar al imaginii, în general
alb-negru) ¸si imaginile cu nivele de gri (de tipul imaginii de luminan¸t˘ a de pe ecranele
televizoarelor alb-negru).
• imagini vectoriale, în care fiecare component˘ a este un vector de numere; cazul
particular cel mai de interes este acela al imaginilor color, în care vectorul are trei
elemente (ce corespund celor trei constituente de baz˘ a ale oric˘ arei culori); în general,
pentru imaginile multicomponent˘ a, vectorul asociat fiec˘ arui punct din imagine are
mai multe elemente (caz ce corespunde imaginilor preluate în mai multe benzi
de frecven¸t˘ a, a¸sa cum sunt imaginile de teledetec¸tie ale sateli¸tilor, imaginile de
termodetec¸tie în benzile de infraro¸su,...). Tot în categoria imaginilor vectoriale
intr˘ a îns˘ a ¸si imaginile stereo (o pereche de imagini ale aceleia¸si scene, luate din
unghiuri diferite) ¸si secven¸tele de imagini.
Conform datelor prezentate în [11], dintre imaginile prelucrate în aplica¸tii func¸tionale,
20 % sunt alb-negru, 32 % sunt cu nivele de gri, 20 % sunt color, 10 % sunt imagini
stereoscopice ¸si 18 % sunt secven¸te de imagini.
În mod clasic, valoarea unui element al unei imagini este o m˘ asur˘ a a intensit˘ a¸tii luminoase
în punctul considerat; acesta nu este îns˘ a decât un caz particular. Dup˘ a natura lor,
imaginile pot fi clasificate ca imagini abstracte, imagini non-vizibile ¸si imagini vizibile [2].
Imaginile abstracte sau modelele sunt de fapt func¸tii [matematice], continue sau discrete,
de dou˘ a variabile. Imaginile non-vizibile, care, evident, nu pot fi percepute în mod direct
de ochiul uman, sunt de fapt achizi¸tii ale unor câmpuri bidimensionale de parametri fizici
7
(presiune, temperatur˘ a, presiune, densitate, ...). În fine, imaginile ce pot fi percepute
în mod direct de c˘ atre ochiul uman (deci imaginile vizibile) sunt la rândul lor imagini
optice, generate ca distribu¸tii de intensitate luminoas˘ a (a¸sa ca hologramele, imaginile
de interferen¸t˘ a ¸si difrac¸tie) sau imagini propriu-zise (de luminan¸t˘ a - în sensul curent al
termenului, ce se refer˘ a la fotografii, desene, picturi, schi¸te, scheme ¸si altele din aceea¸si
categorie).
O alt˘ a împ˘ ar¸tire a imaginilor scalare se poate face dup˘ a semnifica¸tia ce se d˘ a valorii
numerice a pixelilor. Vom distinge astfel imagini de intensitate ¸si imagini indexate. O
imagine de intensitate este o imagine în care valoarea fiec˘ arui pixel este o m˘ asur˘ a direct˘ a
a intensit˘ a¸tii luminoase sau a m˘ arimii fizice preluate de senzor, ca de exemplu în imaginile
cu nivele de gri. Pixelii unei imagini de intensitate pot avea orice fel de valori: reale sau
naturale (depinzând dac˘ a imaginea este sau nu cuantizat˘ a).
O imagine indexat˘ a este acea imagine în care valoarea fiec˘ arui pixel este un indice prin care
se reg˘ ase¸ste informa¸tia de culoare asociat˘ a pixelului respectiv. Deci, pentru afi¸sarea sau
reprezentarea unei imagini indexate este necesar˘ a o informa¸tie suplimentar˘ a, de asociere
între indici ¸si culori. Aceast˘ a asociere se face prin intermediul tabelei de culoare. Tabela
de culoare este o matrice în care fiecare linie con¸tine descrierea unei culori (deci cele
trei componente ce definesc culoarea - în mod tipic intensit˘ a¸tile relative de ro¸su, verde
¸si albastru ce compun culoarea dat˘ a printr-un amestec aditiv). Deci tabela de culoare
are trei coloane; num˘ arul de linii al tabelei de culoare este egal cu num˘ arul de culori
din imaginea reprezentat˘ a ¸si este în mod tipic o putere a lui doi (16, 256, ...). Indicele
(valoarea pixelului) va fi num˘ arul de ordine al liniei din tabela de culoare pe care se
g˘ ase¸ste descrierea culorii. Este evident c˘ a valorile pixelilor unei imagini indexate nu pot
fi decât numere naturale (deoarece sunt indici într-o matrice).
Aceast˘ a tehnic˘ a este folosit˘ a ¸si în grafica pe calculator. Afi¸sarea imaginilor pe ecranul
monitorului se face corespunz˘ ator unui anumit mod grafic, determinat din placa video
a calculatorului. Un mod video define¸ste num˘ arul maxim de culori ce pot fi utilizate
simultan ¸si dimensiunile ecranului (în pixeli de afi¸saj). Culorile utilizate la un moment
dat sunt grupate într-o palet˘ a de culori de afi¸sare. Paleta de afi¸sare este o structur˘ a logic˘ a
definit˘ a în BGI
1
(Borland Graphics Interface), pentru programare în sesiuni de tip DOS,
ca:
struct palettetype {
unsigned char size;
int colors[MAXCOLORS+1]; }
Modificarea unei culori din palet˘ a (o intrare a tabelului) se face cu:
void far setpalette(int index_culoare, int culoare);
1
Exemplele de cod C prezentate în lucrare corespund mediilor integrate Borland (Borland C++ 3.1,
Turbo C 2.0)
8
Afi¸sarea unui pixel cu o anumit˘ a culoare se face cu:
putpixel(int pozx, int pozy, int index_culoare);
Sub Windows, este suportat˘ a ¸si specificarea direct˘ a a culorii de afi¸sat (sub forma unui
triplet RGB
2
), sistemul de operare aproximând culoarea respectiv˘ a cu cea mai apropiat˘ a
culoare disponibil˘ a din paleta de lucru curent˘ a (în acest fel, utilizatorul poate neglija
existen¸ta acesteia).
Pentru o imagine cu nivele de gri, componentele de ro¸su, verde ¸si albastru ale fiec˘ arei
culori din paleta de culoare sunt identice. Dac˘ a specificarea componentelor de culoare se
face prin numere de 8 bi¸ti (deci între 0 ¸si 255, adic˘ a cazul cel mai des folosit), tabela de
culoare va avea 256 de culori (tonuri de gri) diferite. Specificarea acestora se va face cu
indec¸si între 0 ¸si 255, aloca¸ti conform conven¸tiei 0 - negru, 255 - alb. În acest fel, pentru
o imagine indexat˘ a cu nivele de gri, nu mai este necesar˘ a specificarea tabelei de culoare;
culorii reprezentate de indexul i îi corespunde nivelul de gri i, adic˘ a tripletul RGB (i, i, i).
Modelul imagini indexate este un caz particular de folosire a tehnicii dic¸tionar (sau
tehnicii tabelului de echivalen¸t˘ a - Look Up Table - LUT): o tehnic˘ a de reg˘ asire a unei
cantit˘ a¸ti de informa¸tie folosind asocierea unei chei de c˘ autare mult mai mici.
1.2 Structura unui sistem de prelucrarea ¸si analiza
imaginilor
Structura tipic˘ a a unui sistem de prelucrarea (evident digital˘ a) ¸si analiza imaginilor este
alc˘ atuit˘ a din punct de vedere func¸tional dintr-un num˘ ar mic de blocuri (vezi figura 1.1):
• sistemul de formare a imaginii (de exemplu sistemul de lentile al camerelor de
luat vederi): strânge radia¸tia electromagnetic˘ a a obiectului studiat pentru a forma
imaginea tr˘ as˘ aturilor de interes
• convertorul de radi¸tie: converte¸ste radia¸tia electromagnetic˘ a din planul imaginii
într-un semnal electric.
Sistemul de formare a imaginii ¸si convertorul de radia¸tie formeaz˘ a senzorul; acesta reali-
zeaz˘ a o proiec¸tie plan˘ a (bidimensional˘ a) a scenei reale (care este în general tridimensio-
nal˘ a). Un studiu realizat în Germania în anul 1996 [11] prin inventarierea sistemelor de
2
Red Green Blue - Ro¸su, Verde, Albastru: sistemul primar de reprezentare a culorilor.
9
Fig. 1.1: Schema general˘ a a unui sistem de analiza ¸si prelucrarea imaginilor
preluare a imaginilor folosite în industrie indic˘ a o distribu¸tie a tipurilor de senzori dup˘ a
gama de radia¸tie captat˘ a conform tabelului 1.1:
Domeniu Infraro¸su Infraro¸su Vizibil Ultraviolet Radar Radia¸tie
electromagnetic dep˘ artat apropiat (microunde) X
Procent 5 % 25 % 40 % 10 % 10 % 10 %
Tabel 1.1: Tipuri de senzori folosi¸ti în prelucrarea imaginilor
• sistemul de achizi¸tie (echivalent unui frame-grabber sau video-blaster): converte¸ste
semnalul electric al senzorului într-o imagine digital˘ a, pe care o stochez˘ a; acesta nu
este altceva decât un dispozitiv de e¸santionare (discretizare a suportului imaginii)
¸si cuantizare (discretizare a domeniului de valori a imaginii).
• sistemul de prelucrare (în mod tipic un calculator, fie el PC sau sta¸tie de lucru); în
aceast˘ a categorie se încadreaz˘ a îns˘ a ¸si ma¸sinile specializate de calcul, calculatoarele
de proces, ...
• software-ul specializat: implementeaz˘ a algoritmii de prelucrare ¸si analiz˘ a
În [11] se arat˘ a c˘ a unitatea de prelucrarea hardware (deci calculatorul) folosit˘ a la apli-
ca¸tiile de prelucrarea imaginilor func¸tionale la acea dat˘ a este în cea mai mare majoritate
a cazurilor un PC obi¸snuit, cu performan¸te standard; datele sunt sintetizate în tabelul
1.2:
10
Platform˘ a hardware Procent din pia¸t˘ a
PC standard, bus ISA, Windows 3.1, 95, NT 40 %
Calculatoare industriale (procesoare Intel), bus VME 15 %
PC standard cu acceleratoare specializate, bus VLB, PCI 15 %
Sta¸tii de lucru (workstations) 10 %
Ma¸sini specializate 10 %
Calculatoare Macintosh, calculatoare paralele (transputere), altele 10 %
Tabel 1.2: Unit˘ a¸ti de calcul folosite în prelucrarea imaginilor
Sistemul software specializat care este responsabil cu realizarea efectiv˘ a a unei sarcini con-
crete poate fi descompus în mai multe module, nu neap˘ arat bine separate ¸si nu neap˘ arat
prezente împreun˘ a: îmbun˘ at˘ a¸tirea, restaurarea, compresia, segmentarea ¸si analiza [9].
Blocul de îmbun˘ at˘ a¸tire a imaginilor are ca scop accentuarea anumitor tr˘ as˘ aturi [ale
obiectelor con¸tinute în imagine] pentru u¸surarea unor sarcini ulterioare de analiz˘ a au-
tomat˘ a sau interpretare prin afi¸sare. Asemenea metode pot fi utile la extragerea tr˘ as˘ a-
turilor caracteristice ale obiectelor, eliminarea zgomotelor suprapuse imaginii, m˘ arirea
confortului vizual. Ace¸sti algoritmi nu m˘ aresc con¸tinutul informa¸tional al imaginii ¸si
sunt în general interactivi ¸si puternic dependen¸ti de aplica¸tie.
Restaurarea imaginilor se refer˘ a la eliminarea sau minimizarea efectelor unor perturba¸tii
¸si a unor degrad˘ ari. Perturba¸tiile reprezint˘ a în general zgomotele (modelate ca procese
aleatoare) ce se suprapun în cursul achizi¸tiei imaginii (din cauza senzorului ¸si a lan¸tului
de transmisiune ¸si captare); degrad˘ arile sunt cauzate de imperfec¸tiunile ¸si limit˘ arile de-
terministe ale senzorului (efecte de apertur˘ a, timp de expunere, deficien¸te geometrice ale
sistemului de lentile, ...).
Compresia imaginilor se refer˘ a la reducerea volumului de date (num˘ arului de bi¸ti) cu
care este reprezentat˘ a imaginea, printr-o transformare reversibil˘ a - imaginea trebuie s˘ a
poat˘ a s˘ a fie recuperat˘ a integral (sau cu diferen¸te foarte mici, controlabile) din versiunea
sa comprimat˘ a.
Segmentarea este procesul de descompunere a unei imagini (sau scene) în elementele
(obiectele) sale constituente. Adeseori, segmentarea este strâns legat˘ a de algoritmii de
analiz˘ a, al c˘ aror scop este de a realiza m˘ asur˘ atori cantitative sau evalu˘ ari calitative asupra
unor anumite categorii de obiecte, prezente în imaginea dat˘ a.
Sfera de aplicabilitate a tehnicilor de prelucrarea ¸si analiza imaginilor este deosebit de
larg˘ a; practic, în orice domeniu de activitate se pot g˘ asi numeroase aplica¸tii. Aceast˘ a clas˘ a
de aplica¸tii extrem de specifice a fost caracterizat˘ a drept “consumul imaginii” [1] (ima-
ginea folosit˘ a în vederea analizei, deci a lu˘ arii unor decizii). Imaginile preluate de c˘ atre
sateli¸ti pot fi folosite la descoperirea resurselor terestre, cartografiere geografic˘ a, predic¸tia
recoltelor, urm˘ arirea dezvolt˘ arii urbane, urm˘ arirea vremii, controlul ¸si prevenirea incendi-
11
ilor ¸si inunda¸tiilor, precum ¸si alte aplica¸tii ecologice ¸si militare. Aplica¸tiile transmisiei
¸si compresiei imaginilor se reg˘ asesc în televiziunea digital˘ a, sistemele de teleconferin¸t˘ a,
transmisiile fax, birotic˘ a, comunica¸tia pe re¸tele distribuite, sisteme de securitate cu cir-
cuit închis, aplica¸tii militare. În aplica¸tiile medicale sunt prelucrate radiografiile cu raze
X, angiogramele, echografiile, tomografiile, imaginile de rezonan¸t˘ a magnetic˘ a nuclear˘ a.
Acestea pot fi utilizate pentru monitorizarea pacien¸tilor ¸si pentru descoperirea ¸si identi-
ficarea de boli ¸si tumori.
O larg˘ a clas˘ a de aplica¸tii sunt cele industriale, în care componentele de prelucrarea ¸si
analiza imaginilor sunt folosite în sisteme mai mari de asigurare a calit˘ a¸tii produselor
(metrologie, controlul calit˘ a¸tii - inclusiv defectoscopie nedistructiv˘ a). Solu¸tiile sunt ex-
trem de specifice, puternic legate de procesul de fabrica¸tie urm˘ arit ¸si tind s˘ a devin˘ a din
ce în ce mai utilizate odat˘ a cu impunerea normelor de “calitate total˘ a” ale standardului
ISO9000 (se poate urm˘ ari [10] pentru aplica¸tii specifice ale diferitelor firme germane).
Din acest punct de vedere este interesant˘ a compara¸tia între câteva caracteristici ale sis-
temului vizual ¸si de prelucrare uman ¸si un sistem de prelucrarea ¸si analiza imaginilor [8],
folosite pentru aplica¸tii industriale, prezentat˘ a în tabelul 1.3.
Criterii Om Sistem de prelucrarea imaginilor
Obiectivitate NU DA
Control 100% NU DA
Rat˘ a de eroare MARE MIC
˘
A
Rat˘ a de lucru MIC
˘
A MARE
Rezisten¸t˘ a la oboseal˘ a MIC
˘
A MARE
Iluzie optic˘ a DA NU
Prelucrare statistic˘ a Greu realizabil DA
Reproductibilitate Greu realizabil DA
M˘ asurare geometric˘ a Cu instrumente auxiliare DA
Recunoa¸stere de forme DA DA
Tabel 1.3: Compara¸tia între caracteristici esen¸tiale ale sistemului vizual uman ¸si sistemele
de prelucrarea ¸si analiza imaginilor
1.3 Stocarea imaginilor
Se poate considera c˘ a exist˘ a dou˘ a moduri de stocare a imaginilor: stocarea în memoria
de lucru a unit˘ a¸tii de prelucrare a imaginii de lucru (care este o stocare de scurt˘ a durat˘ a
- doar pe durata prelucr˘ arii efective) ¸si stocarea de lung˘ a durat˘ a imaginilor, în fi¸siere, pe
suporturi externe de memorie (benzi, discuri, etc.). Diferen¸ta esen¸tial˘ a între cele dou˘ a
tipuri de stocare este aceea c˘ a în memorie imaginea va fi reprezentat˘ a complet, în form˘ a
necomprimat˘ a, pentru a permite accesul rapid direct la informa¸tia fiec˘ arui pixel.
12
1.3.1 Stocarea imaginilor în memorie
Principalul limbaj de programare utilizat pentru aplica¸tii cu calcule intensive r˘ amâne înc˘ a
limbajul C (C++). Stocarea imaginilor se va face, evident, prin intermediul unor variabile
ce implementeaz˘ a structuri de date bidimensionale. Ceea ce este deosebit este modul de
declarare a acestora: declararea static˘ a nu este convenabil˘ a din cauza dimensiunilor în
general mari ale imaginilor, ¸si deci este necesar˘ a o declarare dinamic˘ a. Particularitatea
este dat˘ a de memorarea separat˘ a a fiec˘ arei linii (sau coloane) a matricii într-un vector
alocat dinamic, ¸si gruparea adreselor de început a acestora într-un vector de pointeri, la
care se va re¸tine adresa de început (deci un alt pointer). Dac˘ a consider˘ am un tip generic
de date pentru componentele matricii (caracter, sau întreg, sau real), atunci o secven¸t˘ a
C de declarare a unui imagini poate fi:
tip ** imagine;
unsigned int contor;
imagine=(tip**) malloc(nr_linii*sizeof(tip*));
for (contor=0;contor<nr_linii;contor++)
imagine[contor]=(tip*) malloc(nr_coloane*sizeof(tip));
Se remarc˘ a folosirea constantelor nr_linii ¸si nr_coloane (cu semnifica¸tie evident˘ a) ¸si a
tipului generic tip pentru valoarea pixelilor. Linia a 3-a aloc˘ a spa¸tiul pentru un masiv de
pointeri la date de tip pointer; spa¸tiul de memorie necesar (argumentul func¸tiei malloc)
este dat de num˘ arul de pointeri la liniile imaginii ce înmul¸te¸ste dimensiunea unui astfel
de pointer (sizeof(tip*)). Valoarea imagine[contor] este adresa de început a spa¸tiului
de memorie la care încep valorile pixelilor de pe linia contor; ace¸stia sunt stoca¸ti într-
un vector declarat de malloc(nr_coloane*sizeof(tip)). Trebuie remarcat˘ a conversia de
tip (cast) obligatorie ce înso¸te¸ste fiecare alocare de memorie (se ¸stie c˘ a func¸tia malloc
întoarce un pointer la void). De asemenea se observ˘ a c˘ a secven¸ta anterioar˘ a nu face nici
un fel de verificare a succesului opera¸tiei de alocare de memorie (verificarea faptului c˘ a
valoarea returnat˘ a de func¸tia malloc nu este NULL). În mod implicit, la compilare, to¸ti
pixelii (toate valorile matricii imagine) sunt ini¸tializa¸ti cu 0.
Spre deosebire de C, limbajul Matlab
3
aduce mari simplific˘ ari. Exist˘ a un singur tip de
date, reprezentate pe 8 octe¸ti (caracteristic˘ a ce se schimb˘ a începând cu versiunea 5.0, ce
admite valori reale, întregi sau caracter, declarate explicit). Orice variabil˘ a Matlab este
creat˘ a în momentul folosirii sale în membrul stâng al unei expresii (deci nu este necesar˘ a
declararea prealabil˘ a folosirii); orice variabil˘ a este o matrice (scalarul este o matrice de o
linie ¸si o coloan˘ a). Func¸tiile returneaz˘ a matrici. Secven¸ta C anterioar˘ a este echivalent˘ a
cu:
imagine=zeros(nr_linii,nr_coloane);
3
Codurile Matlab prezentate în lucrare corespund versiunii Matlab 4.2c.
13
1.3.2 Stocarea imaginilor în fi¸siere
Un fi¸sier este entitatea logic˘ a de organizare a informa¸tiei înscrise pe mediile magnetice
de stocare ¸si se compune dintr-un ¸sir de octe¸ti. Pentru stocarea imaginii este necesar
ca ace¸sti octe¸ti s˘ a con¸tin˘ a informa¸tia aferent˘ a pixelilor precum ¸si informa¸tie despre tipul
imaginii: dimensiunile acesteia, dac˘ a este sau nu indexat˘ a, dac˘ a are sau nu o tabel˘ a de
culoare ata¸sat˘ a, dac˘ a este sau nu comprimat˘ a ¸si dup˘ a ce metod˘ a. Anumite structuri
de fi¸siere au fost impuse de-a lungul timpului de firme produc˘ atoare de software sau
de organisme de standardizare, c˘ ap˘ atând denumirea de formate de imagini. Formatele
de imagini s-au f˘ acut cunoscute mai ales dup˘ a extensia standard a fi¸sierelor ce con¸tin
imaginile stocate dup˘ a formatul respectiv: BMP, TIF, GIF, PCX, JPG ... . În cele
ce urmeaz˘ a ne vom referi la formatele RAW(cunoscut ¸si ca IMG), unul dintre cele mai
rudimentare formate de fi¸siere imagine, ¸si Windows Bitmap -BMP al firmei Microsoft,
care este unul dintre cele mai larg recunoscute formate de fi¸siere.
Un fi¸sier RAW con¸tine imagini indexate cu nivele de gri, de form˘ a p˘ atrat˘ a. Fi¸sierul nu
are antet (dimensiunile imaginii fiind deduse din dimensiunea fi¸sierului ce o con¸tine) ¸si
nu con¸tine nici tabel de culoare (acesta are toate componentele liniei i egale între ele,
reprezentând griuri). Fiecare pixel al imaginii este codat cu num˘ arul corespunz˘ ator de
bi¸ti (4, 8, etc.); imaginea este baleiat˘ a în ordinea normal˘ a (începând cu prima linie a
imaginii, de la stânga la dreapta).
Un fi¸sier BMP
4
are trei componente consecutive: un antet de fi¸sier (BITMAPFILE-
HEADER), o structur˘ a de informa¸tie a imaginii(BITMAPINFO) ¸si codarea pixelilor.
Antetul de fi¸sier (BITMAPFILEHEADER) con¸tine informa¸tii asupra tipului, dimensiu-
nii ¸si reprezent˘ arii fi¸sierului Bitmap independent de dispozitiv (DIB - Device Independent
Bitmap); semnifica¸tiile componentelor sunt date în tabelul 1.4.
typedef struct tagBITMAPFILEHEADER{
WORD bfType;
DWORD bfType;
WORD bfReserved1;
WORD bfReserved2;
DW bfOffBits;
}BITMAPFILEHEADER;
Structura de informa¸tie a imaginii (BITMAPINFO) con¸tine informa¸tii asupra dimensiu-
nilor ¸si culorilor unui DIB, ¸si este alc˘ atuit˘ a din dou˘ a componente: antetul structurii de
informa¸tii (BITMAPINFOHEADER), a c˘ arui componente sunt descrise în tabelul 1.5 ¸si
tabelul de culoare, format din structuri RGBQUAD.
4
Denumirile componentelor logice ale fi¸sierului sunt cele standardizate de Microsoft.
14
Câmp Descriere
bfType Specific˘ a tipul de fi¸sier; trebuie s˘ a con¸tin˘ a caracterele BM
bfSize Specific˘ a lungimea fi¸sierului în DWORD
bfReserved1 Câmp rezervat, valoare 0
bfReserved2 Câmp rezervat, valoare 0
bfOffBits Specific˘ a deplasamentul în octe¸ti de la sfâr¸stul structurii
BITMAPFILEHEADER pân˘ a la zona din fi¸sier ce con¸tine pixelii coda¸ti
Tabel 1.4: Descrierea câmpurilor structurii BITMAPFILEHEADER
Câmp Descriere
biSize Num˘ arul de octe¸ti ai structurii BITMAPINFOHEADER
biWidth L˘ a¸timea imaginii, în pixeli
biHeight În˘ al¸timea imaginii, în pixeli
biPlanes Num˘ arul de plane de culoare ale dispozitivului de afi¸saj (1)
biBitCount Num˘ arul de bi¸ti cu care se codeaz˘ a un pixel; poate fi 1, 4, 8 sau 24
biCompression Tipul de compresie utilizat˘ a: BI_RGB f˘ ar˘ a compresie, BI_RLE8
sau BI_RLE4 pentru compresie de tip RLE cu cuvinte de respectiv
8 sau 4 bi¸ti
biSizeImage Dimensiunea imaginii în octe¸ti
biXPelsPerMeter Rezolu¸tia pe orizontal˘ a a dispozitivului ¸tint˘ a (în pixeli pe metru)
biYPelsPerMeter Rezolu¸tia pe vertical˘ a a dispozitivului ¸tint˘ a (în pixeli pe metru)
biClrUsed Num˘ arul de culori utilizate în imagine; dac˘ a este 0, imaginea
folose¸ste toate culorile disponibile ale paletei
biClrImportant Num˘ arul de culori considerate importante; dac˘ a este 0, toate
culorile sunt luate în considerare
Tabel 1.5: Descrierea câmpurilor structurii BITMAPINFOHEADER
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
DWORD biWidth;
DWORD biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
DWORD biXPelsPerMeter;
DWORD biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
15
Structura RGBQUAD descrie o culoare prin componentele sale de ro¸su, verde ¸si albastru,
¸si un câmp rezervat având valoarea 0.
typedef struct tagRGBQUAD{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
}RGBQUAD;
Codarea pixelilor se face dup˘ a câteva reguli. Fiecare pixel va fi codat pe biBitCount bi¸ti;
dac˘ a biBitCount este 1, 4 sau 8, imaginea va fi indexat˘ a ¸si fi¸sierul con¸tine tabela de culoare
asociat˘ a imaginii. Codurile pixelilor se grupeaz˘ a pe octe¸ti (deci pentru o codare de 4 bi¸ti
per pixel, fiecare octet de cod va corespunde la doi pixeli al˘ atura¸ti). Dac˘ a biBitCount
este 24, pentru fiecare pixel se asociaz˘ a direct trei octe¸ti, ce reprezint˘ a componentele de
ro¸su, verde ¸si albastru ale culorii respective; aceast˘ a imagine se nume¸ste True Color ¸si
nu mai are un tabel de culoare asociat. Denumirea de True Color (culoare adev˘ arat˘ a)
provine din faptul c˘ a num˘ arul total de culori ce se pot astfel reprezenta (2
24
) dep˘ a¸se¸ste
limita sensibilit˘ a¸tii umane de discernere a culorilor.
Codarea se face independent pe fiecare linie orizontal˘ a a imaginii. Codurile (indexurile)
tuturor pixelilor unei linii sunt concatenate; ¸sirul rezultat trebuie s˘ a fie multiplu de 32
de bi¸ti (sau de 4 octe¸ti, sau s˘ a con¸tin˘ a un num˘ ar întreg de DWORD’s). Dac˘ a acest˘ a
constrângere nu este respectat˘ a, linia respectiv˘ a se completeaz˘ a cu num˘ arul necesar de
bi¸ti (care, în mod evident, nu vor fi utiliza¸ti la citirea imaginii din fi¸sier). Codarea
imaginii începe cu ultima linie, ¸si pentru fiecare linie baleiajul este normal (de la stânga
la dreapta).
16
Capitolul 2
TEHNICI DE ÎMBUN
˘
AT
˘
A¸ TIRE A
IMAGINILOR
Îmbun˘ at˘ a¸tirea imaginilor este o sintagm˘ a general˘ a ce se refer˘ a la o clas˘ a larg˘ a de opera¸tii
al c˘ aror scop este m˘ arirea detectabilit˘ a¸tii componentelor imaginii. Detectabilitatea com-
ponentelor este legat˘ a mai mult de percep¸tia vizual˘ a a unui observator uman decât de o
analiz˘ a automat˘ a cantitativ˘ a. Percep¸tia vizual˘ a de referin¸t˘ a este cea a unui expert uman
în domeniul aplica¸tiei din care provine imaginea.
A¸sadar criteriile de evaluare ale calit˘ a¸tii unei imagini sunt subiective ¸si specifice aplica¸tiei.
În [2] se face analogia opera¸tiilor de îmbun˘ at˘ a¸tire a imaginilor cu reglajul tonalit˘ a¸tii
muzicii ascultate; în func¸tie de ascult˘ ator, se vor favoriza componentele înalte sau joase,
sau nici unele. Ca o consecin¸t˘ a, procesul de îmbun˘ at˘ a¸tire va fi interactiv, transform˘ arile
efectuate trebuind s˘ a fie validate (cel pu¸tin în etapa de proiectare sau prob˘ a) de c˘ atre un
utilizator uman.
Principiul (aproape unanim acceptat) este c˘ a îmbun˘ at˘ a¸tirea calit˘ a¸tii unei imagini se face
f˘ ar˘ a a lua în considerare nici o informa¸tie asupra imaginii originale sau asupra procesului
de degradare (prin care imaginea nu este suficient de bun˘ a). Conform acestui punct
de vedere chiar ¸si o imagine original˘ a (nedegradat˘ a) poate fi îmbun˘ at˘ a¸tit˘ a, ob¸tinând o
imagine falsificat˘ a, dar subiectiv preferabil˘ a [18]. În general, calitatea subiectiv˘ a a unei
imagini poate fi apreciat˘ a pe baza contrastului sau accentu˘ arii elementelor de contur
(muchii, frontiere, linii, margini) ¸si pe baza netezimii în regiunile uniforme.
Cre¸sterea uniformit˘ a¸tii regiunilor este îns˘ a asimilat˘ a elimin˘ arii unui eventual zgomot
suprapus imaginii, opera¸tie denumit˘ a în mod clasic filtrare. Filtrarea ce are ca scop
eliminarea zgomotului va fi studiat˘ a în urm˘ atoarele capitole.
Din punctul de vedere al metodelor utilizate, putem distinge mai multe tipuri de opera¸tii
de îmbun˘ at˘ a¸tire:
17
• opera¸tii punctuale, prin care se realizeaz˘ a o coresponden¸t˘ a de tip “unu la unu” între
vechea valoare a nivelului de gri ¸si noua valoare a acestuia, pentru fiecare pixel al
imaginii. Tot în acest˘ a categorie vom include ¸si opera¸tiile de pseudocolorare, care
se refer˘ a la afi¸sarea imaginii folosind o palet˘ a de culoare modificat˘ a.
• opera¸tii locale (sau de vecin˘ atate), prin care noua valoare a nivelului de gri într-un
pixel este ob¸tinut˘ a din vechea valoare a pixelului repectiv ¸si din valorile unor pixeli
vecini pixelului considerat.
• opera¸tii integrale, în care noua valoare a unui pixel este dependent˘ a de valorile
tuturor pixelilor imaginii
În acest capitol vom studia doar opera¸tiile punctuale ¸si de pseudocolorare.
Prin îmbun˘ at˘ a¸tire, unei imagini nu i se adaug˘ a nici o informa¸tie nou˘ a fa¸t˘ a de cea ce exista
ini¸tial [9] (deci nu se adaug˘ a nimic imaginii), ci doar este prezentat altfel con¸tinutul ini¸tial
al acesteia. De¸si la o examinare superficial˘ a afirma¸tia este corect˘ a, putem g˘ asi m˘ acar dou˘ a
obiec¸tii (sau contraexemple) la aceast˘ a formulare:
• din punctul de vedere al utilizatorului, informa¸tia, chiar dac˘ a exist˘ a, nu poate fi
folosit˘ a, deci este asimilabil nul˘ a. Acesta este cazul imaginilor ob¸tinute în condi¸tii
extreme de iluminare, ce prezint˘ a un contrast foarte slab (imagini subexpuse sau
supraexpuse) [5].
• din punctul de vedere al teoriei informa¸tiei, informa¸tia din imagine poate fi asimilat˘ a
entropiei procesului aleator ale c˘ arui realiz˘ ari particulare sunt valorile de gri ale
pixelilor. Entropia se modific˘ a îns˘ a la orice transformare ce afecteaz˘ a distribu¸tia
nivelelor de gri din imagine.
2.1 Opera¸tii punctuale de modificare a contrastului
Opera¸tiile punctuale de modificare a contrastului (numite ¸si transform˘ ari ale nivelului de
gri) sunt asocieri (mapping, în englez˘ a) ce leag˘ a nivelul de gri original de noua sa valoare.
O asemenea asociere nu este altceva decât o func¸tie:
v = T(u), u ∈ [0; L −1] (2.1)
În [5] se stabilesc ca necesare condi¸tiile ca:
• transformarea T s˘ a p˘ astreze gama admisibil˘ a de valori ale imaginii (dac˘ a nivelele
de gri au fost reprezentate pe L nivele de cuantizare, atunci 0 T(u) L − 1,
∀u ∈ [0; L −1])
18
• transformarea T s˘ a fie monoton˘ a (cresc˘ atoare sau descresc˘ atoare) pentru a p˘ astra
ordinea între nivelele de gri
2.1.1 Modificarea liniar˘ a a contrastului
Cea mai des folosit˘ a tehnic˘ a de modificare liniar˘ a a contrastului este o transformare liniar˘ a
pe por¸tiuni, dat˘ a de:
v =
_
_
_
α
T
1
u, 0 ≤ u < T
1
α +
β−α
T
2
−T
1
(u −T
1
) , T
1
≤ u < T
2
β +
L−1−β
L−1−T
2
(u −T
2
) , T
2
≤ u < L
(2.2)
În formula anterioar˘ a, parametrii de control sunt T
1
, T
2
, α ¸si β; ace¸stia sunt grupa¸ti
câte doi, definind punctele (T
1
,α) ¸si (T
2
,β). Aceste dou˘ a puncte de control, împreun˘ a cu
punctele fixe (0, 0) ¸si (L − 1, L − 1) vor defini cele trei segmente de dreapt˘ a ce apar în
formula (2.2). Rezultatul aplic˘ arii unei asemenea opera¸tii punctuale se ob¸tine modificând
valoarea (nivelul de gri) fiec˘ arui pixel al imaginii ini¸tiale, u, conform (2.2), ob¸tinând noul
nivel de gri v. Transformarea poate fi f˘ acut˘ a în dou˘ a moduri: fie se repet˘ a calculele de la
(2.2) pentru fiecare pixel, baleind imaginea, fie noile valori ale contrastului se calculeaz˘ a
de la început pentru toate nivelele de gri posibile (între 0 ¸si L−1) ¸si apoi aceste modific˘ ari
se aplic˘ a imaginii. Codul C urm˘ ator implementeaz˘ a a doua variant˘ a de calcul, care este
mai rapid˘ a (calculele nivelelor de gri au fost separate de ciclul de baleiere al imaginii ¸si
au fost eliminate structurile condi¸tionale if - impuse de defini¸tia de tip “acolad˘ a” - prin
separarea domeniilor de calcul în trei cicluri). Trebuie remarcat˘ a de asemenea definirea
nivelului de gri ca unsigned int, ceea ce creaz˘ a posibilitatea folosirii unui num˘ ar de nivele
de gri mai mare de 256 (pentru care ar fi fost suficient un unsigned char).
unsigned int T1,T2,alfa,beta,gri_vechi,i,j;
gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int));
for (gri_vechi=0;gri_vechi<T1;gri_vechi++)
gri_nou[gri_vechi]=alfa*gri_vechi/T1;
for (gri_vechi=T1;gri_vechi<T2;gri_vechi++)
gri_nou[gri_vechi]=alfa+(beta-alfa)*(gri_vechi-T2)/(T2-T1);
for (gri_vechi=T2;gri_vechi<L;gri_vechi++)
gri_nou[gri_vechi]=beta+(L-1-beta)*(gri_vechi-T1)/(L-1-T2);
for (i=0;i<NRLIN;i++)
for (j=0;j<NRCOL;j++)
imagine_noua[i][j]=gri_nou[imagine_veche[i][j]];
Vom prezenta în cele ce urmeaz˘ a un exemplu; în figura 2.1 este prezentat˘ a pe de o parte
imaginea original˘ a “lena” (una dintre fotografiile impuse ca standard de fapt în raportarea
rezultatelor ob¸tinute), iar al˘ aturat imaginea ob¸tinut˘ a cu o modificare liniar˘ a pe por¸tiuni
19
a contrastului, determinat˘ a de parametrii T
1
= 30, T
2
= 100, α = 20, β = 200. În figura
2.2 este prezentat˘ a func¸tia de transformare a nivelelor de gri (T(u)).
Fig. 2.1: Imagine original˘ a ¸si imagine cu contrastul modificat
Fig. 2.2: Îmbun˘ at˘ a¸tire liniar˘ a pe por¸tiuni, definit˘ a de punctele (0,0), (30,20), (100,200),
(255,255)
Vizibilitatea componentelor scenei este în general determinat˘ a în cea mai mare parte de
contrastul zonei din imagine; contrastul este o m˘ asur˘ a propor¸tional˘ a cu diferen¸ta dintre
luminozitatea anumitor pixeli (nivelul lor de gri). Pentru a putea prevedea deci efectele
unei opera¸tii de îmbun˘ at˘ a¸tire de tipul prezentat asupra contrastului este deci suficient˘ a
studierea diferen¸telor de nivele de gri între o aceea¸si pereche de pixeli înainte ¸si dup˘ a
efectuarea transform˘ arii. La limit˘ a, este posibil ca pixelii s˘ a aib˘ a nivelul de gri original
diferit cu doar o unitate (cuanta minim˘ a), ¸si atunci modificarea contrastului va fi dat˘ a
20
de diferen¸ta valorilor transformate, adic˘ a de derivata func¸tiei de transformare:
C =
∆v
∆u
=
T(u
2
) −T(u
1
)
u
2
−u
1
=
dT(u)
du
= T

(u) (2.3)
Pentru func¸tia liniar˘ a pe por¸tiuni este evident c˘ a derivata va fi constant˘ a pe acelea¸si
intervale, având valoarea egal˘ a cu panta segmentului de dreapt˘ a.
C =
_
_
_
α
T
1
, dac˘ a u ∈ [0; T
1
]
β−α
T
2
−T
1
,dac˘ a u ∈ [T
1
; T
2
]
L−1−β
L−1−T
2
, dac˘ a u ∈ [T
2
; L −1]
(2.4)
Dac˘ a pe un interval aceast˘ a pant˘ a este subunitar˘ a, atunci diferen¸ta între nivelele al˘ atu-
rate de gri se mic¸soreaz˘ a ¸si deci contrastul scade; dac˘ a din contr˘ a, panta dreptei este
supraunitar˘ a, diferen¸ta dintre nivelele de gri al˘ aturate se m˘ are¸ste ¸si contrastul va cre¸ste.
Spre exemplu, în transformarea din figura 2.2, pe intervalul [30,100] contrastul cre¸ste, iar
pe intervalele [0,30] ¸si [100,255] contrastul scade. Aceste efecte sunt u¸sor vizibile pe ima-
ginile din figura 2.1: de exemplu sc˘ aderea contrastului pentru nivelele de gri de la cap˘ atul
superior al gamei admise (dinspre alb) se observ˘ a prin dispari¸tia detaliilor luminoase din
imagine (panglica lat˘ a de la p˘ al˘ arie); cre¸sterea contrastului pe intervalul [30,100] (deci
griuri închise) este vizibil în zona penei de p˘ al˘ arie, ale c˘ arei detalii sunt acum mult mai
sesizabile.
În func¸tie de alegerea celor patru parametri, se pot ob¸tine câteva cazuri particulare de
interes ce poart˘ a denumiri specifice.
Fig. 2.3: Imagine original˘ a ¸si imagine binarizat˘ a cu pragul 125
Dac˘ a T1 = T2 ¸si α = 0, β = L −1, se ob¸tine pr˘ aguirea sau binarizarea (“thresholding”)
(vezi figura 2.4); în imaginea rezultat˘ a nu exist˘ a decât alb ¸si negru (figura 2.3); toate
21
nivelele de gri ini¸tiale a c˘ aror valoare era mai mic˘ a decât T
1
fiind negre ¸si toate nivelele
de gri ini¸tiale mai mari ca T
1
devenind albe. Dup˘ a cum se va vedea la capitolul de
segmentare orientat˘ a pe regiuni (capitolul 8), aceasta este ¸si una dintre tehnicile cele mai
simple de segmentare. În urma acestei transform˘ ari, contrastul este maximizat la nivelul
întregii imagini.
Fig. 2.4: Transformarea de binarizare
Dac˘ a α = 0 ¸si β = L−1 se ob¸tine opera¸tia de întindere maxim˘ a a contrastului (contrast
streching) (vezi figura 2.5) pentru intervalul [T
1
; T
2
]. Nivelele de gri care se g˘ asesc în afara
acestui interval vor fi înlocuite fie cu alb, fie cu negru.
Fig. 2.5: Transformarea de întindere maxim˘ a a contrastului
22
2.1.2 Modificarea neliniar˘ a a contrastului
Principalul dezavantaj al tehnicii liniare pe por¸tiuni prezentate este faptul c˘ a modificarea
contrastului este aceea¸si pe un întreg interval de nivele de gri, ¸si nu este posibil˘ a o
modificare neuniform˘ a a contrastului pe întregul interval de nivele de gri sau în jurul
unui anume nivel de gri. Tehnicile neliniare au aceste propriet˘ a¸ti.
O prim˘ a variant˘ a este compandarea domeniului [9], definit˘ a de o curb˘ a logaritmic˘ a ¸si cu
punctele fixe (0, 0) ¸si (L −1, L −1):
v = T(u) =
L −1
lg L
lg(1 +u) (2.5)
Contrastul va varia neuniform de-a lungul scalei de gri, m˘ arindu-se la cap˘ atul inferior
(negru) ¸si mic¸sorându-se la cap˘ atul superior (alb). În mod reciproc se poate defini ex-
pandarea domeniului, ca transformare invers˘ a celei de compandare, ¸si deci având o alur˘ a
exponen¸tial˘ a:
v = T(u) = (L −1)
e
u
−1
e
L−1
−1
(2.6)
Contrastul va varia neuniform de-a lungul scalei de gri, m˘ arindu-se la cap˘ atul supe-
rior (alb) ¸si mic¸sorându-se la cap˘ atul inferior (negru). Termenii de compandare ¸si de
expandare au fost da¸ti prin asem˘ anare cu transform˘ arile folosite în teoria cod˘ arii ¸si cuan-
tiz˘ arii (ce intervin în metodele de cuantizare a semnalului vocal pentru telefonia digital˘ a,
cunoscute sub numele de legea A în Europa ¸si legea µ în America). Trebuie îns˘ a subliniat
c˘ a în prelucrarea imaginilor aceste transform˘ ari nu afecteaz˘ a domeniul de valori, care
r˘ amâne [0, L −1].
Alte transform˘ ari neliniare pot fi ob¸tinute prin folosirea unor func¸tii de tip putere; ¸si
acestea au nivelele de gri extreme ca puncte fixe ((0, 0) ¸si (L − 1, L − 1)). O prim˘ a
variant˘ a este func¸tia putere:
v = T(u) = (L −1)
_
u
L −1
_
r
(2.7)
Dup˘ a valorile parametrului-putere r se pot ob¸tine dou˘ a comport˘ ari diferite: pentru r < 1
comportarea este de acela¸si tip cu al func¸tiei de compandare logaritmice, iar pentru r > 1
comportarea este de tipul func¸tiei de expandare. Trebuie remarcat c˘ a legile de varia¸tie
ale contrastului vor fi îns˘ a diferite.
Exist˘ a îns˘ a ¸si o variant˘ a la care se mai adaug˘ a un punct fix (T, T), func¸tia devenind cu
dou˘ a intervale de defini¸tie:
v = T(u) =
_
T
_
u
T
_
r
, dac˘ a u ∈ [0; T]
L −1 −(L −1 −T)
_
L−1−u
L−1−T
_
r
, dac˘ a u ∈ [T, L −1]
(2.8)
Func¸tia are o alur˘ a de tipul celei prezentate în figura 2.6.
23
Fig. 2.6: Modificare neliniar˘ a a contrastului, cu trei puncte fixe
În [9], în cadrul opera¸tiilor punctuale de îmbun˘ at˘ a¸tire a imaginilor sunt prezentate ¸si
opera¸tii aritmetice simple, ca de exemplu negativarea. Negativarea este descris˘ a de:
v = T(u) = L −1 −u (2.9)
Efectul acesteia de modificare a contrastului se bazeaz˘ a doar pe caracteristicile sistemu-
lui vizual uman, pentru care contrastul depinde de diferen¸ta de luminozitate între pixeli
apar¸tinând unui obiect, respectiv fundalului, raportat˘ a la luminan¸ta medie a fundalului.
O categorie aparte de aplica¸tii în care sunt utile asemenea inversiuni este analiza imagi-
nilor medicale, care pentru o analiz˘ a automat˘ a trebuiesc inversate; un astfel de exemplu
este imaginea angiografic˘ a din figura 2.7.
Fig. 2.7: Imagine original˘ a ¸si negativat˘ a (dintr-o aplica¸tie medical˘ a)
Alte opera¸tii posibile (tratate în [9], dar de mai mic˘ a semnifica¸tie practic˘ a) sunt repre-
24
zentarea planelor de bit (pentru fiecare pixel al imaginii, fiecare bit al reprezent˘ arii binare
a nivelului de gri este considerat ca valoarea unui pixel al unei imagini binare), trans-
formarea de lipire clipping (care p˘ astreaz˘ a nemodificate nivelele de gri dintr-un anumit
interval ¸si le anuleaz˘ a pe celelalte - imaginea rezultat˘ a con¸tinând obiectele de interes pe
fond negru) ¸si transformarea de t˘ aiere slicing (care transform˘ a nivelele de gri dintr-un
interval fixat în alb ¸si tot restul în negru; nu este altceva decât un alt tip de binarizare).
2.2 Pseudocolorarea
Pseudocolorarea este o tehnic˘ a de îmbun˘ at˘ a¸tire a vizibilit˘ a¸tii anumitor componente ale
imaginii (sau a imaginii în ansamblu) prin modificarea paletei de culoare cu care imaginea
este afi¸sat˘ a (reprezentat˘ a). Aceasta înseamn˘ a c˘ a pentru anumite nivele de gri, afi¸sarea
nu se va mai face cu culoarea a c˘ arei componente sunt toate egale cu indexul (nivelul de
gri), ci cu o alt˘ a culoare. Acest˘ a defini¸tie acoper˘ a îns˘ a ¸si cazul opera¸tiilor de modificare
a contrastului prezentate anterior; func¸tia v = T(u) nu este altceva decât o func¸tie de
construc¸tie a unei noi palete de culoare pentru aceea¸si imagine. Spre exemplu, codul
modific˘ arii neliniare de contrast devine:
unsigned int T1,T2,alfa,beta,gri_vechi;
gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int));
for (gri_vechi=0;gri_vechi<T1;gri_vechi++)
gri_nou[gri_vechi]=alfa*gri_vechi/T1;
for (gri_vechi=T1;gri_vechi<T2;gri_vechi++)
gri_nou[gri_vechi]=alfa+(beta-alfa)*(gri_vechi-T2)/(T2-T1);
for (gri_vechi=T2;gri_vechi<L;gri_vechi++)
gri_nou[gri_vechi]=beta+(L-1-beta)*(gri_vechi-T1)/(L-1-T2);
for (gri_vechi=0;gri_vechi<L;gri_vechi++)
setpalette(gri_vechi,(color) gri_nou[gri_vechi]);
Ultima bucl˘ a for a codului modific˘ a paleta de culoare pentru fiecare index (intrare) a
acesteia, conform noilor valori calculate. Remarca¸ti cast-ul (schimbarea de tip) la tipul
color; acesta este inserat mai mult ca o m˘ asur˘ a de aten¸tionare: culoarea (deci variabila de
tip color) trebuie ob¸tinut˘ a din scalarul nivel de gri în conformitate cu regulile de descriere
a culorilor valabile în respectivul mod grafic.
Ideea de baz˘ a în pseudocolorare este de a folosi culori pentru a pune în eviden¸t˘ a zone
de interes din imagini cu nivele de gri (exist˘ a ¸si varianta color˘ arii false - false coloring,
care transform˘ a o imagine color într-o alt˘ a imagine color, dar cu un contrast mult mai
pronun¸tat ¸si artificial între elementele sale). Acest˘ a idee este normal˘ a dac˘ a se are în
vedere faptul c˘ a ochiul (sistemul vizual) uman distinge ceva mai pu¸tin de 256 nuan¸te de
gri, de¸si diferen¸tiaz˘ a câteva milioane de culori [9].
25
O aplica¸tie interesant˘ a a pseudocolor˘ arii este prezentat˘ a în [2]. La NASA, la începuturile
erei digitale în tehnicile de achizi¸tie a imaginilor, era necesar˘ a digitizarea unor imagini de
microscopie, pentru care iluminarea era reglat˘ a manual, pân˘ a la o vizibilitate maxim˘ a a
tuturor detaliilor. Pentru c˘ a operatorul nu putea distinge clar ¸si precis care era iluminarea
cea mai potrivit˘ a (care nici nu producea suprailuminare ¸si nici nu l˘ asa umbre mai mari
decât era necesar), la afi¸sarea în timp real a imaginii achizi¸tionate pe monitoarele de
control, paleta de griuri a fost modificat˘ a pe ultima pozi¸tie (alb), unde s-a inserat ro¸su.
Atunci instruc¸tiunile pentru operator erau: cre¸ste curentul prin lamp˘ a (iluminarea) pân˘ a
când în imagine apare ro¸su, dup˘ a care redu curentul pân˘ a când culoarea ro¸sie dispare.
Rezultatul acestei tehnici simple au fost mii de imagini digitizate corect.
În final merit˘ a poate amintit˘ a remarca (destul de acid˘ a) din [2]:
“De¸si prin natura sa este un detaliu al tehnicilor de afi¸sare, pseudocolorarea
a fost adesea glorificat˘ a prin termeni ca prelucrare prin pseudocolorare sau
analiz˘ a prin pseudocolorare. Pseudocolorarea r˘ amâne un accesoriu favorit al
vânz˘ atorilor, care o utilizeaz˘ a adesea în demonstra¸tiile produselor [software],
deoarece poate stârni interesul în ochii clien¸tilor mult mai repede decât orice
alt˘ a metod˘ a de afi¸sare cunoscut˘ a. Cercet˘ arile mele au adus la lumin˘ a o list˘ a
dureros de scurt˘ a a aplica¸tiilor demonstabil productive a pseudocolor˘ arii”
2.3 Opera¸tii de contrastare bazate pe histograma ima-
ginii
Pentru o imagine f de M × N pixeli ¸si L nivele de gri, histograma este definit˘ a (2.10)
ca probabilitatea (frecven¸t˘ a relativ˘ a) de apari¸tie în imagine a diferitelor nivele de gri
posibile.
h(i) =
1
MN
M−1

m=0
N−1

n=0
δ(i −f(m, n)) , i = 0, 1, ...L −1 (2.10)
Din punct de vedere statistic, putem considera valoarea fiec˘ arui pixel al imaginii ca o
realizare particular˘ a a unei variabile aleatoare asociat˘ a nivelelor de gri, caz în care his-
tograma (2.10) este func¸tia de densitate de probabilitate a acestei variabile aleatoare.
Fiind o func¸tie de densitate de probabilitate, histograma oric˘ arei imagini verific˘ a condi¸tia
de normare
L−1

i=0
h(i) = 1.
Din punct de vedere practic, calculul histogramei unei imagini înseamn˘ a parcurgerea
punct cu punct a imaginii ¸si contorizarea num˘ arului de nivele de gri întâlnite. Pre-
supunând L nivele de gri posibile în imaginea de dimensiuni NRLIN ¸si NRCOL, codul
26
urm˘ ator aloc˘ a pentru fiecare nivel de gri posibil câte un unsigned int, ce va contoriza
num˘ arul de apari¸tii ale nivelului de gri respectiv. Pentru fiecare punct al imaginii se
incrementeaz˘ a pozi¸tia din histogram˘ a ce corespunde valorii de gri din acel pixel. Ceea
ce rezult˘ a în final difer˘ a de histograma descris˘ a de (2.10) prin constanta de normare
“num˘ arul total de puncte ale imaginii” (deci MN sau NRLIN*NRCOL); este evident c˘ a
valorile ob¸tinute pot fi normate pentru a ob¸tine o func¸tie de densitate de probabilitate
prin împ˘ ar¸tirea cu NRLIN*NRCOL ¸si definirea histogramei ca fiind format˘ a din real sau
float.
histo=(unsigned int*)malloc(L*sizeof (unsigned int));
for (i=0;i<L;i++)
histo[i]=0;
for (i=0;i<NRLIN;i++)
for (j=0;j<NRCOL;j++)
histo[imagine[i][j]]++;
În Matlab, implementarea oric˘ arei func¸tii este cu atât mai eficient˘ a (din punctul de vedere
al timpului de rulare) cu cât sunt evitate structurile repetitive (în particular buclele for).
Cum, pentru calculul histogramei, ciclarea nu poate fi evitat˘ a (deci trebuie parcurse fie
toate punctele imaginii, fie toate nivelele de gri), se alege varianta care implic˘ a repetarea
minim˘ a a cicl˘ arii:
histo=zeros(1,L);
for i=1:L
p=find(imagine==i);
histo(i)=length(p);
% histo(i)=length(p)/prod(size(imagine));
end
Func¸tia find (func¸tie standard a pachetului Matlab) returneaz˘ a pozi¸tiile (indicii) la care
este g˘ asit˘ a valoarea i în matricea imagine (adic˘ a întoarce pozi¸tiile punctelor ce au valoarea
i ); num˘ arând aceste puncte (deci calculând lungimea vectorului în care sunt stocate) se
g˘ ase¸ste num˘ arul de puncte ce au respectivul nivel de gri. Normarea histogramei se poate
face f˘ ar˘ a a modifica declara¸tiile de definire a structurilor (pentru Matlab este indiferent
dac˘ a se stocheaz˘ a întregi sau numere cu parte zecimal˘ a). Acest˘ a structur˘ a este mai rapid˘ a
decât cea prin care se parcurgea toat˘ a imaginea deoarece se folose¸ste o singur˘ a bucl˘ a de
lungime L (¸si nu dou˘ a bucle imbricate, de lungime total˘ a NRLIN*NRCOL), iar func¸tia
find este rapid˘ a, fiind o func¸tie precompilat˘ a.
Histograma imaginii ofer˘ a informa¸tii asupra plasamentului în “nuan¸t˘ a” a con¸tinutului
imaginii (vezi figura 2.8). La majoritatea imaginilor exist˘ a o distribu¸tie neuniform˘ a a
nivelelor de gri; exist˘ a nivele de gri predominante ¸si exist˘ a nivele de gri folosite pu¸tin sau
27
deloc. Opera¸tiile de îmbun˘ at˘ a¸tire a imaginilor (pentru îmbun˘ at˘ a¸tirea percep¸tiei vizuale)
au ca scop redistribuirea nivelelor de gri, astfel ca acestea s˘ a ocupe întreaga gam˘ a de
varia¸tie disponibil˘ a, în mod uniform: aceasta este egalizarea de histogram˘ a [9], [18].
Fig. 2.8: Imagine cu nivele de gri ¸si histograma acesteia
Scopul egaliz˘ arii de histogram˘ a este deci ob¸tinerea unei distribu¸tii uniforme a nivelelor de
gri; imaginea rezultat˘ a va prezenta cea mai mare îmbun˘ at˘ a¸tire a contrastului, distribuit
regulat în întreaga gam˘ a dinamic˘ a a nivelelor de gri. Din punct de vedere matematic,
egalizarea de histogram˘ a înseamn˘ a transformarea unei distribu¸tii oarecari (descris˘ a de his-
tograma imaginii ini¸tiale) într-o distribu¸tie uniform˘ a. Considerând variabilele aleatoare
X(ξ, x) ¸si Y (ξ, y) legate prin Y = g(X), atunci între func¸tiile de densitate de probabilitate
a celor dou˘ a variabile aleatoare exist˘ a rela¸tia [16]:
f
Y
(y) = f
X
(x)
1
¸
¸
(g
−1
(y))

¸
¸
|
x=g
−1
(y)
Dac˘ a dorim ca func¸tia de densitate de probabilitate f
Y
(y) s˘ a fie uniform˘ a (în condi¸tiile
în care func¸tia de densitate de probabilitate f
X
(x) este dat˘ a), atunci înseamn˘ a c˘ a vom
avea
¸
¸
(g
−1
(y))

¸
¸
=
1
k
f
X
(g
−1
(y)). Rezolvarea acestei ecua¸tii produce solu¸tia y = g(x) =
x
_
−∞
f
X
(t)dt.
Pentru cazul particular al imaginilor, variabila aleatoare X ia valori naturale - nivelele
de gri. Func¸tia de densitate de probabilitate f
X
(x) este histograma [normat˘ a] a imaginii
iar func¸tia de transformare devine y = g(x) =
x
_
0
f
X
(t)dt. ¸ Tinând seama c˘ a valorile de
gri sunt discrete, integrala se transform˘ a în sum˘ a ¸si acest˘ a form˘ a nu este altceva decât
28
histograma cumulativ˘ a a imaginii; dac˘ a h este histograma imaginii, atunci
g(x) = H(x) =
x

i=0
h(i) (2.11)
Valorile func¸tiei trebuie îns˘ a redistribuite în intervalul permis de valori de gri, ceea ce
duce la deducerea formulei care exprim˘ a noile valori de gri:
v =
_
H(u) −H(0)
MN −H(0)
(L −1) + 0.5
_
(2.12)
O variant˘ a de cod care realizeaz˘ a egalizarea de histogram˘ a este prezentat˘ a în continu-
are. Trebuie remarcat c˘ a modul de calcul al histogramei cumulative este de tip iterativ,
bazându-se pe formula H(x) = H(x −1) + h(x), ce se poate deduce imediat din (2.11).
Mai trebuie de asemenea remarcat c˘ a se folose¸ste o histogram˘ a nenormat˘ a.
gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int));
histo_cum=(unsigned int *) malloc (L*sizeof(unsigned int));
tot=NRLIN*NRCOL;
histo_cum[0]=histo[0];
for (i=1;i<L;i++)
histo_cum[i]=histo_cum[i-1]+histo[i];
for (i=0;i<L;i++)
gri_nou[i]=round((histo_cum[i]-histo_cum[0])*(L-1)/(tot-histo_cum[0]));
Figurile urm˘ atoare prezint˘ a o imagine original˘ a (“lena”) ¸si rezultatul egaliz˘ arii de his-
togram˘ a, precum ¸si histogramele originale ¸si egalizate (figura 2.9). Ceea ce se remarc˘ a
cu u¸surin¸t˘ a este diferen¸ta dintre histograma ob¸tinut˘ a ¸si histograma perfect uniform˘ a
dorit˘ a. Unul dintre efectele secundare notabile este introducerea de nivele de gri lips˘ a în
histograma egalizat˘ a (aspectul “în pieptene” al acesteia).
Imagine original˘ a Imagine dup˘ a egalizarea de histogram˘ a
29
0 50 100 150 200 250 300
0
200
400
600
800
Fig. 2.9: Histograma imaginii “lena”, înainte ¸si dup˘ a egalizare
Alte variante de egalizare a histogramei [18] folosesc histograme modificate ale imaginii
(prin contabilizarea doar a anumitor pixeli) sau limiteaz˘ a amplitudinea vârfurilor his-
togramei, redistribuind uniform pixelii în exces.
Tehnica de egalizare a histogramei poate fi extins˘ a prin realizarea unei histograme de
form˘ a impus˘ a (dar oarecare) a imaginii rezultat; aceast˘ a metod˘ a este denumit˘ a specificare
de histogram˘ a [9], [5].
O ultim˘ a remarc˘ a se poate referi la validitatea introducerii tehnicilor de îmbun˘ at˘ a¸tire a
histogramei în categoria de opera¸tii punctuale. Majoritatea autorilor consider˘ a c˘ a orice
opera¸tie care este echivalent˘ a cu modificarea paletei de culoare a imaginii este o opera¸tie
punctual˘ a. În acela¸si timp îns˘ a, noile valori de gri ale fiec˘ arui punct sunt calculate pe
baza histogramei imaginii, deci pe baza unei m˘ asuri ce ia în calcul valorile din întreaga
imagine; din acest punct de vedere, egalizarea de histogram˘ a poate fi inclus˘ a în categoria
opera¸tiilor integrale.
30
Capitolul 3
FILTRAREA LINIAR
˘
A A
IMAGINILOR
Odat˘ a cu opera¸tiile de filtrare liniar˘ a, se începe studiul operatorilor de vecin˘ atate: ope-
ratorii al c˘ aror rezultat depinde atât de valoarea punctului în care au fost aplica¸ti, cât
¸si de valorile unui num˘ ar de alte puncte vecine (nu neap˘ arat topologic) punctului curent
de calcul. Filtrarea se cheam˘ a liniar˘ a pentru c˘ a opera¸tia verific˘ a principiul superpozi¸tiei
(liniarit˘ a¸tii): pentru dou˘ a imagini f
1
¸si f
2
, doi scalari a
1
¸si a
2
¸si operatorul liniar L avem
L(a
1
f
1
+a
2
f
2
) = a
1
L(f
1
) +a
2
L(f
2
) (3.1)
Opera¸tia de filtrarea liniar˘ a calculeaz˘ a noua valoare a unui pixel al imaginii (din pozi¸tia
(m, n)) ca o combina¸tie liniar˘ a (medie ponderat˘ a) a unui num˘ ar de valori din imaginea
original˘ a:
v(m, n) =

(k,l)∈W
w
kl
f(m−k, n −l) (3.2)
W este vecin˘ atatea punctului curent în care se face calculul; W este numit˘ a masc˘ a sau
fereastr˘ a de filtrare ¸si este o form˘ a plan˘ a, descris˘ a ca o mul¸time de puncte din spa¸tiul
cartezian, în coordonate relative (deci în alt sistem de coordonate decât sistemul de
coordonate a imaginii). Scalarii w
kl
sunt ata¸sa¸ti pozi¸tiilor (k, l) din fereastra de filtrare
¸si poart˘ a numele de coeficien¸ti ai filtrului. Spre exemplu, o masc˘ a simpl˘ a de mediere este
media aritmetic˘ a a valorilor dintr-o vecin˘ atate p˘ atrat˘ a de 3 x 3 pixeli, centrat˘ a în pixelul
curent; pentru acest caz, to¸ti coeficien¸tii vor avea valoarea 1/9 ¸si masca de filtrare W
va fi: W = {(0, 0), (−1, 0), (1, 0), (0, −1), (−1, −1), (1, −1), (0, 1), (−1, 1), (1, 1)}. Pentru
acest caz particular, expresia (3.2) devine:
v(m, n) =
1

k=−1
1

l=−1
f(m−k, n −l)
9
(3.3)
31
adic˘ a, desf˘ a¸surat, v(m, n) =
f(m+1,n−1)
9
+
f(m+1,n)
9
+
f(m+1,n+1)
9
+
f(m,n)
9
+
f(m,n−1)
9
+
f(m,n+1)
9
+
f(m+1,n−1)
9
+
f(m+1,n)
9
+
f(m+1,n+1)
9
. Acela¸si lucru se poate exprima ¸si prin specificarea
matricial˘ a a m˘ a¸stii de filtrare ¸si marcarea originii acesteia, ca W =
_
_
1/9 1/9 1/9
1/9
1/9
1/9
1/9 1/9 1/9
_
_
.
Formula de defini¸tie (3.2) nu este altceva decât suma produselor punct cu punct a co-
eficien¸tilor m˘ a¸stii ¸si a valorilor pixelilor imaginii din zon˘ a de imagine peste care a fost
suprapus˘ a masca. Aceast˘ a sum˘ a de produse se calculeaz˘ a pentru fiecare punct al imaginii,
deplasând masca. Descrierea algoritmului nu este îns˘ a altceva decât descrierea plastic˘ a
a unei opera¸tii de convolu¸tie bidimensional˘ a, în care, prin conven¸tie, masca de filtrare
este considerat˘ a nucleul de convolu¸tie. Deplasarea m˘ a¸stii (ferestrei de filtrare) a condus
la adoptarea denumirii de tehnic˘ a a ferestrei glisante; aplicarea acesteia se poate descrie
simplu:
• se plaseaz˘ a originea ferestrei de filtrare (pe rând) în fiecare punct al imaginii ¸si se
selecteaz˘ a punctele imaginii situate în interiorul ferestrei (putem imagina fereastra
de filtrare ca fiind o apertur˘ a într-o plac˘ a opac˘ a; într-o anumit˘ a pozi¸tie a acesteia
valorile selectate din imagine sunt valorile punctelor ce se “v˘ ad” prin apertur˘ a).
• pentru fiecare pozi¸tie se face suma produselor punct cu punct coeficient masc˘ a -
valoare pixel.
Fereastra de filtrare este deci definit˘ a de form˘ a (mul¸timea W) ¸si valori (coeficien¸tii w
kl
).
Cele mai simple ferestre de filtrare sunt cele de form˘ a p˘ atrat˘ a, având originea în centru
(deci fiind p˘ atrate de dimensiuni impare: 3 x 3, 5 x 5, etc.) - de tipul celei prezentate
în exemplul anterior. Fereastra de filtrare are în general o dimensiune mult mai mic˘ a
decât dimensiunile imaginii (mai sunt numite ¸si nuclee mici, f˘ acând referin¸t˘ a la opera¸tia
de convolu¸tie). Codul care urmeaz˘ a exemplific˘ a aceast˘ a cea mai simpl˘ a filtrare, cu un
nucleu de dimensiune 3 x 3. Se remarc˘ a alocarea static˘ a a coeficien¸tilor w ai filtrului
(numere reale) ¸si alocarea dinamic˘ a a imaginii rezultat (considerat˘ a aici ca având valori
întregi). Calculul valorilor pixelilor din imaginea filtrat˘ a s-a f˘ acut decupând câte un rând
¸si o coloan˘ a de la extremit˘ a¸tile imaginii originale (pentru a evita efectele de margine, în
care masca “debordeaz˘ a” în afara imaginii), acestea fiind completate în imaginea rezultat
prin copierea valorilor originale. O alt˘ a variant˘ a de evitare a efectelor de margine este
bordarea (completarea) imaginii la capete cu câte o linie ¸si o coloan˘ a cu valori nule. De
asemenea, se poate constata c˘ a în expresia de calcul efectiv indicii tabelului de coeficien¸ti
ai m˘ a¸stii au fost deplasa¸ti, astfel încât indicele minim s˘ a fie 0, ¸si nu negativ.
real w[3][3];
img_out=(int**)malloc(NRLIN*sizeof(int*));
for (i=0;i<NRLIN;i++)
32
img_out[i]=(int*)malloc(NRCOL*sizeof(int));
for (i=0;i<NRCOL;i++)
{ img_out[0][i]=img[0][i];
img_out[NRLIN-1][i]=img[NRLIN-1][i];}
for (i=0;i<NRLIN;i++)
{ img_out[i][0]=img[i][0];
img_out[i][NRCOL-1]=img[i][NRCOL-1];}
for (i=1;i<NRLIN-1;i++)
for (j=1;j<NRCOL-1;j++)
img_out[i][j]=round(w[1][1]*img[i][j]+w[1][0]*img[i][j-1]+
w[1][2]*img[i][j+1]+w[0][1]*img[i-1][j]+w[0][0]*img[i-1][j-1]+
w[0][2]*img[i-1][j+1]+w[2][1]*img[i+1][j]+w[2][0]*img[i+1][j-1]+
w[2][2]*img[i+1][j+1]);
Pentru o imagine p˘ atrat˘ a de dimensiune N ¸si o masc˘ a de filtrare p˘ atrat˘ a de dimensiune
n, num˘ arul de opera¸tii necesare unei filtr˘ ari liniare este de N
2
n
2
înmul¸tiri ¸si N
2
(n
2
−1)
adun˘ ari, adic˘ a complexitatea de calcul este O[N
2
], atât fa¸t˘ a de dimensiunile imaginii cât
¸si fa¸t˘ a de dimensiunile ferestrei de filtrare. Aceasta duce la constrângerea practic˘ a de a
folosi ferestre de filtrare cât mai mici (¸si de a încerca descompunerea ferestrelor mari de
filtrare într-o succesiune de ferestre mai mici - spre exemplu o filtrare cu un nucleu de 5 x
5, care ar necesita 25 de opera¸tii pentru fiecare pixel, poate fi echivalat˘ a cu dou˘ a filtr˘ ari
succesive cu nuclee de 3 x 3 pixeli, care necesit˘ a doar 18 opera¸tii pentru fiecare pixel). În
figurile urm˘ atoare se prezint˘ a efectul unei opera¸tii de mediere cu un nucleu de 7 x 7: se
remarc˘ a faptul c˘ a imaginea rezultat este mai neclar˘ a ¸si ce¸toas˘ a (efect de blur) ¸si c˘ a toate
contururile au devenit mai vagi.
Imagine original˘ a
Rezultatul unei filtr˘ ari de mediere
33
3.1 Filtrarea liniar˘ a de netezire
Efectul de înce¸to¸sare a unei imagini poate fi considerat ¸si ca un efect de îmbun˘ at˘ a¸tire
a uniformit˘ a¸tii regiunilor [18]. Aceasta înseamn˘ a c˘ a se elimin˘ a micile diferen¸te dintre
valorile pixelilor apar¸tinând unei aceleia¸si regiuni (zone cu intensitate luminoas˘ a relativ
constant˘ a). Acesta este fundamentul metodelor de reducere a zgomotului alb aditiv
gaussian (normal) suprapus imaginii: un asemenea zgomot ce afecteaz˘ a o regiune absolut
uniform˘ a (în care to¸ti pixelii ce o formeaz˘ a au aceea¸si valoare) produce varia¸tia valorilor
din interiorul acesteia, deci mic¸soreaz˘ a uniformitatea. Varia¸tiile introduse sunt cu atât
mai mari cu cât puterea zgomotului este mai mare; pentru un zgomot de medie nul˘ a
(a¸sa cum este zgomotul alb gaussian aditiv) puterea este identic˘ a cu varian¸ta. Teoria
proceselor aleatoare [16] arat˘ a c˘ a, pentru o combina¸tie liniar˘ a de realiz˘ ari ale unei variabile
aleatoare y =
n

i=1
a
i
x
i
, varian¸ta noii variabile aleatoare este propor¸tional˘ a cu varian¸ta
variabilei aleatoare din care au provenit realiz˘ arile particulare: σ
2
y
=
n

i=1
a
2
i
σ
2
x
. Deci, prin
medierea a n realiz˘ ari ale unei variabile aleatoare, varian¸ta este redus˘ a de n ori (a
i
=
1
n
).
M˘ asurile de calitate folosite pentru a caracteriza în mod obiectiv calitatea unei imagini
(sau rezultatul unei prelucr˘ ari) sunt extensii bidimensionale ale m˘ asurilor de calitate
folosite pentru caracterizarea semnalelor unidimensionale. Dac˘ a consider˘ am f imaginea
original˘ a (corect˘ a) ¸si g imaginea a c˘ arei calitate trebuie determinat˘ a (g este considerat˘ a
c˘ a provine din f prin suprapunerea unui zgomot aditiv), rapoartele de calitate cele mai
utilizate sunt: raportul semnal zgomot (Signal to Noise Ratio - SNR) (3.4), raportul
semnal de vârf zgomot (Peak Signal to Noise Ratio - PSNR) (3.5), eroare p˘ atratic˘ a medie
(Mean Squared Error - MSE) (3.6) ¸si eroarea medie absolut˘ a (Mean Absolute Error -
MAE) (3.7).
SNR = 10 log
N

n=1
M

m=1
f
2
(n, m)
N

n=1
M

m=1
(g(m, n) −f(n, m))
2
dB (3.4)
PSNR = 10 log
NM
_
max
n,m
f(n, m)
_
2
N

n=1
M

m=1
(g(m, n) −f(n, m))
2
dB (3.5)
MSE =
1
NM
N

n=1
M

m=1
(g(m, n) −f(n, m))
2
(3.6)
MAE =
1
NM
N

n=1
M

m=1
|g(m, n) −f(n, m)| (3.7)
34
Fig. 3.1: Imagine degradat˘ a de un zgomot aditiv gaussian
Fig. 3.2: Reducerea zgomotului prin filtrarea de mediere
Figurile urm˘ atoare prezint˘ a o imagine degradat˘ a cu un zgomot aditiv, alb, gaussian,
de medie nul˘ a (figura 3.1 SNR=16.97 dB, PSNR=22.43 dB, MAE=15.22) ¸si imaginea
filtrat˘ a cu un filtru liniar de mediere aritmetic˘ a, cu fereastr˘ a 3 x 3 (figura 3.2 SNR=19.33
dB, PSNR=24.79 dB, MAE=9.31). Se poate observa atât o calitate vizual˘ a mai bun˘ a
(regiuni mai uniforme) cât ¸si factori de calitate mai buni (SNR ¸si PSNR mai mari, MAE
mai mic).
Un caz particular de interes este considerarea regiunilor constante (absolut uniforme) ale
imaginii; în aceste regiuni to¸ti pixelii vor avea aceea¸si valore, ¸si deci uniformitatea nu mai
poate fi îmbun˘ at˘ a¸tit˘ a. În acela¸si timp, opera¸tia de filtrare de netezire trebuie s˘ a p˘ astreze
aceast˘ a valoare constant˘ a a pixelilor (pe care o vom nota cu µ); înlocuind în formula de
35
defini¸tie a filtr˘ arii liniare (3.2), vom ob¸tine c˘ a
µ =

(k,l)∈W
w
kl
µ
adic˘ a:

(k,l)∈W
w
kl
= 1 (3.8)
Aceast˘ a condi¸tie (suma coeficien¸tilor m˘ a¸stii de filtrare s˘ a fie unitar˘ a) se nume¸ste condi¸tia
de normare a nucleelor de filtrare de netezire ¸si define¸ste un astfel de nucleu.
Nucleele de filtrare folosite nu trebuie limitate strict la nucleele ce realizeaz˘ a media arit-
metic˘ a într-o vecin˘ atate p˘ atrat˘ a, centrat˘ a în punctul considerat. M˘ a¸stile urm˘ atoare rea-
lizeaz˘ a medieri ponderate: W
1
=
_
_
1/16 1/16 1/16
1/16 1/2 1/16
1/16 1/16 1/16
_
_
, W
2
=
_
_
0 1/5 0
1/5 1/5 1/5
0 1/5 0
_
_
,
W
3
=
_
_
0 1/8 0
1/8 1/4 1/8
0 1/8 0
_
_
, W
4
=
_
1/2 1/6
1/6 1/6
_
. Nucleul de filtrare poate avea orice
form˘ a (deci exist˘ a o libertate total˘ a în definirea mul¸timii W (3.2)); în acela¸si timp îns˘ a,
practica a demonstrat suficien¸ta consider˘ arii unor forme regulate (p˘ atrate, centrate) pen-
tru masc˘ a. Orice masc˘ a poate fi extins˘ a cu puncte ce au ata¸sat un coeficient nul, pen-
tru a rezulta o masc˘ a p˘ atrat˘ a centrat˘ a; spre exemplu, masca W
4
poate fi scris˘ a ¸si ca
W
4
=
_
_
0 0 0
0 1/2 1/6
0 1/6 1/6
_
_
; la fel s-a procedat ¸si cu m˘ a¸stile W
2
¸si W
3
. Trebuie remarcat
c˘ a toate aceste m˘ a¸sti respect˘ a condi¸tia de normare a unui nucleu de netezire (3.8).
3.2 Filtrarea liniar˘ a de contrastare
Contrastarea unei imagini are ca obiectiv îmbun˘ at˘ a¸tirea perceperii vizuale a contururilor
obiectelor (îmbun˘ at˘ a¸tirea detectabilit˘ a¸tii componentelor scenei de-a lungul frontierelor
acestora). În principiu, acest deziderat se poate realiza prin modificarea valorilor pixelilor
afla¸ti de o parte ¸si de alta a unei frontiere comune.
O experien¸t˘ a de percep¸tie vizual˘ a subiectiv˘ a (“benzile lui Mach”) a pus în eviden¸t˘ a faptul
c˘ a sistemul vizual uman are tendin¸ta de a adânci profilul zonelor de tranzi¸tie dintre regiuni
uniforme. Studiul fiziologiei sistemului vizual a demonstrat c˘ a acesta se realizeaz˘ a prin
prelucr˘ ari de tip derivativ ce apar în diferitele etape pe care le parcurge informa¸tia vizual˘ a;
efectul global poate fi descris ca sc˘ aderea din semnalul original a unei derivate secunde
a acestuia, ponderat˘ a corespunz˘ ator (a¸sa cum prezint˘ a figurile 3.3 ¸si 3.4, pentru cazul
unidimensional - sec¸tiunea unei frontiere între regiunile imaginii).
36
0 50 100 150 200 250
-0.5
0
0.5
1
1.5
Fig. 3.3: Profilul original de tranzi¸tie ¸si profilul adâncit prin sc˘ aderea derivatei secunde
0 50 100 150 200 250
-0.1
-0.05
0
0.05
0.1
Fig. 3.4: Derivata secund˘ a a profilului original prezentat anterior
Implementarea unei derivate secunde pentru cazul discret va trebui s˘ a ia în considerare
existen¸ta a dou˘ a direc¸tii de derivare de baz˘ a ¸si modul de definire a derivatei în cazul discret
(de exemplu prima derivat˘ a pe direc¸tia orizontal˘ a poate fi f

(m, n) = f(m, n+1)−f(m, n)
sau f

(m, n) = f(m, n) −f(m, n −1) sau f

(m, n) = f(m, n + 1) −f(m, n −1)). M˘ a¸sti
obi¸snuite de implementare a unei derivate secunde bidirec¸tionale (operator Laplacian)
pot fi [9], [19], [5]: W
5
=
_
_
0 −1/4 0
−1/4 1 −1/4
0 −1/4 0
_
_
, W
6
=
_
_
1/4 −1/2 1/4
−1/2 1 −1/2
1/4 −1/2 1/4
_
_
,
W
7
=
_
_
−1/8 −1/8 −1/8
−1/8 1 −1/8
−1/8 −1/8 −1/8
_
_
.
Pentru un astfel de operator de derivare este esen¸tial ca r˘ aspunsul s˘ au pentru pixeli din
interiorul unei regiuni absolut uniforme (de valoare µ) s˘ a fie nul (derivata unei constante
este nul˘ a); pentru aceasta, din formula de defini¸tie a filtr˘ arii liniare (3.2) avem c˘ a 0 =
37

(k,l)∈W
w
kl
µ, adic˘ a:

(k,l)∈W
w
kl
= 0 (3.9)
Aceasta este condi¸tia de normare a unui nucleu de filtrare derivativ˘ a, pentru care suma
coeficien¸tilor m˘ a¸stii trebuie deci s˘ a fie nul˘ a. Se remarc˘ a faptul c˘ a nucleele de derivat˘ a
secund˘ a (operatori laplacieni) prezentate anterior verific˘ a acest˘ a condi¸tie de normare
(3.9). Figurile urm˘ atoare prezint˘ a o imagine slab contrastat˘ a ¸si varianta sa îmbun˘ at˘ a¸tit˘ a
prin contrastare cu nucleul laplacian W
5
.
Imagine original˘ a Contrast îmbun˘ at˘ a¸tit
3.3 Filtrarea liniar˘ a adaptiv˘ a
Termenul de adaptiv se refer˘ a la capacitatea filtrului de a-¸si ajusta comportarea (care este
determinat˘ a de caracteristicile sale de defini¸tie) în func¸tie de anumite criterii, urm˘ arind
optimizarea unor m˘ asuri de calitate. În mod curent, optimizarea m˘ asurilor de calitate
se traduce în prelucrarea semnalelor unidimensionale prin minimizarea erorii p˘ atratice
medii (sau, corespunz˘ ator, maximizarea raportului semnal zgomot). Pe lâng˘ a m˘ asurile
obiective de calitate, prelucrarea imaginilor adaug˘ a ¸si o m˘ asur˘ a subiectiv˘ a: confortul
vizual al unui observator, pentru care imaginea dat˘ a arat˘ a bine, sau mai bine decât o
alta. Prin procesul de adaptare, în fiecare nou punct prelucrat structura filtrului este
alta, luând în considerare caracteristicile locale pixelului curent prelucrat.
Atâta timp cât (cel pu¸tin teoretic) în fiecare punct al imaginii opera¸tia este diferit˘ a
(deoarece se face cu un filtru diferit), filtrarea global˘ a nu mai este liniar˘ a (nu mai respect˘ a
principiul superpozi¸tiei (3.1)).
Adaptarea filtrelor liniare nu poate urm˘ ari decât dou˘ a variante: modificarea formei fe-
restrei de filtrare, sau modificarea coeficien¸tilor unei ferestre de filtrare de form˘ a fixat˘ a.
38
Exemplul cel mai folosit de modificare a modificare a formei ferestrei de filtrare este filtrul
de netezire direc¸tional˘ a adaptiv˘ a [9]. Termenul de filtrare direc¸tional˘ a se refer˘ a la forma
puternic orientat˘ a a ferestrei de filtrare (deci fereastra de filtrare nu mai este p˘ atrat˘ a, ci va
avea o form˘ a liniar˘ a, orientat˘ a dup˘ a o anumit˘ a direc¸tie). Pentru fiecare punct al imaginii
se pot considera mai multe orient˘ ari (deci mai multe direc¸tii) posibile pentru masca de
mediere. Pentru fiecare dintre direc¸tiile alese se ob¸tine în urma filtr˘ arii o valoare. În mod
ideal, dorim ca valoarea ob¸tinut˘ a prin filtrare s˘ a nu difere în mod semnificativ de valoarea
ini¸tial˘ a din pixelul considerat. O diferen¸t˘ a semnificativ˘ a poate însemna c˘ a punctul curent
este situat pe un contur, ¸si acceptarea acestei valori mult diferite de cea ini¸tial˘ a produce
efectul de înce¸to¸sare a imaginii (caracteristic oric˘ arei filtr˘ ari de netezire). Solu¸tia adus˘ a
de filtrul adaptiv este de a alege din setul de valori ob¸tinute pentru diferitele ferestre
de filtrare pe aceea care este cea mai apropiat˘ a de valoarea ini¸tial˘ a din punctul curent.
Fragmentul de cod urm˘ ator prezint˘ a un caz particular de filtrare direc¸tional˘ a adaptiv˘ a:
ferestrele direc¸tionale au trei puncte ¸si sunt alese dup˘ a cele patru direc¸tii principale
(orizontal, vertical ¸si cele dou˘ a diagonale, adic˘ a direc¸tiile orientate la 0

, 45

, 90

¸si 135

fa¸t˘ a de orizontal˘ a).
int val_temp1,val_temp2,out0,out45,out90,out135;
for (i=1;i<NRLIN-1;i++)
for (j=1;j<NRCOL-1;j++) {
out0=round((img[i][j]+img[i][j-1]+img[i][j+1])/3);
out90=round((img[i][j]+img[i-1][j]+img[i+1][j])/3);
out45=round((img[i][j]+img[i-1][j+1]+img[i+1][j-1])/3);
out135=round((img[i][j]+img[i-1][j-1]+img[i+1][j+1])/3);
if (abs(out0-img[i][j])>abs(out90-img[i][j]))
val_temp1=out90;
else
val_temp1=out0;
if (abs(out45-img[i][j])>abs(out135-img[i][j]))
val_temp2=out135;
else
val_temp2=out45;
if (abs(val_temp1-img[i][j])>abs(val_temp2-img[i][j]))
img_out[i][j]=val_temp2;
else
img_out[i][j]=val_temp1; }
În cod nu a mai fost inclus˘ a alocarea de memorie pentru imaginea de ie¸sire img_out ¸si
nici partea de copiere a valorii marginilor imaginii; se remarc˘ a folosirea a patru variabile
suplimentare out0, out45, out90, out135 care primesc valorile ob¸tinute prin filtrarea di-
rec¸tional˘ a cu masca orientat˘ a la 0

, 45

, 90

¸si 135

. Variabilele val_temp1 ¸si val_temp2
sunt folosite apoi pentru a calculul valorii celei mai apropiate de valoarea original˘ a.
Ideea de a accepta valoarea produs˘ a de medierea valorilor selectate de fereastra filtrului
39
numai dac˘ a acest˘ a valoare este suficient de apropiat˘ a de valoarea original˘ a se poate aplica
¸si pentru filtrarea de netezire cu fereastr˘ a ¸si coeficien¸ti fic¸si [5]. În acest caz rezultatul
netezirii într-un punct va fi acceptat doar dac˘ a diferen¸ta fa¸t˘ a de valoarea original˘ a este
mai mic˘ a decât un prag impus:
g(n, m) =
_
¸
_
¸
_

(k,l)∈W
w
kl
f(m−k, n −l), dac˘ a
¸
¸
¸
¸
¸
f(m, n) −

(k,l)∈W
w
kl
f(m−k, n −l)
¸
¸
¸
¸
¸
< T
f(m, n), în rest
O variant˘ a clasic˘ a de filtrare liniar˘ a adaptiv˘ a, realizat˘ a prin recalcularea coeficien¸tilor
m˘ a¸stii de filtrare în fiecare punct al imaginii este prezentat˘ a în [18]. Acest filtru este
o combina¸tie liniar˘ a convex˘ a a imaginii zgomotoase ¸si a imaginii ob¸tinute din aceasta
printr-o filtrare liniar˘ a de mediere (cu fereastr˘ a constant˘ a), adic˘ a:
ˆ
f = αf + β
¯
f. O
combina¸tie liniar˘ a convex˘ a se ob¸tine doar dac˘ a α + β = 1. Deci
ˆ
f = αf + (1 −α)f (3.10)
Imaginea zgomotoas˘ a f provine dintr-o imagine corect˘ a g, la care s-a ad˘ augat un zgomot
alb aditiv de medie nul˘ a n (n = 0) ¸si necorelat cu imaginea (ng = ng = 0): f = g + n.
Atunci
ˆ
f = α(g +n) + (1 −α)(g +n) = αg + αn + (1 −α)g (3.11)
Ceea ce define¸ste filtrul adaptiv este coeficientul α; acesta este calculat local impunând
optimizarea unei m˘ asuri de calitate obiective - eroarea p˘ atratic˘ a medie între imaginea
original˘ a g ¸si rezultatul filtr˘ arii
´
f.
ε
2
=
_
´
f −g
_
2
= (αn + (α −1)(g −g))
2
= α
2
n
2
+2α(α−1)ng−2α(α−1)ng+(α−1)
2
(g−g)
2
ε
2
= α
2
n
2
+ 2α(α −1)ng −2α(α −1)ng + (α −1)
2
(g −g)
2
= α
2
n
2
+ (α −1)
2
(g −g)
2
ε
2
= α
2
σ
2
n
+ (α −1)
2
σ
2
g
(3.12)
Formula (3.12) arat˘ a c˘ a eroarea p˘ atratic˘ a medie este suma ponderat˘ a dintre varian¸ta
(puterea) zgomotului σ
2
n
¸si varian¸ta imaginii originale σ
2
g
. G˘ asirea coeficientului α optim
înseamn˘ a g˘ asirea minimului lui ε
2
, deci anularea derivatei acestuia.

2

= 2ασ
2
n
+ 2(α −1)σ
2
g
= 0
α =
σ
2
g
σ
2
g
+ σ
2
n
= 1 −
σ
2
n
σ
2
f
(3.13)
De aici rezult˘ a expresia final˘ a a filtrului:
´
f =
_
1 −
σ
2
n
σ
2
f
_
f +
σ
2
n
σ
2
f
f (3.14)
40
Se observ˘ a c˘ a trebuiesc cunoscute puterea de zgomot ¸si varian¸ta local˘ a (în fiecare punct)
al imaginii zgomotoase. Adaptarea se face între dou˘ a cazuri limit˘ a: dac˘ a puterea de
zgomot este mult mai mare decât varian¸ta valorilor imaginii originale (σ
2
n
σ
2
g
) atunci,
din prima parte a formulei (3.13) rezult˘ a α = 0 ¸si deci filtrul optim este un simplu filtru
de mediere; dac˘ a varian¸ta valorilor din imagine este mult mai mare decât puterea de
zgomot (σ
2
f
σ
2
n
, deci este de presupus c˘ a punctul curent considerat este situat pe un
contur) atunci α = 1 ¸si filtrul optim este un filtru identitate (trece tot). Prezent˘ am în
continuare codul Matlab ce implementeaz˘ a acest˘ a filtrare adaptiv˘ a:
[NRLIN,NRCOL]=size(img);
for i=2:NRLIN-1
for j=2:NRCOL-1
temp=img(i-1:i+1,j-1:j+1);
temp=temp(:);
varianta_img=std(temp);
alfa=1-varianta_zg/varianta_img;
img_out(i,j)=alfa*img(i,j)+(1-alfa)mean(temp);
end
end
Se folosesc func¸tiile Matlab mean (pentru a calcula media valorilor selectate de fereastra
de filtrare p˘ atrat˘ a de 3 x 3) ¸si std (pentru a calcula varian¸ta local˘ a a imaginii). Se
presupune c˘ a puterea de zgomot varianta_zg este un parametru cunoscut.
În capitolul urm˘ ator se va introduce o nou˘ a posibilitate de caracterizare a efectelor filtr˘ arii
liniare a imaginilor: reprezentarea în domeniul frecven¸telor spa¸tiale (o extensie direct˘ a
a spectrului semnalelor unidimensionale). De asemenea vom ar˘ ata c˘ a r˘ amâne valabil˘ a
teorema convolu¸tiei, prin care vom introduce ¸si o nou˘ a modalitate de implementare a
filtrelor liniare: filtrarea în domeniul de frecven¸t˘ a.
41
Capitolul 4
TRANSFORM
˘
ARI INTEGRALE
UNITARE DISCRETE
4.1 Generalit˘ a¸ti
Aceast˘ a categorie de prelucr˘ ari include opera¸tii de tip integral — totalitatea pixelilor
imaginii ini¸tiale contribuie la ob¸tinerea valorii fiec˘ arui pixel din imaginea rezultat. În
[9] se consider˘ a c˘ a termenul de transform˘ ari de imagine se refer˘ a în mod uzual la o
clas˘ a de matrici unitare folosite pentru reprezentarea imaginilor. Orice imagine poate fi
reprezentat˘ a ca o serie de matrici de baz˘ a ortonormale. Pentru o imagine p˘ atrat˘ a U
1
de
dimensiune N, o dezvoltare în serie este
U =
N−1

m=0
N−1

n=0
A

kl
V (k, l) (4.1)
unde A

kl
sunt matricile de baz˘ a
2
(de dimensiuni N × N) iar V (k, l) sunt coeficien¸tii
dezvolt˘ arii în serie. Exprimând rela¸tia (4.1) la nivelul fiec˘ arui pixel al imaginii U ob¸tinem
U(m, n) =
N−1

k=0
N−1

l=0
a

kl
(m, n)V (k, l) (4.2)
Calculul coeficien¸tilor V (k, l) ai transform˘ arii se poate face în condi¸tiile impuse de orto-
1
În acest capitol vom folosi nota¸tiile matriciale ¸si vectoriale clasice: litere mari, drepte ¸si groase pentru
matrici (A este o matrice), litere mici, drepte ¸si groase pentru vectori (v este un vector) ¸si litere înclinate
pentru elementele vectorilor ¸si matricilor (A(i, j), v(m)).
2
Numite uneori ¸si imagini de baz˘ a.
42
gonalitate ¸si completitudine a matricilor de baz˘ a A

kl
prin:
V (k, l) =
N−1

m=0
N−1

n=0
a
kl
(m, n)U(m, n) (4.3)
Mul¸timea coeficien¸tilor transform˘ arii V (k, l) formeaz˘ a matricea V, transformata imaginii.
Atunci rela¸tia (4.2) este transformarea direct˘ a a imaginii, iar rela¸tia (4.3), prin care se
ob¸tine imaginea din transformata sa, este transformata invers˘ a. Se poate remarca faptul
c˘ a ambele transform˘ ari (direct˘ a ¸si invers˘ a) necesit˘ a N
4
opera¸tii de înmul¸tire, ¸si deci o
complexitate O(N
4
).
Condi¸tia de ortonormalitate a matricilor de baz˘ a se exprim˘ a ca
N−1

m=0
N−1

n=0
a
kl
(m, n)a

k

l
(m, n) = δ(k −k

, l −l

), ∀k, l, k

, l

(4.4)
¸si asigur˘ a faptul c˘ a orice dezvoltare în serie truncheat˘ a minimizeaz˘ a eroarea p˘ atratic˘ a de
aproximare.
Condi¸tia de completitudine a matricilor de baz˘ a se exprim˘ a ca
N−1

k=0
N−1

l=0
a
kl
(m, n)a

kl
(m

, n

) = δ(m−m

, n −n

), ∀m, n, m

, n

(4.5)
¸si asigur˘ a faptul c˘ a baza de matrici folosit˘ a este complet˘ a.
O transformare de tip (4.2) este deci caracterizat˘ a de cei N
4
coeficien¸ti a
kl
(m, n), ce pot fi
interpreta¸ti ca valori ai unei func¸tii de patru variabile (k, l, m, n), câte dou˘ a pentru fiecare
imagine (ini¸tial˘ a ¸si transformat˘ a). Aceast˘ a func¸tie se nume¸ste nucleul transform˘ arii. Prin
defini¸tie, o transfomare se zice separabil˘ a dac˘ a nucleul ei este separabil dup˘ a perechi de
variabile corespondente:
a
kl
(m, n) = a
k
(m)b
l
(n) = a(k, m)b(l, n) (4.6)
Impunând condi¸tiile (4.4) ¸si (4.5) acestei noi forme a coeficien¸tilor transform˘ arii, rezult˘ a
c˘ a matricile A = {a(k, m)} ¸si B = {b(l, n)} trebuie s˘ a fie matrici unitare:
AA
∗T
= A
T
A

= I
N
(4.7)
BB
∗T
= B
T
B

= I
N
Pentru o transformare separabil˘ a, rela¸tiile de defini¸tie (4.2) ¸si (4.3) pot fi rescrise sub
form˘ a matricial˘ a ca:
V = AUB
T
(4.8)
U = A
∗T
VB

(4.9)
43
Num˘ arul de înmul¸tiri necesare pentru a realiza oricare dintre transform˘ arile (4.8) sau
(4.9) este doar N
3
(deci o complexitate O(N
3
)). Proprietatea de separabilitate conduce
deci la reducerea complexit˘ a¸tii calculelor cu un ordin de m˘ arime; în practic˘ a se folosesc
numai transform˘ ari separabile, pentru care, în plus, A = B. În acest caz particular,
rela¸tia (4.8) se poate scrie ca
V = AUA
T
= A(AU
T
)
T
= (U
T
A
T
)
T
A
T
ceea ce înseamn˘ a c˘ a se poate face o transformare unidimensional˘ a pe fiecare linie sau
coloan˘ a a lui U urmat˘ a de aceea¸si transformare pe fiecare coloan˘ a sau linie a rezulta-
tului. Astfel, transform˘ arile practic utilizate în prelucrarea imaginilor (matricilor) sunt
(paradoxal ?) unidimensionale.
Aceste observa¸tii ne conduc la concluzia c˘ a pentru acoperirea cazurilor utilizate în mod
curent este suficient˘ a studierea propriet˘ a¸tilor transformatelor integrale unitare unidimen-
sionale.
4.2 Propriet˘ a¸tile transformatelor unitare unidimen-
sionale
În cele ce urmeaz˘ a vom considera semnalul de intrare u = (u(0), u(1), ..., u(N − 1)) ¸si
transformata sa v, ob¸tinut˘ a prin folosirea matricii unitare A. Rela¸tiile de transformare
(direct˘ a ¸si invers˘ a) sunt v = Au ¸si u = A
∗T
v.
1. Energia semnalului se conserv˘ a printr-o transformare unitar˘ a.
E
v
= v
2
= v
∗T
v = (Au)
∗T
Au = u
∗T
A
∗T
Au = u
∗T
u =u
2
= E
u
(4.10)
Energia vectorului semnal este de fapt lungimea (Euclidian˘ a) a acestuia în spa¸tiul
N-dimensional de reprezentare. Conservarea energiei este deci echivalent˘ a cu con-
servarea lungimii vectorului, deci transformarea unitar˘ a este o rota¸tie în spa¸tiul
semnalului. Aceasta înseamn˘ a c˘ a baza de reprezentare a lui u este rotit˘ a, iar v este
proiec¸tia lui u pe noua baz˘ a.
2. Energia medie a semnalului se conserv˘ a printr-o transformare unitar˘ a.
v=Au= Au (4.11)
E
v
= v
∗T
v = (Au)
∗T
Au = u
∗T
A
∗T
Au=u
∗T
u = E
u
(4.12)
Corela¸tiei componentelor semnalului se modific˘ a; dac˘ a not˘ am cu C matricea de
covaria¸tie atunci:
C
u
= (u −u)(u −u)
∗T
(4.13)
44
C
v
= (v −v)(v −v)
∗T
= A(u −u)(u −u)
∗T
A
∗T
= AC
u
A
∗T
(4.14)
Majoritatea transform˘ arilor unitare au tendin¸ta de a aglomera o mare parte a
energiei medii a semnalului în relativ pu¸tini coeficien¸ti ai transform˘ arii. Deoarece
energia total˘ a se conserv˘ a prin transfomare, mul¸ti coeficien¸ti ai transform˘ arii vor
con¸tine foarte pu¸tin˘ a energie. Energia medie a coeficien¸tilor transform˘ arii va avea
o distribu¸tie neuniform˘ a, chiar dac˘ a în secven¸ta de intrare aceasta era uniform
distribuit˘ a.
Dac˘ a componentele lui u sunt puternic corelate, coeficien¸tii transform˘ arii vor fi
decorela¸ti (termenii matricii de covaria¸tie care nu sunt pe dioagonala principal˘ a vor
avea valori mici comparativ cu valorile de pe diagonal˘ a).
3. Entropia unui vector cu componente aleatoare se conserv˘ a printr-o transformare
unitar˘ a
H(u) =
N
2
log
2
(2πe |C
u
|
1/N
) =
N
2
log
2
(2πe |C
v
|
1/N
) = H(v) (4.15)
Deoarece entropia este o m˘ asur˘ a a cantit˘ a¸tii de informa¸tie (informa¸tia medie)
înseamn˘ a ca transform˘ arile unitare p˘ astreaz˘ a informa¸tia con¸tinut˘ a în semnal.
4.3 Transformata Fourier discret˘ a
Transformata Fourier este poate cea mai important˘ a transformare integral˘ a unitar˘ a, ce
asigur˘ a trecerea între spa¸tiul semnalului ¸si spa¸tiul de frecven¸te ale semnalului. Dup˘ a
cum semnalul este “clasic” (temporal, ¸si deci unidimensional) sau cu suport spa¸tial bidi-
mensional (imagine), spa¸tiul de frecven¸t˘ a marcheaz˘ a frecven¸te propriu-zise sau frecven¸te
spa¸tiale.
Transformata Fourier discret˘ a bidimensional˘ a este o transformare separabil˘ a, în care nu-
cleul se poate descompune în termeni identici A = B = F. Matricea F a transform˘ arii
este o matrice unitar˘ a, ce verific˘ a (4.7). Elementele matricii transform˘ arii sunt expo-
nen¸tialele complexe:
F(k, n) =
1

N
e
−j

N
kn
=
1

N
w
kn
N
(4.16)
Separabilitatea ne permite deci s˘ a studiem majoritatea propriet˘ a¸tilor transform˘ arii pe
cazul unidimensional, urmând ca rezultatele s˘ a fie u¸sor extinse pentru cazul bidimen-
sional. Folosind nota¸tiile introduse în sec¸tiunea 4.2, putem scrie deci transformata Fourier
unidimensional˘ a direct˘ a ca:
v(k) =
N−1

n=0
u(n)w
kn
N
, k = 0, N −1 (4.17)
45
iar transformarea invers˘ a ca
u(n) =
1
N
N−1

k=0
v(k)w
−kn
N
, n = 0, N −1 (4.18)
Rela¸tiile se extind imediat la cazul bidimensional:
v(k, l) =
N−1

m=0
N−1

n=0
u(m, n)w
kn+ml
N
, k, l = 0, N −1 (4.19)
u(m, n) =
1
N
2
N−1

k=0
N−1

l=0
v(k, l)w
−(kn+ml)
N
, m, n = 0, N −1 (4.20)
Trebuie totu¸si remarcat c˘ a formele prezentate ale transform˘ arilor nu mai sunt unitare
(apare o asimetrie între transformarea direct˘ a ¸si cea invers˘ a prin factorul de scalare de
tip 1/N). Matematic, defini¸tia (4.16) este corect˘ a, dar în practic˘ a se folosesc formele
neunitare prezentate în (4.17), (4.18) ¸si (4.19), (4.20).
4.3.1 Propriet˘ a¸tile fundamentale ale transformatei Fourier
Dintre numeroasele propriet˘ a¸ti ale transformatei Fourier [9], [19] ne vom referi doar
la dou˘ a propriet˘ a¸ti fundamentale: simetria central˘ a a spectrului de frecven¸t˘ a (având
drept consecin¸t˘ a important˘ a faptul c˘ a este necesar acela¸si spa¸tiu de memorie pentru a
reprezenta fie spectrul unei imagini, fie imaginea propriu-zis˘ a) ¸si teorema convolu¸tiei cir-
culare (care face leg˘ atura între filtrarea în domeniul spa¸tial ¸si în domeniul de frecven¸t˘ a).
Transformata Fourier a unei secven¸te (matrici) reale este complex conjugat˘ a fa¸t˘ a de
mijlocul s˘ au [9]. Aceasta înseamn˘ a c˘ a
v(
N
2
−k) = v

(
N
2
+k), k = 0,
N
2
(4.21)
v(
N
2
−k,
N
2
−l) = v

(
N
2
+k,
N
2
+l), k, l = 0,
N
2
Rela¸tiile arat˘ a c˘ a exist˘ a o simetrie central˘ a a spectrelor de frecven¸t˘ a, în centru aflându-se
o valoare real˘ a. Dar singura valoare real˘ a din spectre este cea ce corespunde componentei
de fecven¸t˘ a nul˘ a (componenta medie), ¸si deci este necesar˘ a o interschimbare a jum˘ at˘ a¸tilor
de spectru (în cazul secven¸telor unidimensionale) sau a sferturilor de spectru (în cazul
imaginilor), astfel încât componenta de frecven¸t˘ a nul˘ a s˘ a fie în centru. În figura 4.1 este
reprezentat modulul spectrului de frecven¸t˘ a al imaginii “lena”, reprezentat cu 256 nivele
de gri (valorile au fost scalate dup˘ a o reprezentare logaritmic˘ a) astfel încât valorile mai
mari corspund unei nuan¸te mai deschise. Se observ˘ a în partea dreapt˘ a spectrul cen-
tral simetrizat, în care valorile maxime (corespunzâd frecven¸telor cele mai mici, inclusiv
46
Fig. 4.1: Spectrele de frecven¸t˘ a (Fourier) ale imaginii “lena”, înainte ¸si dup˘ a aranjarea
cu simetrie central˘ a.
zero) se g˘ asesc în centrul imaginii, iar în partea stâng˘ a spectrul original ob¸tinut în urma
transform˘ arii Fourier, în care maximele se g˘ asesc pe cele patru col¸turi.
Ca ¸si în cazul unidimensional, ¸si pentru imagini leg˘ atura dintre frecven¸tele spa¸tiale ¸si
obiectele din domeniul spa¸tial (imagine) se p˘ astreaz˘ a: frecven¸tele spa¸tiale ridicate co-
respund detaliilor, obiectelor mici, contururilor, zgomotului. În figura 4.2 este prezentat
spectrul de frecven¸t˘ a al imaginii “lena” degradat˘ a de zgomot impulsiv de tip sare ¸si piper
(figura 5.1); zgomotul impulsiv corespunde apari¸tiei a numeroase detalii (obiecte mici —
punctele de zgomot) ¸si varia¸tii ale nivelului de gri. Efectul evident este acela de m˘ arire
a valorilor din spectru corespunz˘ atoare frecven¸telor înalte ¸si, corespunz˘ ator, diminuarea
importan¸tei relative a frecven¸telor joase.
Fig. 4.2: Spectrul de frecven¸t˘ a al imaginii “lena” degradat˘ a de zgomot impulsiv.
47
Prelucrarea imaginilor (fie ele scalare sau vectoriale) presupune executarea, prin inter-
mediul unui bloc func¸tional ce poate fi presupus ini¸tial de tip “cutie neagr˘ a”, a unei
opera¸tii de tip Image In, Image Out [2] (spre deosebire de tehnicile de analiz˘ a ce pot fi
caracterizate ca opera¸tii Image In, Description Out). Transformarea imaginii de intrare
în imaginea rezultat de ie¸sire (ce prezint˘ a acelea¸si caracteristici majore, simbolice ¸si per-
ceptuale
3
) se nume¸ste în mod generic filtrare
4
. Func¸tia unui filtru este de a transforma
un semnal dat într-un alt semnal, mai potrivit unei anume aplica¸tii date.
Defini¸tiile filtr˘ arii (sau ale dispozitivului care o realizeaz˘ a, filtrul) ce se reg˘ asesc în dic-
¸tionarele lingvistice de uz general fac apel la no¸tiunea de semnal electric ¸si de frecven¸te
asociate componentelor acestuia. Descrierea ac¸tiunii filtrului este descrierea unei opera¸tii
liniare efectuate în domeniul frecven¸telor. Extinderea acestor defini¸tii la cazul imaginilor
presupune în primul rând definirea spectrului de frecven¸t˘ a asociat unui semnal cu suport
[spa¸tial] multidimensional ¸si, implicit, introducerea no¸tiunii de frecven¸t˘ a spa¸tial˘ a. Uti-
lizarea unei prelucr˘ ari în domeniul frecven¸telor presupune apoi identificarea benzilor de
frecven¸t˘ a corepunz˘ atoare entit˘ a¸tilor ce se doresc p˘ astrate, respectiv eliminate, asociere
ce nu este întotdeauna simpl˘ a. În practic˘ a, aceasta înseamn˘ a determinarea unui spectru
de frecven¸te transformat, care apoi este transformat prin transformata Fourier invers˘ a în
imaginea filtrat˘ a — aceasta este filtrarea în domeniul frecven¸t˘ a.
Filtrarea liniar˘ a a imaginilor se bazeaz˘ a pe convolu¸tia [circular˘ a] între imaginea de pre-
lucrat ¸si un nucleu de filtrare (a se vedea capitolul 3); teoria transformatelor unitare
[9] arat˘ a c˘ a o asemenea opera¸tie este echivalent˘ a unui produs între spectrul Fourier al
imaginii ¸si spectrul Fourier al nucleului de filtrare; aceasta este teorma convolu¸tiei. În
cazul unidimensional, dac˘ a secven¸tele x ¸si y au aceea¸si lungime, ¸si U este operatorul de
convolu¸tie circular˘ a (definit în (4.23)) atunci:
Fourier(x Uy) = Fourier(x) Fourier(y) (4.22)
x Uy(n) =
N−1

k=0
x((n −k) mod N) y(k), n = 0, N −1 (4.23)
Teorema convolu¸tiei ofer˘ a deci instrumentul prin care se pot echivala opera¸tiile de filtrare
realizate în domeniile spa¸tial (filtrarea liniar˘ a, prezentat˘ a în capitolul 3) ¸si de frecven¸t˘ a.
Aceasta înseamn˘ a c˘ a un nucleu mic de convolu¸tie (masc˘ a de filtrare) este bordat cu ze-
rouri pân˘ a la ob¸tinerea dimensiunii imaginii (teorema convolu¸tiei circulare se refer˘ a la
3
Prin prisma acestei defini¸tii, transfom˘ arile unitare ale imaginilor (deci reprezentarea într-un spa¸tiu
spectral) nu sunt filtr˘ ari; spectrul unei imagini, de¸si este echivalent acesteia din punct de vedere infor-
ma¸tional, nu are acelea¸si caracteristici perceptuale.
4
Filtrul este un sistem de circuite electrice, sonore, etc. cu care se selecteaz˘ a dintr-un complex
de oscila¸tii cu frecven¸te diferite, oscila¸tiile cu frecven¸tele cuprinse între anumite limite. (Dic¸tionarul
Explicativ al Limbii Române, 1995)
Filtrul este un dispozitiv ce amortizeaz˘ a selectiv oscila¸tiile cu anumite frecven¸te ¸si nu afecteaz˘ a os-
cila¸tiile având alte frecven¸te. (Webster Encyclopedic Unabridged Dictionary, 1995)
Filtrul este un dispozitiv destinat favoriz˘ arii sau inhib˘ arii trecerii anumitor componente de frecven¸t˘ a
a unui semnal electric. (Larousse, 1994)
48
secven¸te de aceea¸si lungime) ¸si apoi transformat Fourier; ceea ce se ob¸tine este r˘ aspunsul
în frecven¸t˘ a al filtrului. Figura 4.3 prezint˘ a r˘ aspunsul în frecven¸t˘ a a filtrului de mediere
aritmetic˘ a realizat cu un nucleu p˘ atrat, centrat de 3 x 3; se remarc˘ a comportamentul de
tip filtru trece jos. Acest comportament este leagt de efectul de “blur” al filtrului de me-
diere, pus în eviden¸t˘ a prin reducerea vizibilit˘ a¸tii contururilor imaginii, ¸si deci înl˘ aturarea
frecven¸telor înalte ce le sunt asociate.
Fig. 4.3: R˘ aspunsul în frecven¸t˘ a a unui nucleu 3 x 3 de mediere aritmetic˘ a.
4.3.2 Transformata Fourier rapid˘ a
Implementarea direct˘ a a rela¸tiei de defini¸tie a transform˘ arii Fourier discrete unidimen-
sionale (4.17) necesit˘ a evident N
2
înmul¸tiri complexe ¸si N(N−1) adun˘ ari, ceea ce duce la
o complexitate O(N
2
). Realizarea unei implement˘ ari mai rapide a transform˘ arii Fourier
(FFT - Fast Fourier Transform) a constituit unul dintre momentele cele mai importante
pentru domeniul prelucr˘ arii digitale a semnalelor. Tehnica ini¸tial˘ a a fost divizarea în
timp: cele N e¸santioane ale secven¸tei se împart în dou˘ a, dup˘ a indicii pari ¸si respectiv
impari:
v(k) =
N−1

n=0
u(n) exp(−j

N
kn) =
=
N/2−1

n=0
u(2n) exp(−j

N
k · 2n) +
N/2−1

n=0
u(2n + 1) exp(−j

N
k(2n + 1)) =
=
N/2−1

n=0
u(2n) exp(−j
2πk
N/2
2n) exp(j
2πk
N
2n)+exp(−j
2πk
N
)
N/2−1

n=0
u(2n+1) exp(−j
2πk
N/2
2n) =
49
=
N/2−1

n=0
u
par
(n) exp(−j
2πk
N/2
n) + exp(−j
2πk
N
)
N/2−1

n=0
u
impar
(n) exp(−j
2πk
N/2
n) =
= v
par
(k) + exp(−j
2πk
N
)v
impar
(k) (4.24)
În (4.24) am notat cu u
par
secven¸ta ob¸tinut˘ a din toate valorile pare ale secven¸tei ini¸tiale,
iar cu u
impar
secven¸ta ob¸tinut˘ a din toate valorile impare ale secven¸tei ini¸tiale. Aceast˘ a
rela¸tie exprim˘ a posibilitatea construirii transform˘ arii Fourier a secven¸tei u de lungime
N prin transform˘ arile Fourier ale unor jum˘ at˘ a¸ti de secven¸t˘ a (de lungime N/2) — v
par
¸si
v
impar
.
Dac˘ a not˘ am cu T(N) timpul de calcul al transformatei Fourier a secven¸tei de lungime
N, atunci avem:
T(N) = 2T
_
N
2
_
+N (4.25)
În mod evident T(1) = 1 (transformata Fourier a secven¸tei de lungime 1 este identic˘ a cu
secven¸ta); dezvoltând ecua¸tia recurent˘ a din (4.25) ob¸tinem:
T(N) = 2T
_
N
2
_
+N = 2
_
2T
_
N
4
_
+
N
2
_
+N = 4T
_
N
4
_
+ 2N =
= ... = 2
i
T
_
N
2
i
_
+iN (4.26)
La limit˘ a, când i este ales astfel ca N = 2
i
vom avea:
T(N) = NT(1) +N log
2
N = N log
2
N +N
ceea ce este echivalent cu o complexitate de O(N log N). Sporul de vitez˘ a ob¸tinut prin
FFT fa¸t˘ a de implementarea clasic˘ a este deci propor¸tional cu N/ log
2
N (deci aproape un
ordin de m˘ arime pentru o lungime tipic˘ a de secven¸t˘ a N = 256).
Rela¸tia de implementare de baz˘ a (4.24) mai poate fi scris˘ a ¸si ca:
v(k) = v
par
(k) +w
k
N
v
impar
(k), k = 0, ...,
N
2
−1 (4.27)
v(k) = v
par
(k) −w
k
N
v
impar
(k), k =
N
2
, ..., N −1
ceea ce semnific˘ a faptul c˘ a dou˘ a valori ale transform˘ arilor Fourier ale secven¸telor pe
jum˘ atate sunt combinate liniar pentru a genera dou˘ a valori, simetrice fa¸t˘ a de centru, ale
secven¸tei originale. Blocul ce realizeaz˘ a aceste prelucr˘ ari este numit celul˘ a “butterfly”,
caracterizat de o opera¸tie de înmul¸tire-adunare
5
(figura 4.4).
5
Opera¸tia de îmul¸tire-adunarte este una dintre opera¸tiile de baz˘ a (cablate) din setul de instruc¸tiuni
al procesoarelor de semnal (DSP).
50
v
impar
(k)
-w
N
k
+w
N
k
v
par
(k)
v(k)
v(N/2+k)
Fig. 4.4: Celula de baz˘ a butterfly
Construind etapele succesive de înjum˘ at˘ a¸tire a lungimii secven¸tei, pentru o secven¸t˘ a de
lungime N = 8 se ajunge la schema din figura 4.5. Se remarc˘ a reordonarea e¸santioanelor
secven¸tei de intrare dup˘ a ordinea de bit invers˘ a bit-reverse (forma binar˘ a a noului indice
este forma binar˘ a a vechiului indice reflectat˘ a).
w
8
3
w
8
2
w
8
1
w
8
4
w
8
4
w
8
0
w
8
0
w
8
0
w
8
0
w
8
0
w
8
0
w
8
0
u(0)
u(4)
u(2)
u(6)
u(1)
u(5)
u(3)
u(7)
v(0)
v(1)
v(2)
v(3)
v(4)
v(5)
v(6)
v(7)
Fig. 4.5: Schema FFT pentru o secven¸t˘ a de lungime 8.
Implement˘ arile clasice ale FFT folosesc o reordonare in-place a secven¸tei de intrare (în
acela¸si spa¸tiu de memorie, prin interschimb˘ ari) pentru numere complexe (scrise în ordinea
parte real˘ a, parte imaginar˘ a). Acela¸si cod este folosit atât pentru transformata direct˘ a
cât ¸si pentru transformata invers˘ a, doar prin modificarea unui parametru de semn ce
intervine la calculul coeficien¸tilor Fourier w
N
. Rezultatul (transformata) ia locul datelor
51
de intrare, în acela¸si spa¸tiu de memorie (deci din nou o implementare in-place). În
continuare prezent˘ am codul C din [13].
void fft(float data,integer nn,isign)
integer m,n,mmax,i,j,step;
n=nn<<1;
j=1;
for (i=1;i<n;i+=2){
if (j>i) {
swap(data[j],[data[i]);
swap(data[j+1],[data[i+1]);}}
m=n>>1;
while (m>=2 && j>m) {
j-=m;
m>>=1;}
j+=m;}
mmax=2;
while (n>mmax) {
step=2*mmax;
teta=2*PI/(isign*mmax);
wtemp=sin(teta/2);
wpr=-2*wtemp*wtemp;
wpi=sin(teta);
wr=1;
wi=0;
for (m=1;m<mm1x;m+=2) {
for (i=m;i<=n;i+=step) {
j=i+mmax;
tempr=wr*data[j]-wi*data[j+1];
tempi=wr*data[j+1]+wi*data[j];
data[j]=data[i]-tempr;
data[j+1]=data[i+1]-tempi;
data[i]+=tempr;
data[i+1]+=tempi;}
wr=(wtemp=wr)*wpr-wi*wpi+wr;
wi=wi*wpr+wtemp*wpi+wi;}
mmax=step;}
Prima parte a codului realizeaz˘ a reordonarea seceven¸tei în ordinea invers˘ a de bit. În
partea a doua a codului se realizeaz˘ a calculul efectiv al celulelor butterfly, corespunzând
transform˘ arilor unor secven¸te de dimensiune mmax, ¸si deci prelu˘ arii unor date situate la
52
distan¸ta mmax între indici (vizibil ¸si în schema din figura 4.5).
Transformata rapid˘ a bidimensional˘ a implic˘ a realizarea câte unei transform˘ ari unidimen-
sionale pentru fiecare linie ¸si coloan˘ a a imaginii (conform principiului separabilit˘ a¸tii);
aceasta conduce la o complexitate O(N
2
log N).
4.4 Alte transform˘ ari
În cele ce urmeaz˘ a vom prezenta pe scurt alte transform˘ ari unitare folosite în prelucrarea
imaginilor; apari¸tia acestora s-a datorat adapt˘ arii mai bune decât transformata Fourier
la compactarea energiei ¸si decorelarea spectral˘ a a anumitor clase de semnale.
4.4.1 Transformata cosinus
Transformata cosinus este o transformat˘ a unitar˘ a separabil˘ a, caracterizat˘ a de A = B =
C. Elementele matricii C sunt date de
C(k, n) =
1

N
_
1, dac˘ a k = 0

2 cos
(2n+1)πk
2N
, dac˘ a k = 1, N −1
, n = 0, N −1 (4.28)
Transform˘ arile direct˘ a ¸si invers˘ a a unei secven¸te u sunt definite ca:
v(k) = α(k)
N−1

n=0
u(n) cos
(2n + 1)πk
2N
, k = 0, N −1 (4.29)
u(n) =
N−1

k=0
α(k)v(k) cos
(2n + 1)πk
2N
, n = 0, N −1 (4.30)
unde
α(k) =
1

N
_
1, k = 0

2, k = 0
(4.31)
Una dintre propriet˘ a¸tile importante ale transformatei cosinus se refer˘ a la leg˘ atura acesteia
cu transformata Fourier: transformata cosinus a unei secven¸te nu este partea real˘ a a
transformatei Fourier a aceleia¸si secven¸te. Transformata cosinus se poate ob¸tine prin
transformarea Fourier a unei secven¸te rearanjate sau a unei secven¸te dublate ¸si simetrizate
central. Fie N par; ¸si definim
¯ u
1
(n) = u(2n)
¯ u
1
(N −n −1) = u(2n + 1)
, n = 0,
N
2
−1 (4.32)
53
¯ u
2
(n) =
_
u(N −n −1), 0 n < N
u(n −N), N n < 2N
(4.33)
Aceasta înseamn˘ a c˘ a secven¸ta u
1
este u(0), u(2), u(4), ..., u(N −2), u(N −1), u(n−3), ...,
u(3), u(1), iar secven¸ta u
2
este u(N − 1), u(N − 2), ..., u(1), u(0), u(0), u(1), ..., u(N −
2), u(n −1). Atunci:
COS(u) = Re
_
α(k) exp(−
jπk
2N
) Fourier( u
1
)
_
(4.34)
COS(u) = Fourier( u
2
) exp(−
πk
2N
), k = 0, ..., N −1 (4.35)
O consecin¸t˘ a imediat˘ a a acestor rela¸tii este posibilitatea realiz˘ arii unei transform˘ ari co-
sinus rapide (de complexitate O(N log N)) folosind transformata Fourier rapid˘ a.
O alt˘ a proprietate important˘ a a transformatei cosinus este accea c˘ a vectorii bazei cosinus
(coloanele matricii C) sunt vectori proprii pentru orice matrice simetric˘ a tridiagonal˘ a de
forma:
Q =
_
_
_
_
_
_
_
_
1 −ρ −ρ 0 ... ... 0
−ρ 1 −ρ −ρ 0 ... 0
0 −ρ 1 −ρ −ρ ... 0
... ... ... ... ... ...
0 ... 0 −ρ 1 −ρ −ρ
0 ... ... 0 −ρ 1 −ρ
_
_
_
_
_
_
_
_
(4.36)
Dac˘ a not˘ am cu c
k
coloana k a matricii transform˘ arii cosinus, atunci:
Qc
k
= λ
k
c
k
Aceast˘ a proprietate revel˘ a faptul c˘ a transfomata cosinus se comport˘ a precum transfor-
mata Karhunen-Loeve pentru orice clas˘ a de semnale a c˘ aror matrice de covaria¸tie este de
forma (4.36). Dar aceast˘ a form˘ a este tipic˘ a secven¸telor sta¸tionar Markov de ordinul 1,
cu parametru de corela¸tie mare (ρ →1), model adeseori folosit în cazul imaginilor. Deci
transformata cosinus este similar˘ a transform˘ arii optime de decorelare Karhunen-Loeve
pentru o clas˘ a larg˘ a de imagini naturale (alte comentarii referitoare la aceast˘ a propri-
etate ¸si la aplica¸tiile ei practice se g˘ asesc în sec¸tiunea 7.2.2, referitoare la compresia
imaginilor cu transformate).
4.4.2 Transformata sinus
Transformata sinus este o transformat˘ a unitar˘ a separabil˘ a, caracterizat˘ a de A = B = S.
Elementele matricii S sunt date de
S(k, n) =
_
2
N + 1
sin
π(k + 1)(n + 1)
N + 1
, k, n = 0, N −1 (4.37)
54
Transform˘ arile direct˘ a ¸si invers˘ a a unei seceven¸te u sunt definite ca:
v(k) =
_
2
N + 1
N−1

n=0
u(n) sin
π(k + 1)(n + 1)
N + 1
, k = 0, N −1 (4.38)
u(n) =
_
2
N + 1
N−1

k=0
v(k) sin
π(k + 1)(n + 1)
N + 1
, n = 0, N −1 (4.39)
Una dintre propriet˘ a¸tile importante ale transformatei sinus se refer˘ a la leg˘ atura acesteia
cu transformata Fourier: transformata sinus a unei secven¸te nu este partea imaginar˘ a
a transformatei Fourier a aceleia¸si secven¸te. Transformata sinus se poate ob¸tine prin
transformarea Fourier a extensiei antisimetrice a secven¸tei. Fie N par; ¸si definim
¯ u(0) = ¯ u(N + 1) = 0
¯ u(n) = −u(N −n)
¯ u(N + 2 +n) = u(n)
, n = 1, N (4.40)
Aceasta înseamn˘ a c˘ a secven¸ta ¯ u este 0, −u(N−1), −u(N−2), ..., −u(1), −u(0), 0, u(0), u(1), ...,
u(N −1). Atunci
SIN(u) = Im
_
−j(−1)
k
Fourier(¯ u)
¸
(4.41)
O consecin¸t˘ a imediat˘ a a acestei rela¸tii este posibilitatea realiz˘ arii unei transform˘ ari sinus
rapide (de complexitate O(N log N)) folosind transformata Fourier rapid˘ a.
O alt˘ a proprietate important˘ a a transformatei sinus este aceea c˘ a vectorii bazei sinus
(coloanele matricii S) sunt vectori proprii pentru orice matrice simetric˘ a tridiagonal˘ a de
forma:
Q =
_
_
_
_
_
_
1 −ρ 0 ... 0
−ρ 1 0 ... 0
... ... ... ... ...
0 ... 0 1 −ρ
0 ... 0 −ρ 1
_
_
_
_
_
_
(4.42)
Dac˘ a not˘ am cu s
k
coloana k a matricii transform˘ arii sinus, atunci:
Qs
k
= λ
k
s
k
Aceast˘ a proprietate revel˘ a faptul c˘ a transfomata sinus se comport˘ a precum transformata
Karhunen-Loeve pentru orice clas˘ a de semnale a c˘ aror matrice de covaria¸tie este de forma
(4.42). Dar aceast˘ a form˘ a este tipic˘ a secven¸telor sta¸tionar Markov de ordinul 1, cu
parametru de corela¸tie ρ ∈ [−0.5; 0.5].
55
Capitolul 5
FILTRAREA NELINIAR
˘
A A
IMAGINILOR
Opera¸tiile de filtrare studiate pân˘ a în prezent au fost caracterizate esen¸tial (din punct de
vedere matematic) de c˘ atre principiul liniarit˘ a¸tii (sau superpozi¸tiei). Istoric, acestea au
fost primele opera¸tii utilizate, având un suport teoretic solid ¸si desigur, având mai multe
caracteristici utile. O mare parte a aplica¸tiilor curente de prelucrare a imaginilor probabil
c˘ a se pot rezolva suficient de precis folosind doar opera¸tii liniare. Limit˘ arile opera¸tiilor
liniare de filtrare apar îns˘ a în momentul în care se consider˘ a zgomote ce nu au distribu¸tie
normal˘ a, ¸si, mai mult, nu mai sunt aditive.
Exemplul cel mai simplu de astfel de zgomot este zgomotul impulsiv, caracterizat de im-
pulsuri pozitive ¸si negative de amplitudine maxim posibil˘ a (relativ la num˘ arul de nivele de
cuantizare ale imaginii) care afecteaz˘ a prin înlocuire o parte din pixelii imaginii. Aceasta
înseamn˘ a c˘ a imaginea va fi uniform acoperit˘ a de puncte foarte închise (negre) ¸si foarte
deschise (albe), rezultatul fiind ceea ce se nume¸ste zgomot de tip sare ¸si piper (vezi
figura 5.1). Asemenea erori apar în por¸tiunile de achizi¸tie ¸si transmisiune ale sistemu-
lui de prelucrarea ¸si analiza imaginilor (din cauza erorilor în convertorul analog-digital,
din cauza erorilor de înregistrare pe mediile magnetice de stocare sau de pe canalul de
transmisiune); este posibil ca asemenea valori s˘ a apar˘ a ¸si ca urmare a unui zgomot aditiv
caracterizat de o distribu¸tie “cu coad˘ a lung˘ a” - deci care asigur˘ a probabilit˘ a¸ti nenule de
apari¸tie a unor valori mult diferite de medie. Aceste valori aberante (mult mai mari sau
mai mici decât valorile normale ale regiunii în care apar) sunt numite ”outlier”: valori
extreme sau erori grosiere.
Dac˘ a o asemena imagine ar fi filtrat˘ a liniar (cu un filtru de mediere sau poate cu un filtru
de reliefare) rezultatul ar fi o accentuare a punctelor de zgomot ¸si o corupere a punctelor
cu valori corecte din jurul lor.
Zgomotul impulsiv nu este singurul model de degradare neliniar˘ a: exist˘ a zgomote de-
56
Fig. 5.1: Imagine afectat˘ a de zgomot impulsiv; 10% dintre pixeli au valorile modificate
pendente de valoarea imaginii din pixelul afectat, precum ¸si compuneri neaditive ale
zgomotului cu imaginea original˘ a (multiplicativ˘ a, convolutiv˘ a) [9].
Este deci evident c˘ a se impune considerarea ¸si a altor metode de filtrare, care nu mai
respect˘ a principiul superpozi¸tiei, ¸si deci sunt neliniare. O clas˘ a esen¸tial˘ a de astfel de
metode de filtrare sunt cele bazate pe ordonare - rank order filtering [12]. Ideea esen¸tial˘ a
este aceea c˘ a opera¸tia de ordonare plaseaz˘ a valorile aberante (extremale) la capetele
¸sirului de valori (deci într-o zon˘ a bine definit˘ a), permi¸tând astfel identificarea ¸si eliminarea
acestora.
5.1 Filtrarea de ordine
Filtrele de ordine sunt operatori locali: filtrul este definit de o fereastr˘ a (masc˘ a), care
selecteaz˘ a din imaginea de prelucrat un num˘ ar de vecini ai pixelului curent (se respect˘ a
deci acela¸si model de prelucrare al ferestrei glisante, întâlnit ¸si la filtr˘ arile liniare în
domeniul spa¸tial). Valorile selectate de fereastra de filtrare sunt apoi ordonate cresc˘ ator;
dac˘ a valorile selectate de o fereastr˘ a cu n pozi¸tii sunt {x
1
, x
2
, ..., x
n
}, atunci acela¸si set
de valori, ordonate cresc˘ ator este {x
(1)
, x
(2)
, ..., x
(n)
}. Valorile x
(i)
se numesc statistici de
ordine de ordinul i ¸si au proprietatea
x
(1)
x
(2)
... x
(n)
(5.1)
În mod evident statistica de ordinul 1, x
(1)
, este valoarea minim˘ a, iar statistica de ordinul
n, x
(n)
, este valoarea maxim˘ a.
Ie¸sirea filtrului de ordine de ordin k este statistica de ordinul k, cu k ∈ [1; n]:
rank
k
{x
1
, x
2
, ..., x
n
} = x
(k)
(5.2)
57
În acest fel, ie¸sirea unui filtru de ordine este una dintre valorile selectate de fereastra de
filtrare, ¸si deci nu se creaz˘ a la ie¸sire valori noi (a¸sa cum se întâmpl˘ a la filtrarea liniar˘ a);
acesta este un avantaj atât în ceea ce prive¸ste p˘ astrarea valorilor originale din imagine,
cât ¸si din punctul de vedere al simplific˘ arii calculelor (nu mai sunt necesare opera¸tii cu
numere reale, ce trebuie apoi rotunjite sau truncheate la numere naturale).
Filtrele de ordine nu sunt liniare din cauza opera¸tiei de ordonare (ce nu respect˘ a principiul
superpozi¸tiei); în general putem scrie:
rank
k
{x
1
+y
1
, x
2
+y
2
, ..., x
n
+y
n
} = rank
k
{x
1
, x
2
, ..., x
n
} + rank
k
{y
1
, y
2
, ..., y
n
} (5.3)
Filtrele de ordine comut˘ a îns˘ a cu opera¸tiile de modificare liniar˘ a a valorilor:
rank
k
{αx
1
+ β, αx
2
+ β, ..., αx
n
+ β} = αrank
k
{x
1
, x
2
, ..., x
n
} + β (5.4)
Din punct de vedere statistic, intereseaz˘ a func¸tiile de distribu¸tie ale ie¸sirii filtrului (func¸tie
de densitate de probabilitate, func¸tie de reparti¸tie) atunci când func¸tiile de distribu¸tie
ale valorilor de intrare sunt presupuse cunoscute. Modelul folosit în general se bazeaz˘ a pe
ipoteza de independen¸t˘ a ¸si distribu¸tie identic˘ a a valorilor selectate de fereastra filtrului
(ceea ce conduce, implicit, la ipoteza c˘ a valorile pixelilor imaginii sunt variabile aleatoare
independente, identic distribuite
1
). Dac˘ a not˘ am cu f(x) ¸si F(x) func¸tiile de densitate
de probabilitate ¸si respectiv reparti¸tie a valorilor pixelilor din imaginea ce se filtreaz˘ a cu
un filtru de ordine de ordin k cu fereastr˘ a de n elemente, atunci ceea ce intereseaz˘ a este
func¸tia de densitate de probabilitate a ie¸sirii filtrului de ordine, f
k
(x).
Fie t o valoare oarecare din domeniul de varia¸tie al variabilelor aleatoare; atunci proba-
bilitatea evenimentului ca ie¸sirea filtrului de ordine s˘ a se g˘ aseasc˘ a în intervalul [t; t +dt]
este f
k
(t)dt. Evenimentul de interes este deci
t rank
k
{x
1
, x
2
, ..., x
n
} t +dt (5.5)
adic˘ a
t x
(k)
t +dt (5.6)
Statisticile de ordine sunt ob¸tinute prin ordonarea cresc˘ atoare a valorilor x
i
, ordonare
cresc˘ atoare care poate fi interpretat˘ a ca o permutare oarecare a indicilor valorilor ({1, 2, ..., n}
−→ {i
1
, i
2
, ..., i
n
}). În acest caz, evenimentul de interes exprimat de (5.6) este realizat
prin mai multe evenimente elementare de tipul:
x
i
1
, x
i
2
, ..., x
i
k−1
t x
i
k
t +dt x
i
k+1
, ..., x
in
(5.7)
Probabilitatea evenimentului elementar din (5.7) este dat˘ a de probabilitatea ca k − 1
valori s˘ a fie mai mici decât t (deci F
k−1
(t)), probabilitatea ca n−k valori s˘ a fie mai mari
1
Aceast˘ a ipotez˘ a a mai fost f˘ acut˘ a ¸si pentru deducerea transform˘ arii de egalizare a histogramei
imaginilor.
58
ca t + dt (deci (1 − F(t))
n−k
) ¸si probabilitatea ca o valoare s˘ a fie cuprins˘ a în intervalul
[t; t +dt] (deci f(t)dt), adic˘ a:
P = F
k−1
(t)(1 −F(t))
n−k
f(t)dt
Num˘ arul total de evenimente de tipul (5.7) este nC
k−1
n−1
(n moduri de alege o valoare din
cele n, la fiecare dintre aceste alegeri corespunzând C
k−1
n−1
moduri de a alege din cele n−1
valori r˘ amase k −1 valori care s˘ a fie mai mici ca t). Atunci:
Pr
_
t x
(k)
t +dt
_
= nC
k−1
n−1
F
k−1
(t)(1 −F(t))
n−k
f(t)dt (5.8)
¸si deci func¸tia de densitate de probabilitate a ie¸sirii filtrului de ordine de ordin k este:
f
k
(x) = nC
k−1
n−1
F
k−1
(x)(1 −F(x))
n−k
f(x) (5.9)
În [12] sunt prezentate diferite utiliz˘ ari ale func¸tiei de densitate de probabilitate a ie¸sirii
filtrelor de ordine, mai ales pentru determinarea comport˘ arii asimptotice (n −→ ∞) a
filtrelor.
Propriet˘ a¸tile deterministe ale filtrelor de ordine se refer˘ a la comportamentul acestora
în zonele tipice ale unei imagini: por¸tiuni netede ¸si contururi. Filtrele de ordine nu
afecteaz˘ a contururile (zonele de pant˘ a abrupt˘ a) ¸si p˘ asteaz˘ a valoarea zonelor uniforme.
Aceste comport˘ ari au fost extinse la investigarea clasei mai generale de semnale r˘ ad˘ acin˘ a
- semnale ce nu sunt modificate prin filtrare.
Orice secven¸t˘ a {x
i
} monoton˘ a (cresc˘ atoare sau descresc˘ atoare) este un semnal r˘ ad˘ acin˘ a
pentru filtrele de ordine. În plus, filtrele de ordine comut˘ a cu orice func¸tie monoton˘ a g:
rank
k
(g(x
i
)) = g(rank
k
(x
i
))
Pe lâng˘ a metodele analitice de construire a semnalelor r˘ ad˘ acin˘ a [12], în practic˘ a, semnalele
r˘ ad˘ acin˘ a se ob¸tin prin filtrarea repetat˘ a a unui semnal oarecare, pân˘ a la ob¸tinerea invari-
an¸tei. S˘ a consider˘ am spre exemplu secven¸ta unidimensional˘ a x = {0, 1, 1, 3, 1, 3, 2, 3, 3, 2,
1, 1} pe care o vomfiltra cu o fereastr˘ a de filtrare de dimensiune 3, centrat˘ a, cu un filtru de
ordine de ordin 2. Dup˘ a prima filtrare se ob¸tine secven¸ta x1 = {0, 1, 1, 1, 3, 2, 3, 3, 3, 2, 1, 1, 0},
iar dup˘ a a doua filtrare se ob¸tine secven¸ta x2 = {0, 1, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 0}. Aceast˘ a
secven¸ta este invariant˘ a la filtr˘ arile urm˘ atoare ¸si este deci un semnal r˘ ad˘ acin˘ a. Figura
5.4 prezint˘ a secven¸tele x, x1, x2.
5.1.1 Filtrul median
Filtrul median este un filtru de ordine a c˘ arui ie¸sire este statistica de ordine de ordin
central a setului de valori selectate de fereastra de filtrare.
median{x
1
, x
2
, ..., x
n
} =
_
x
(
n+1
2
)
dac˘ a n este impar
1
2
x
(
n
2
)
+
1
2
x
(
n
2
+1
)
dac˘ a n este par
(5.10)
59
0 2 4 6 8 10 12 14
1
2
3
4
Fig. 5.2: Semnal ini¸tial oarecare; prin filtr˘ ari de ordine repetate acesta se va transforma
într-un semnal r˘ ad˘ acin˘ a.
0 2 4 6 8 10 12 14
0
2
4
Fig. 5.3: Rezultatul primei filtr˘ ari a secven¸tei ini¸tiale.
0 2 4 6 8 10 12 14
0
2
4
Fig. 5.4: Semnal r˘ ad˘ acin˘ a al filtrului de ordine considerat, ob¸tinut dup˘ a dou˘ a itera¸tii ale
filtr˘ arii.
60
Ie¸sirea filtrului median este deci valoarea din centrul secven¸tei ordonate; în cazul secven¸telor
(ferestrelor de filtrare) de dimensiune par˘ a, aceast˘ a pozi¸tie central˘ a nu exist˘ a, ¸si atunci
este definit˘ a ca media aritmetic˘ a a valorilor vecine centrului imaginar. În practic˘ a, filtrul
median se folose¸ste doar cu ferestre de filtrare de dimensiune impar˘ a, ceea ce conduce la
posibilitatea de a scrie:
median{x
1
, x
2
, ..., x
n
} = rankn+1
2
{x
1
, x
2
, ..., x
n
} (5.11)
Aceasta înseamn˘ a c˘ a dac˘ a fereastra de filtrare are 3 puncte, medianul este statistica de
ordinul 2
2
, pentru o fereastr˘ a filtrare cu 9 puncte, medianul este statistica de ordinul 5,
iar pentru o fereastr˘ a de filtrare de 25 de puncte, medianul este statistica de ordinul 13.
Figura 5.5 prezint˘ a rezultatul filtr˘ arii cu un filtru median cu fereastr˘ a p˘ atrat˘ a de 3 x 3
puncte a imaginii degradate cu zgomot impulsiv din figura 5.1.
Fig. 5.5: Imagine filtrat˘ a cu filtru median cu fereastr˘ a de 3 x 3.
Efectele de filtrare a zgomotului impulsiv (de tip sare ¸si piper) sunt evidente; valorile
punctelor de zgomot sunt 0 sau 255 ¸si deci, dup˘ a ordonare se vor afla la “capetele” ¸sirului
de valori; ie¸sirea filtrului median, fiind statistica de ordin central, este situat˘ a departe
de valorile extreme. În imaginea filtrat˘ a median (figura 5.5) se observ˘ a totu¸si existen¸ta
unor puncte albe ¸si negre (puncte de zgomot) ce nu au putut fi eliminate prin filtrare;
spunem c˘ a în acele pozi¸tii filtrul a fost str˘ apuns de impulsuri (care deci au ajuns la
ie¸sirea filtrului). Probabilitatea de str˘ apungere a unui filtru median este dependent˘ a de
procentul de puncte de zgomot din imagine ¸si de dimensiunea ferestrei de filtrare folosite.
Str˘ apungerea filtrului median se produce atunci când în fereastra de filtrare avem m˘ acar
n+1
2
impulsuri de zgomot de aceea¸si valoare.
O variant˘ a a filtrului median cu fereastr˘ a de filtrare p˘ atrat˘ a este filtrul median separabil.
Separabilitatea semnific˘ a (ca ¸si în cazul transform˘ arilor unitare) realizarea opera¸tiei întâi
2
Aceasta înseamn˘ a deci c˘ a exemplul de construire a semnalului r˘ ad˘ acin˘ a prezentat anterior este rea-
lizat pentru un filtru median.
61
pe linii, ¸si apoi pe coloanele imaginii, pe baza unor ferestre de filtrare liniare. Este
evident c˘ a rezultatul acestei opera¸tii de filtrare nu coincide cu rezultatul filtr˘ arii mediane
cu fereastr˘ a p˘ atrat˘ a
3
(figura 5.6 prezint˘ a rezultatul filtr˘ arii mediane separabile cu ferestre
de dimensiune 3 a imaginii cu zgomot impulsiv din figura 5.1; rezultatul filtr˘ arii mediane
cu fereastr˘ a p˘ atrat˘ a 3 x 3 este prezentat în figura 5.5).
Fig. 5.6: Rezultatul filtr˘ arii cu un filtru median separabil.
Se remarc˘ a faptul c˘ a aceast˘ a structur˘ a de filtrare, de¸si prezint˘ a avantaje din punctul
de vedere al timpului de calcul necesar, se str˘ apunge mai u¸sor decât filtrul median cu
fereastr˘ a p˘ atrat˘ a din care a derivat.
5.1.2 Filtrele de ordine ponderate ¸si structurile multietaj
Atât filtrele liniare cât ¸si filtrele de ordine se bazeaz˘ a pe acela¸si principiu al ferestrei
glisante. Prelucr˘ arile realizate asupra valorilor selectate de aceast˘ a fereastr˘ a de filtrare
sunt evident diferite, dar se poate totu¸si remarca faptul c˘ a structura de filtrare liniar˘ a
permite o flexibilitate mai mare (se pot realiza un num˘ ar infinit de filtre liniare pentru o
aceea¸si fereastr˘ a de filtrare, prin varierea coeficien¸tilor de ponderare). Singurul factor de
reglaj al filtrelor de ordine este ordinul statisticii selectate la ie¸sire
4
.
Este evident c˘ a ponderarea filtrelor de ordine nu se poate face prin multiplicarea valori-
lor selectate de fereastra de filtrare cu diferi¸ti coeficien¸ti, a¸sa ca în cazul filtrelor liniare.
3
Filtrul de minim (filtrul de ordine de ordin 1) ¸si filtrul de maxim (filtrul de ordine de ordin n) sunt
singurele filtre de ordine separabile.
4
Zamperoni a propus adaptarea ordinului statisticii folosite ca ie¸sire a filtrului de ordine prin k =
_
1
2
+
n

i=1
x
(i)
−x
(1)
x
(n)
−x
(1)
_
.
62
Ponderarea are ca scop înt˘ arirea influen¸tei anumitor pixeli din fereastra de filtrare (de
exemplu pixelul central - curent prelucrat - care ar fi de a¸steptat ca s˘ a aib˘ a o influen¸t˘ a
mai puternic˘ a asupra rezultatului filtr˘ arii decât vecinii s˘ ai). Având în vedere c˘ a rezul-
tatul filtr˘ arii (deci valoarea unei anumite statistici) este determinat˘ a în urma ordon˘ arii,
modalitatea de a înt˘ ari influen¸ta unei anume valori este de a o repeta de mai multe ori,
crescând astfel probabilitatea de a o reg˘ asi ca statistica de ordin dorit. A¸sadar, pondera-
rea filtrelor de ordine se refer˘ a la repetarea de un num˘ ar fixat de ori a valorilor selectate
de fereastra de filtrare. Mul¸timea de valori ce rezult˘ a se nume¸ste multiset. Ponderile w
i
ata¸sate fiec˘ arei pozi¸tii de filtrare vor fi numere naturale nenule, ce exprim˘ a num˘ arul de
repeti¸tii al valorii corespunz˘ atoare în multiset.
Spre exemplu s˘ a consider˘ am por¸tiunea de imagine selectat˘ a de o fereastr˘ a de filtrare de
dimensiune 3 x 3, ale c˘ arei valori sunt
_
_
1 3 3
2 2 1
4 3 5
_
_
; statistica median˘ a ce corespunde
acestei situa¸tii este 3 (setul ordonat de valori fiind 1, 1, 2, 2, 3, 3, 3, 4, 5). Dac˘ a consider˘ am
acum filtrul median ponderat cu masca W =
_
_
1 2 1
2 3 2
1 2 1
_
_
, multisetul rezultant este 1,
3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 4, 3, 3, 5 (sau ordonat 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5)
ceea ce face ca medianul s˘ a fie 2 (¸si deci o valoare mai apropiat˘ a de valoarea original˘ a din
punctul curent prelucrat). Masca de ponderare W semnific˘ a faptul c˘ a valoarea central˘ a
este repetat˘ a de 3 ori, valorile de pe pozi¸tiile vecinilor imedia¸ti (orizontali ¸si verticali)
sunt repetate de câte 2 ori, iar valorile de pe pozi¸tiile vecinilor de pe diagonal˘ a sunt
considerate o singur˘ a dat˘ a. Filtrul de ordine rezultat se poate scrie ca:
rank
k
(x
i
w
i
) = x
(k)
Este evident c˘ a multisetul de valori con¸tine
n

j=1
w
i
termeni, ¸si deci ordinul statisticii
maxime este
n

j=1
w
i
, iar ordinul statisticii mediane este
1
2
_
n

j=1
w
i
+ 1
_
(presupunând un
num˘ ar impar de valori în multiset). Un caz particular destul de des utilizat este acela al
filtrelor de ordine central ponderate, în care to¸ti coeficien¸tii de ponderare (repeti¸tie) sunt
1, cu excep¸tia coeficientului ce corespunde pixelului curent prelucrat, ce are o valoare mai
mare ca 1.
Structurile multietaj grupeaz˘ a câteva filtre de ordine (median, minim, maxim) aplicate
succesiv, cu ferestre de filtrare diferite. Cele mai r˘ aspândite structuri sunt cele de tip
median multietaj (median din median pe orizontal˘ a, median pe vertical˘ a ¸si valoarea
curent˘ a), reprezentat în figura 5.8 ¸si max/min-median (maxim sau minim din medianele
pe vertical˘ a, orizontal˘ a ¸si cele dou˘ a diagonale ale ferestrei de filtrare p˘ atrate centrate în
punctul curent prelucrat), reprezentat în figura 5.7.
63
Fig. 5.7: Structr˘ a multietaj de tip max / min - median, bazat˘ a pe o fereastr˘ a de filtrare
de dimensiune 3.
Fig. 5.8: Structur˘ a de filtrare de tip median - median, bazat˘ a pe o fereastr˘ a de filtrare
p˘ atrat˘ a de dimensiune 3.
64
5.2 Filtre de ordine de domeniu
Filtrele de ordine de domeniu (filtre LUM — Lower-Upper-Middle [18]) introduc o posi-
bilitate de adaptare ¸si reglare a filtrelor de ordine.
Valoarea y de ie¸sire a filtrului LUM de netezire este definit˘ a ca:
y =
_
_
_
x
(k)
, dac˘ a x

< x
(k)
x
(n−k+1)
, dac˘ a x

> x
(n−k+1)
x

, în rest
(5.12)
unde x

este valoarea ce corespunde originii ferestrei de filtrare cu n pozi¸tii, iar k este
parametrul de reglaj al filtrului. Valoarea k este un întreg din intervalul [0;
n+1
2
]; dac˘ a
k = 0 filtrul de comport˘ a ca un filtru trece tot (y = x

), iar dac˘ a k =
n+1
2
, filtrul este un
filtru median (y = x
(
n+1
2
)
).
Valoarea y de ie¸sire a filtrului LUM de conturare este definit˘ a ca:
y =
_
_
_
x
(l)
, dac˘ a x
(l)
< x

<
x
(l)
+x
(n−l+1)
2
x
(n−l+1)
, dac˘ a
x
(l)
+x
(n−l+1)
2
< x

< x
(n−l+1)
x

, în rest
(5.13)
unde x

este valoarea ce corespunde originii ferestrei de filtrare cu n pozi¸tii, iar l este
parametrul de reglaj al filtrului. Valoarea k este un întreg din intervalul [0;
n+1
2
]; dac˘ a
l = 0 filtrul de comport˘ a ca un filtru de reliefare extrem˘ a, iar dac˘ a l =
n+1
2
, filtrul este
un filtru trece tot (y = x

).
5.3 L-filtre
L-filtrele [12] au fost introduse din dorin¸ta de a oferi o mai mare flexibilitate opera¸tiilor
de filtrare neliniar˘ a bazate pe ordonare; pasul firesc de dezvoltare a fost combinarea
tuturor statisticilor de ordine în valoarea de la ie¸sirea filtrului. Ie¸sirea unui L-filtru este
o combina¸tie liniar˘ a a statisticilor de ordine:
L({x
1
, x
2
, ..., x
n
}) =
n

i=1
w
i
x
(i)
(5.14)
Este evident c˘ a prin varierea coeficien¸tilor w
i
se pot ob¸tine diferite filtre, inclusiv filtrele
de ordine (un singur coeficient egal cu 1, iar restul nuli). Coeficien¸tii celor mai uzuale
L-filtre sunt prezenta¸ti în tabelul 5.1
65
Filtru Coeficien¸ti
Filtru de ordine de ordin k, rank
k
a
k
= 1, a
i
= 0, i = k
Filtru de mediere aritmetic˘ a a
i
= 1/n
Filtru de mijloc a
1
= a
n
= 0.5, a
i
= 0, i / ∈ {1, n}
Filtru de cvasi-mijloc a
k
= a
n+1−k
= 0.5, a
i
= 0, i / ∈ {k, n + 1 −k}
Medie α-reglabil˘ a a
k
= 1/n(1 −2α), i ∈ [αn + 1; n −αn]
a
i
= 0, i / ∈ [αn + 1; n −αn]
Tabel 5.1: Coeficien¸tii celor mai uzuale L-filtre.
Se poate demonstra cu u¸surin¸t˘ a c˘ a coeficien¸tii L-filtrelor trebuie s˘ a îndeplineasc˘ a acelea¸si
condi¸tii de normare ca ¸si coeficien¸tii filtrelor liniare: s˘ a aib˘ a suma 1 pentru un filtru de
netezire (conform (3.8)) ¸si suma 0 pentru un filtru de reliefare (conform (3.9)). Toate
filtrele prezentate în tabelul 5.1 sunt deci filtre de netezire, al c˘ aror scop este m˘ arirea
uniformit˘ a¸tii regiunilor imaginii prin eliminarea diferitelor zgomote suprapuse acesteia.
Tabelul 5.2 prezint˘ a filtrele cele mai potrivite pentru eliminarea diferitelor tipuri de zgo-
mote.
Tip zgomot Filtru
impulsiv (sare ¸si piper) filtru de ordine (median, maxim, minim)
gaussian filtru de mediere aritmetic˘ a
impulsiv + gaussian filtru de tip medie α-reglabil˘ a
uniform filtru de mijloc
Tabel 5.2: L-filtre utilizate pentru reducerea diferitelor tipuri de zgomote.
Un exemplu de filtru de reliefare (cu comportare derivativ˘ a, care s˘ a satisfac˘ a deci (3.9))
este gradientul morfologic — diferen¸ta între valoarea maxim˘ a ¸si minim˘ a din fereastra de
filtrare curent˘ a:
grad{x
1
, x
2
, ..., x
n
} = x
(n)
−x
(1)
Folosirea unui asemenea operator produce o imagine în care valoarea fiec˘ arui pixel este
invers propor¸tional˘ a cu gradul de uniformitate (netezime) al vecin˘ at˘ a¸tii acestuia (vezi
figura 5.9).
5.4 Aspecte de implementare
Implementarea filtrelor neliniare de ordine sau a L-filtrelor urmeaz˘ a acelea¸si principii
ca ¸si oricare tehnic˘ a de tip fereastr˘ a glisant˘ a (ca filtrarea liniar˘ a) în ceea ce prive¸ste
66
Fig. 5.9: Operatorul gradient morfologic aplicat imaginii filtrate din figura 5.5.
problemele legate de realizarea formei ferestrei de filtrare ¸si efectele de margine. Ceea ce
este particular filtrelor din aceast˘ a categorie este etapa de ordonare a valorilor selectate
de fereastra de filtrare în fiecare pozi¸tie.
În teoria algoritmilor au fost dezvolta¸ti numero¸si algoritmi de sortare (ordonare cresc˘ a-
toare), a c˘ aror complexitate de calcul variaz˘ a de la O(n
2
) (bubble sort, sortare prin deter-
minare succesiv˘ a de extreme), O(nlog n) (sortare prin interclasare sau inser¸tie) pân˘ a la
O(n) (pentru determinare doar a extremelor ¸si a statisticii mediane). Trebuie îns˘ a remar-
cat c˘ a o metod˘ a de sortare de complexitate O(n
2
) nu este neap˘ arat mai neeficient˘ a decât
o metod˘ a de sortare O(n): complexitatea unui algoritm exprim˘ a comportarea asimpto-
tic˘ a a num˘ arului de opera¸tii necesare, în condi¸tiile în care dimensiunea caracteristic˘ a n a
setului de date ce se prelucreaz˘ a este foarte mare (la limit˘ a n −→∞). Sort˘ arile folosite în
implementarea filtrelor neliniare de ordine prelucreaz˘ a seturi mici de date (s˘ a nu uit˘ am c˘ a
rareori o fereastr˘ a de filtrare dep˘ a¸se¸ste dimensiunea de 25 de pixeli), ¸si deci complexitatea
O() nu este un criteriu valid de alegere a unui algoritm de sortare.
Codul Matlab ce urmeaz˘ a implementeaz˘ a un L-filtru cu o fereastr˘ a p˘ atrat˘ a de dimensiune
3 x 3, centrat˘ a; ponderile filtrului sunt stocate în vectorul w (1 linie, 9 coloane, prima
pozi¸tie corespunzând coeficientului statisticii minime). L-filtrul este aplicat imaginii in
(de dimensiuni nrlin ¸si nrcol ); efectele de margine sunt evitate prin neprelucrarea primei
¸si ultimei linii, respectiv coloane a imaginii. Rezultatul este înscris în imaginea out.
[nrlin,nrcol]=size(in);
out=in;
for i=2:nrlin-1
for j=2:nrcol-1
temp=in(i-1:i+1,j-1:j+1);
temp=sort(temp(:));
67
out(i,j)=fix(w*temp);
end
end
Se remarc˘ a folosirea func¸tiei standard sort ce realizeaz˘ a opera¸tia de ordonare cresc˘ atoare
a valorilor; ie¸sirea L-filtrului este produsul scalar al vectorului de coeficien¸ti ai filtrului
cu vectorul statisticilor de ordine.
În cele ce urmeaz˘ a vom considera un exemplu de implementare a unui filtru cu ordonare
dup˘ a rang relizat cu o fereastr˘ a centrat˘ a de 3 x 3 pixeli, pentru filtrarea unei imagini
cu NRLIN linii ¸si NRCOL coloane; prima ¸si ultima linie ¸si coloan˘ a sunt identice cu cele
din imaginea ce se filtreaz˘ a (remarca¸ti buclele for de alocare a spa¸tiului pentru imaginea
filtrat˘ a ¸si ini¸tializarea valorilor acesteia).
unsigned char temp[9],dummy;
boolean sortat;
img_out=(int**)malloc(NRLIN*sizeof(int*));
for (i=0;i<NRLIN;i++)
img_out[i]=(int*)malloc(NRCOL*sizeof(int));
for (i=0;i<NRCOL;i++)
{ img_out[0][i]=img[0][i];
img_out[NRLIN-1][i]=img[NRLIN-1][i];}
for (i=0;i<NRLIN;i++)
{ img_out[i][0]=img[i][0];
img_out[i][NRCOL-1]=img[i][NRCOL-1];}
for (i=1;i<NRLIN-1;i++)
for (j=1;j<NRCOL-1;j++)
{ for (k=0;k<9;k++)
temp[k]=img[i-1+k/3][j-1+k%3];
sortat=false;
while (! sortat) do
{ sortat=true;
for (k=0;k<8;k++)
if (temp[k]>temp[k+1])then
{ dummy=temp[k+1];
temp[k+1]=temp[k];
temp[k]=dummy;
sortat=false;
}
}
img_out[i][j]=temp[5];
}
68
Valorile selectate de fereastra de filtrare sunt stocate în vectorul de 9 pozi¸tii temp. Citirea
acestor valori se face printr-un ciclu, bazându-se pe introducerea unei rela¸tii de echivalen¸t˘ a
între ordinea de baleiaj a ferestrei ¸si pozi¸tia valorilor în vector (economia nu este de timp
de execu¸tie ci de timp de scriere a codului). Aceast˘ a alocare este echivalent˘ a cu liniile de
cod:
temp[0]=img[i-1][j-1];temp[1]=img[i-1][j];
temp[2]=img[i-1][j+1];temp[3]=img[i][j-1];
temp[4]=img[i][j];temp[5]=img[i][j+1];
temp[6]=img[i+1][j-1];temp[7]=img[i+1][j];
temp[8]=img[i+1][j+1];
Sortarea implementat˘ a este de tip bubble sort; fiecare pozi¸tie a vectorului ce con¸tine
valorile extrase de fereastra de filtrare este comparat˘ a cu pozi¸tia urm˘ atoare, iar dac˘ a
ordinea cresc˘ atoare nu este respectat˘ a, cele dou˘ a valori sunt interschimbate; indicatorul
sortat indic˘ a efectuarea a m˘ acar unei interschimb˘ ari, ¸si deci necesitatea relu˘ arii verific˘ arii
ordinii. Filtrul de ordine folosit este medianul (se preia în imaginea rezultat statistica de
ordine cu num˘ arul 5, deci statistica median˘ a).
Structura de program folosit˘ a anterior realizeaz˘ a ordonarea vectorului de valori pentru
fiecare pozi¸tie a ferestrei de filtrare; o serioas˘ a economie de timp se poate realiza dac˘ a se
¸tine seama c˘ a la mutarea ferestrei de filtrare de la un pixel al imaginii la un pixel vecin
acestuia, se modific˘ a un num˘ ar relativ mic de valori (restul r˘ amânând neschimbate).
Aceasta poate conduce la ideea p˘ astr˘ arii unei p˘ ar¸ti a setului de valori ordonate, în care
s˘ a se intercaleze valorile noi.
O alt˘ a variant˘ a de determinare a statisticilor de ordine se bazeaz˘ a pe folosirea histogramei
valorilor din fereastra de filtrare. Histograma (2.10) reprezint˘ a num˘ arul de puncte ce au
o anumit˘ a valoare ¸si este echivalent˘ a cu func¸tia de densitate de probabilitate a unei
variabile aleatoare. Pentru aceea¸si varibil˘ a aleatoare exist˘ a îns˘ a ¸si func¸tia de reparti¸tie —
primitiva func¸tiei de densitate de probabilitate; a¸sadar putem asocia oric˘ arei histograme
h o histogram˘ a cumulativ˘ a (5.15):
H(i) =
i

j=0
h(j), cu i = 0, 1, ..., L −1 (5.15)
Histograma cumulativ˘ a în punctul i va reprezenta deci num˘ arul de puncte (pixeli) a
c˘ aror valoare (nivel de gri) este mai mic˘ a decât i. Determinarea valorii statisticilor de
ordine pentru un set de valori pe baza histogramei acestora este imediat˘ a. S˘ a consider˘ am
urm˘ atorul exemplu: setul de valori selectate de fereastra de filtrare este {1, 2, 3, 3,
4, 0, 1, 1, 2, 1, 1, 0, 0, 1, 2, 7, 7, 6, 0, 1, 6, 6, 5, 5, 0}(valori din intervalul 0—7).
Histograma acestui set este h =
_
5 7 3 2 1 2 3 2
_
iar histograma cumulativ˘ a
este H =
_
5 12 15 17 18 20 23 25
_
. Atunci statisticile de ordine de ordin 1—5
69
(H(0)) au valoarea 0, statisticile de ordine de ordin 6 (H(0) +1) — 12 (H(1)) au valoarea
1, statisticile de ordine de ordin 13 (H(1) + 1) — 15 (H(2)) au valoarea 2, statisticile de
ordine de ordin 16 (H(2) +1) — 17 (H(3)) au valoarea 3, statistica de ordine de ordin 18
(H(3)+1 = H(4)) are valoarea 4, statisticile de ordine de ordin 19 (H(4)+1) — 20 (H(5))
au valoarea 5, statisticile de ordine de ordin 21 (H(5) + 1) — 23 (H(6)) au valoarea 6,
statisticile de ordine de ordin 24 (H(6) +1) — 25 (H(7)) au valoarea 7. Regula de decizie
general˘ a este: statisticile de ordine de ordin H(j −1) +1 pân˘ a la H(j) au valoarea j, cu
j = 0, 1, 2, ..., L −1 ¸si H(−1) = 0.
Deci, pentru o statistic˘ a oarecare de ordin r, trebuie identificat num˘ arul j astfel ca:
H(j −1) + 1 r H(j) (5.16)
Problemele ce apar la o asemenea implementare sunt legate în primul rând de timpul de
determinare a num˘ arului j ce satisface (5.16), timp ce este direct propor¸tional cu num˘ arul
de nivele de gri din imagine (¸si deci lungimea vectorului histogram˘ a sau histogram˘ a
cumulativ˘ a). Se poate îns˘ a observa c˘ a histograma într-o fereastr˘ a de filtrarea va selecta
relativ pu¸tine valori diferite, ¸si atunci histograma va fi un vector rar (sparse), cu multe
intr˘ ari nule, iar histograma cumulativ˘ a va avea, corespunz˘ ator, multe por¸tiuni constante.
În aceste condi¸tii, o reprezentare mai eficient˘ a (atât ca memorie ocupat˘ a, cât ¸si ca timp de
c˘ autare) este memorarea doar a tranzi¸tiilor (pozi¸tie, valoare) din histograma cumulativ˘ a,
adic˘ a doar memorarea histogramei.
70
Capitolul 6
ELEMENTE DE MORFOLOGIE
MATEMATIC
˘
A
În mod tradi¸tional, prelucrarea semnalelor multidimensionale (¸si a imaginilor în particu-
lar) a fost bazat˘ a pe exploatarea conceptelor ¸si teoriei sistemelor liniare ¸si a transformatei
Fourier ([9], [2]). De¸si aceste abord˘ ari clasice sunt justificate ¸si dau rezultate în multe
cazuri, aplicarea lor este limitat˘ a de problema fundamental˘ a impus˘ a de semnalele de
tip imagine: modul de reprezentare a formei sau structurii geometrice existente într-un
semnal.
Morfologia matematic˘ a, dupa cum indic˘ a ¸si numele (morphos — form˘ a, logos — ¸stiin¸t˘ a, deci
¸stiin¸ta formelor), realizeaz˘ a o abordare axat˘ a pe form˘ a a prelucr˘ arii imaginilor. Folosit˘ a
corespunz˘ ator, morfologia matematic˘ a conduce la prelucr˘ ari ce simplific˘ a structura ima-
ginii, p˘ astrând caracteristicile esen¸tiale de form˘ a ¸si eliminând irelevan¸tele.
Ideea de baz˘ a a oric˘ arei prelucr˘ ari morfologice este considerarea imaginii ca un ansamblu
(mul¸time, reuniune de p˘ ar¸ti) asupra c˘ aruia se aplic˘ a transform˘ ari a c˘ aror esen¸t˘ a este
compara¸tia cu mul¸timi (ansambluri) mai simple, numite elemente structurante. Scopul
acestor transform˘ ari este extragerea de forme mai simple din formele ini¸tiale (complexe)
ale imaginii.
Morfologia matematic˘ a este utilizat˘ a ca o abordare natural˘ a a proceselor de vedere ar-
tificial˘ a, deoarece tr˘ as˘ aturile ¸si respectiv identificarea obiectelor sunt corelate cu forma.
Principalele aplica¸tii sunt în domeniile roboticii, microscopiei electronice, imagisticii bio-
medicale, telemetriei, inspec¸tiei automate a produselor, analizei de scen˘ a. Aplica¸tiile
industriale sunt impulsionate ¸si de continua dezvoltare ¸si îmbunatatire a arhitecturilor
de calcul ce implementeaz˘ a transform˘ ari morfologice.
71
6.1 Transform˘ ari morfologice de baz˘ a
6.1.1 Transformarea Hit or Miss
Transformarea Hit or Miss a fost introdus˘ a în [14] ¸si reprezint˘ a poate cea mai primar˘ a
¸si evident˘ a exemplificare a conceptului de studiu al formei. Orice form˘ a poate fi consi-
derat˘ a ca o reuniune de componente (blocuri, regiuni, scheme) individuale independente,
plasate în diverse pozi¸tii; a recunoa¸ste forma implic˘ a identificarea local˘ a a p˘ ar¸tilor sale
componente ¸si deci o opera¸tie simpl˘ a de potrivire de m˘ a¸sti (pattern matching).
Rezultatul aplic˘ arii acestei transform˘ ari de identificare (numit˘ a uneori ¸si transformarea
“totul sau nimic”) este o mul¸time ale c˘ arei puncte satisfac criteriul de identificare a unei
vecin˘ at˘ a¸ti cu masca aplicat˘ a.
Transformarea Hit or Miss se define¸ste pe baza unei parti¸tii (B
1
, B
2
) a elementului
structurant B: B = B
1
∪ B
2
¸si B
1
∩ B
2
= ∅ ca:
AUB = {x|(B
1
)
x
⊆ A} ∩ {x|(B
2
)
x
⊆ A
C
} (6.1)
În (6.1) A este mul¸timea c˘ areia i se aplic˘ a transformarea, A
C
este complementara mul¸timii
A, B este elementul structurant ¸si (B
i
)
x
este mul¸timea B
i
translatat˘ a cu vectorul x.
Trebuie remarcat faptul c˘ a oric˘ arui element structurant trebuie s˘ a i se ata¸seze o origine.
Figura 6.1 prezint˘ a o exemplificare a transform˘ arii Hit or Miss.
Se poate observa c˘ a aceast˘ a transformare produce ca rezultat o mul¸time de puncte ce
satisfac concomitent un set de condi¸tii de tipul (B
i
)
x
⊆ A
i
, unde {A
i
} formeaz˘ a o parti¸tie
a spa¸tiului.
Este evident c˘ a {A, A
C
} formeaz˘ a o parti¸tie, dar aceasta nu este singura posibil˘ a. Anu-
mite aplica¸tii practice pot impune îns˘ a situa¸tii mai complexe, a c˘ aror rezolvare dep˘ a¸se¸ste
cadrul morfologiei binare [14]. Astfel se pot cita a¸sa numitele “cazuri”: cazul petrografic
(provenit din analiza hidrocarburilor ¸si a mineralelor), în care p componente împart exact
spa¸tiul (f˘ ar˘ a a l˘ asa locuri libere) ¸si cazul geografic, în care p componente nu ocup˘ a în-
treg spa¸tiul ¸si se pot întrep˘ atrunde (cazul zonelor de p˘ adure cu diferite specii de copaci).
Figura 6.2 prezint˘ a o astfel de transformare.
Transformarea Hit or Miss, în forma prezentat˘ a, prezint˘ a un interes mai mult teoretic,
datorit˘ a situ˘ arii sale la baza construc¸tiei morfologiei matematice. Se va ar˘ ata îns˘ a c˘ a este
posibil˘ a exprimarea acesteia ¸si în func¸tie de transform˘ arile morfologice fundamentale larg
utilizate (erodarea ¸si dilatarea).
72
Fig. 6.1: Exemplificare a transform˘ arii de identificare a configura¸tiilor locale (Hit or
Miss); în particular exemplul prezint˘ a determinarea punctelor de tip “col¸t dreapta-jos”.
Fig. 6.2: Exemplu de transformare Hit or Miss extins˘ a pentru o parti¸tie cu trei mul¸timi
a spa¸tiului imaginii.
73
6.1.2 Erodarea morfologic˘ a
Erodarea morfologic˘ a a mul¸timii A prin elementul structurant B se define¸ste ca mul¸timea
punctelor (elementelor) cu care se poate translata elementul structurant astfel încât acesta
s˘ a fie inclus în mul¸timea de prelucrat A:
AB = {x|B
x
⊆ A} (6.2)
Erodare morfologic˘ a a mul¸timii A este transformata Hit or Miss a mul¸timii cu un element
structurant B = B
1
(B
2
= ∅):
AB = {x|(B
1
)
x
⊆ A} ∩ {x|(∅)
x
⊆ A
C
} = {x|(B)
x
⊆ A}
Aceast˘ a rela¸tie de defini¸tie se mai poate exprima ca:
A B = {x|B
x
⊆ A} = {x|∀b ∈ B, ∃a ∈ A astfel încât b +x = a} = (6.3)
= {x|∀b ∈ B, ∃a ∈ A astfel încât x = a −b} =

b∈B
A
−b
=

b∈B
S
A
b
(6.4)
Figura 6.3 prezint˘ a rezultatul erod˘ arii unor mul¸timi discrete, iar figura 6.4 prezint˘ a rezul-
tatul erod˘ arii unor mul¸timi continue.
Fig. 6.3: Exemple de erodare a unor mul¸timi discrete cu diferite elemente structurante,
ce î¸si con¸tin (sau nu) originea.
74
Fig. 6.4: Rezultatul erod˘ arii unor mul¸timi continue cu un element structurant de tip disc
(originea elementului structurant este centrul discului).
6.1.3 Dilatarea morfologic˘a
Dilatarea morfologic˘ a a mul¸timii A cu elementul structurant B se define¸ste ca mul¸timea
punctelor (elementelor) cu care se poate translata elementul structurant astfel încât acesta
s˘ a aib˘ a puncte comune cu mul¸timea de prelucrat A:
A ⊕B = {x|B
x
∩ A = ∅} (6.5)
Erodare morfologic˘ a a mul¸timii Aeste complementara transformatei Hit or Miss a mul¸timii
cu un element structurant B = B
2
(B
1
= ∅):
(A⊕B)
C
= {x|(B
1
)
x
⊆ A}∩{x|(B
2
)
x
⊆ A
C
} = {x|(∅)
x
⊆ A}∩{x|(B
2
)
x
⊆ A
C
} = {x|(B)
x
⊆ A
C
}
A⊕B = {x|(B)
x
⊆ A
C
}
C
= {x|(B)
x
A
C
} = {x|B
x
∩ A = ∅}
Rela¸tia de defini¸tie mai poate fi exprimat˘ a ¸si ca:
A ⊕B = {x|B
x
∩ A = ∅} = {x|∃b ∈ B, ∃a ∈ A astfel încât b +x = a} = (6.6)
= {x|∃b ∈ B, ∃a ∈ A astfel încât x = a −b} =
_
b∈B
A
−b
=
_
b∈B
S
A
b
(6.7)
Figura 6.5 prezint˘ a rezultatul erod˘ arii unor mul¸timi discrete, iar figura 6.6 prezint˘ a rezul-
tatul dilat˘ arii unor mul¸timi continue.
75
Fig. 6.5: Exemple de dilatare a unor mul¸timi discrete cu diferite elemente structurante,
ce î¸si con¸tin (sau nu) originea.
Fig. 6.6: Rezultatul dilat˘ arii unor mul¸timi continue cu un element structurant de tip disc
(originea elementului structurant este centrul discului).
76
6.1.4 Propriet˘ a¸tile erod˘ arii ¸si dilat˘ arii
Se observ˘ a c˘ a, în general, efectul opera¸tiei de dilatare este de a m˘ ari obiectul; acesta cre¸ste,
“se umfl˘ a”, corespunz˘ ator formei ¸si dimensiunii elementului structurant. Efectul erod˘ arii
este, dup˘ a cum am v˘ azut, o mic¸sorare a obiectului. Modificarea dimensiunii obiectu-
lui este strict determinat˘ a de forma elementului structurant: un element structurant
simetric (disc, segment de dreapt˘ a centrat în origine) provoac˘ a o modificare simetric˘ a
a dimensiunilor; dac˘ a elementul structurant nu este simetric, efectele se vor manifesta
asupra obiectului pe direc¸tia elementului structurant ¸si în sens contrar acestuia. Efectele
erod˘ arii ¸si dilat˘ arii vor fi discutate în continuare, pe baza propriet˘ a¸tilor matematice ale
acestora.
Dilatarea ¸si erodarea formeaz˘ a o pereche de opera¸tii duale:
(A⊕B)
C
= A
C
B ¸si (AB)
C
= A
C
⊕B (6.8)
Demonstra¸tia este imediat˘ a:
A⊕B = {x|B
x
∩ A = ∅}, de unde rezult˘ a
(A
C
⊕B)
C
= {x|B
x
∩ A
C
= ∅}
C
= {x|B
x
∩ A
C
= ∅} = {x|B
x
⊆ A} = AB (6.9)
¸si AB = {x|B
x
⊆ A} de unde rezult˘ a
(A
C
B)
C
= {x|B
x
⊆ A
C
}
C
= {x|B
x
A
C
} = {x|B
x
∩ A = ∅} = A⊕B (6.10)
Interpretarea dualit˘ a¸tii ca ob¸tinerea acelora¸si efecte, dar asupra unor mul¸timi comple-
mentare, este corect˘ a: dac˘ a dilatarea va m˘ ari obiectul (mul¸timea), aceasta înseamn˘ a c˘ a
va mic¸sora în acela¸si timp fundalul (complementara mul¸timii), deci va fi echivalent˘ a cu o
erodare a fundalului. Dac˘ a erodarea mic¸soreaz˘ a obiectul (mul¸timea), aceasta înseamn˘ a
o m˘ arire simultan˘ a a fundalului (complementara mul¸timii), deci o dilatare a acestuia.
Un caz particular ce poate apare este acela al elementelor structurante ce nu con¸tin
originea. Folosind un asemenea element structurant, rezultatele opera¸tiilor morfologice
vor fi “translatate” fa¸t˘ a de pozi¸tia la care ar fi fost de a¸steptat s˘ a apar˘ a.
Leg˘ atura între transla¸tia elementului structurant (faptul c˘ a acesta nu con¸tine originea
poate fi interpretat ca o deplasare) sau a mul¸timii (obiectului) care se prelucreaz˘ a ¸si
deplasarea rezultatului opera¸tiilor morfologice este dat de propriet˘ a¸tile de invarian¸t˘ a la
transla¸tie:
A
t
⊕B = (A ⊕B)
t
¸si A
t
B = (A B)
t
(6.11)
A ⊕B
t
= (A ⊕B)
−t
¸si AB
t
= (AB)
−t
(6.12)
77
Aceste propriet˘ a¸ti de invarian¸t˘ a la transla¸tie (transla¸tia obiectului ¸si transla¸tia elementu-
lui structurant) pot avea mai multe interpret˘ ari. În primul rând, invarian¸ta la transla¸tie
asigur˘ a faptul c˘ a forma rezultat˘ a prin dilatarea sau erodarea unei mul¸timi este aceea¸si,
indiferent de pozi¸tia mul¸timii prelucrate. În al doilea rând, rela¸tiile enun¸tate asigur˘ a su-
ficien¸ta consider˘ arii doar a elementelor structurante ce con¸tin originea; un element struc-
turant ce nu con¸tine originea poate fi ob¸tinut prin transla¸tie dintr-un element structurant
ce con¸tine originea; mul¸timea (forma) rezultat˘ a în urma prelucr˘ arii va trebui translatat˘ a
în sens opus elementului structurant.
În acela¸si grup de propriet˘ a¸ti de invarian¸t˘ a a opera¸tiilor morfologice se încadreaz˘ a ¸si
invarian¸ta la scalare (omotetie). Dac˘ a λ este parametrul nenul de scalare, atunci:
1
λ
(λA⊕B) = A⊕
1
λ
B ¸si
1
λ
(λA B) = A 
1
λ
B (6.13)
Într-adev˘ ar,
1
λ
(λA⊕B) =
1
λ
(λA+B
S
) =
1
λ
{x|x = λa−b, a ∈ A, b ∈ B} = {x|x = a−
1
λ
b, a ∈ A, b ∈ B} =
= A+
1
λ
B
S
= A ⊕
1
λ
B
1
λ
(λAB) =
1
λ
(λA
C
⊕B)
C
= (
1
λ
(λA
C
⊕B))
C
= (A
C

1
λ
B)
C
= A 
1
λ
B
Rela¸tiile de invarian¸t˘ a la scalare afirm˘ a c˘ a rezultatul unei transform˘ ari morfologice apli-
cate unei versiuni scalate a formei A este identic cu aceea¸si scalare aplicat˘ a rezultatului
transform˘ arii morfologice a formei A prin acela¸si element structurant scalat invers.
Propriet˘ a¸tile de monotonie a unei transform˘ ari nu pot fi neglijate la descrierea acesteia.
Atât dilatarea cât ¸si erodarea sunt cresc˘ atoare fa¸t˘ a de mul¸timea ce se prelucreaz˘ a (forma):
dac˘ a A
1
⊆ A
2
, atunci
A
1
⊕B ⊆ A
2
⊕B ¸si A
1
B ⊆ A
2
B (6.14)
Monotonia fa¸t˘ a de elementul structurant folosit este diferit˘ a: dilatarea este cresc˘ atoare,
iar erodarea este descresc˘ atoare: dac˘ a B
1
⊆ B
2
, atunci:
A⊕B
1
⊆ A⊕B
2
¸si A B2 ⊆ AB1 (6.15)
Aceste propriet˘ a¸ti subliniaz˘ a corectitudinea interpret˘ arii dilat˘ arii ca o ad˘ augare, ca o
îngro¸sare, iar a erod˘ arii ca o sub¸tiere; grosimea stratului ad˘ augat sau îndep˘ artat este
78
dat˘ a de elementul structurant. Deci cu cât elementul structurant este mai mare, cu atât
corpul se va m˘ ari mai mult în urma dilat˘ arii sau se va mic¸sora mai mult în urma erod˘ arii.
În general, dilatarea este extensiv˘ a, adic˘ a:
A ⊆ A⊕B. (6.16)
O condi¸tie suficient˘ a pentru ca aceast˘ a proprietate s˘ a fie adev˘ arat˘ a este ca elementul
structurant s˘ a con¸tin˘ a originea, {0
n
} ∈ B. Atunci
A ⊕B =
_
b∈B
S
A
b
= A∪ (
_
b∈B
S
−{0n}
A
b
) ⊇ A (6.17)
Condi¸tia ca elementul structurant s˘ a con¸tin˘ a originea nu este îns˘ a ¸si o condi¸tie necesar˘ a
(a se vedea figura 6.7).
Fig. 6.7: De¸si elementul structurant nu î¸si con¸tine originea, rezultatul dilat˘ arii include
forma original˘ a.
În general erodarea este antiextensiv˘ a, adic˘ a:
A B ⊆ A (6.18)
O condi¸tie suficient˘ a pentru ca aceast˘ a proprietate s˘ a fie adev˘ arat˘ a este ca elementul
structurant s˘ a con¸tin˘ a originea, {0
n
} ∈ B. Atunci
A B =

b∈B
S
A
b
= A∩ (

b∈B
S
−{0
n
}
A
b
) ⊆ A (6.19)
Condi¸tia ca elementul structurant s˘ a con¸tin˘ a originea nu este îns˘ a ¸si o condi¸tie necesar˘ a
(a se vedea figura 6.8).
79
Fig. 6.8: De¸si elementul structurant nu î¸si con¸tine originea, rezultatul erod˘ arii este inclus
în mul¸timea ini¸tial˘ a.
Dilatarea este pseudocomutativ˘ a, proprietate care se exprim˘ a ca
A ⊕B = (B ⊕A)
S
(6.20)
A ⊕B = A+B
S
= (A
S
+B)
S
= (B +A
S
) = (B ⊕A)
S
(6.21)
Proprietatea de asociativitate a dilat˘ arii se scrie ca
A⊕(B ⊕C) = (A ⊕B) ⊕C
S
(6.22)
Într-adev˘ ar:
A⊕(B⊕C) = A+(B⊕C)
S
= A+(B+C
S
)
S
= A+B
S
+C = (A⊕B)+C = (A⊕B)⊕C
S
(6.23)
Erodarea nu este nici comutativ˘ a (sau pseudocomutativ˘ a) ¸si nici asociativ˘ a. Mai mult,
“asociativitatea” erod˘ arii se scrie ca:
(AB) C = A(B ⊕C) (6.24)
Într-adev˘ ar:
(AB)C = ((AB)
C
⊕C)
C
= ((A
C
⊕B)⊕C)
C
= (A
C
⊕(B⊕C))
C
= A(B⊕C) (6.25)
Propriet˘ a¸tile de asociativitate ale dilat˘ arii ¸si erod˘ arii pot fi interpretate ¸si ca o “de-
scompunere” a elementului structurant; dac˘ a un element structurant poate fi considerat
ca descompus prin dilatare în X = B ⊕ C, atunci opera¸tia morfologic˘ a efectuat˘ a prin
elementul structurant respectiv este echivalent˘ a cu opera¸tiile morfologice prin “p˘ ar¸tile”
descompunerii elementului structurant, efectuate succesiv, adic˘ a:
80
A⊕X = (A⊕B) ⊕C
S
¸si AX = (AB) C
Dilatarea ¸si erodarea sunt transform˘ ari (opera¸tii) ce nu p˘ astreaz˘ a num˘ arul de conexit˘ a¸ti
(num˘ arul de obiecte). Rezultatul unei erod˘ ari poate fi o mul¸time vid˘ a (dac˘ a elementul
structurant nu poate fi inclus în form˘ a pentru nici o pozi¸tie) sau mai multe forme (com-
ponente conexe). Rezultatul dilat˘ arii unei mul¸timi formate din mai multe componente
conexe poate fi o singur˘ a component˘ a conex˘ a; “g˘ aurile” con¸tinute într-o form˘ a pot fi
umplute.
Aceste propriet˘ a¸ti ale erod˘ arii ¸si dilat˘ arii sunt fundamentul folosirii practice a acestora:
prin erodare se pot elimina dintr-o mul¸time componentele conexe ce sunt mai mici decât
elementul structurant folosit (sau sunt mult diferite de acesta din punctul de vedere al
formei) - aplica¸tiile ce ar putea folosi o asemenea comportare sunt separarea obiectelor
dup˘ a form˘ a ¸si dimensiune ¸si eliminarea zgomotului suprapus scenei. Prin dilatare se
pot grupa într-o singur˘ a entitate obiecte apropiate ¸si se pot umple golurile înglobate în
obiecte.
Dilatarea ¸si erodarea nu sunt opera¸tii inversabile (nu admit o transformare invers˘ a). Cu
atât mai mult, dilatarea nu este inversa erod˘ arii ¸si erodarea nu este inversa dilat˘ arii;
exemplele prezentate în figurile 6.9 ¸si 6.10 ilustreaz˘ a aceast˘ a afirma¸tie.
(AB) ⊕B = A ¸si (A⊕B) B = A (6.26)
O alt˘ a categorie de propriet˘ a¸ti se refer˘ a la distributivitatea opera¸tiilor morfologice fa¸t˘ a
de opera¸tiile cu mul¸timi. Pentru dilatare avem:
(A∪ B) ⊕C = (A⊕C) ∪ (B ⊕C) (6.27)
(A⊕C)∪(B⊕C) = (

c∈C
S
A
c
)∪(

c∈C
S
B
c
) = (

c∈C
S
A
c
∪B
c
) =

c∈C
S
(A∪B)
c
= (A∪B)⊕C
A⊕(B ∪ C) = (A ⊕B) ∪ (A⊕C) (6.28)
(A⊕B) ∪(A⊕C) = (A+B
S
) ∪(A+C
S
) = (B
S
+A) ∪(C
S
+A) = (

a∈A
B
S
a
) ∪(

a∈A
C
S
a
) =
=

a∈A
(B
S
a
∪ C
S
a
) =

a∈A
(B ∪ C)
S
a
= (B ∪ C)
S
+A = A+ (B ∪ C)
S
= A⊕(B ∪ C)
81
Fig. 6.9: Dilatarea ¸si erodarea nu sunt transform˘ ari inverse una alteia; ilustrare pentru
mul¸timi discrete.
Fig. 6.10: Dilatarea ¸si erodarea nu sunt transform˘ ari inverse una alteia; ilustrare pentru
mul¸timi continue.
82
Aceast˘ a din urm˘ a rela¸tie poate fi interpretat˘ a ¸si ca o descompunere prin reuniune a
elementului structurant X = B ∪ C, caz în care opera¸tia morfologic˘ a efectuat˘ a prin
elementul structurant respectiv este echivalent˘ a cu opera¸tiile morfologice prin “p˘ ar¸tile”
descompunerii elementului structurant, efectuate succesiv, adic˘ a:
A⊕X = (A⊕B) ∪ (A⊕C) (6.29)
Erodarea are propriet˘ a¸ti asem˘ an˘ atoare dilat˘ arii fa¸t˘ a de intersec¸tia mul¸timilor:
A(B ∪ C) = (A B) ∩ (AC) (6.30)
(A B) ∩ (AC) = (

t∈B
S
A
t
) ∩ (

t∈C
S
A
t
) =

t∈B
S
∪C
S
A
t
=

t∈(B∪C)
S
A
t
= A(B ∪ C)
(A∩ B) C = (AC) ∩ (B C)
(AC) ∩(BC) = (

c∈C
S
A
c
) ∩(

c∈C
S
B
c
) =

c∈C
S
(A
c
∩B
c
) =

c∈C
S
(A∩B)
c
= (A∩B) C
Înrudite cu propriet˘ a¸tile de distributivitate deja enun¸tate, exist˘ a o serie de inegalit˘ a¸ti
(rela¸tii de incluziune) de aceea¸si natur˘ a:
A ⊕(B ∩ C) ⊆ (A⊕B) ∩ (A ⊕C) ¸si (B ∩ C) ⊕A ⊆ (B ⊕A) ∩ (C ⊕A)
A (B ∩ C) ⊇ (AB) ∪ (A C) ¸si (B ∩ C) A ⊇ (B A) ∩ (C A)
Aceast˘ a tratare [aproape] exhaustiv˘ a a propriet˘ a¸tilor opera¸tiilor morfologice de baz˘ a (di-
latare, erodare) se reg˘ ase¸ste în majoritatea monografiilor de morfologie matematic˘ a, ca de
exemplu în [14], [7]. De¸si, în esen¸t˘ a, propriet˘ a¸tile tratate sunt acelea¸si, se impun câteva
preciz˘ ari.
Nota¸tiile introduse în acest text sunt diferite pentru opera¸tiile Minkowski (adunare + ¸si
sc˘ adere −) ¸si pentru opera¸tiile morfologice (dilatare ⊕ ¸si erodare ). Leg˘ atura dintre
aceste opera¸tii este dat˘ a de:
A⊕B = A+B
S
¸si AB = A−B
S
(6.31)
83
În majoritatea lucr˘ arilor de morfologie îns˘ a, nu se face nici o distinc¸tie de nota¸tie între
aceste opera¸tii, ceea ce poate genera confuzii. Chiar în condi¸tiile p˘ astr˘ arii acelora¸si no-
ta¸tii, exist˘ a abord˘ ari diferite privind definirea opera¸tiilor morfologice. În [7] dilatarea ¸si
erodarea sunt identice cu adunarea, respectiv sc˘ aderea Minkowski (deci f˘ ar˘ a simetrizarea
elementului structurant). Avantajul unei asemenea formaliz˘ ari este existen¸ta propri-
et˘ a¸tilor de comutativitate ¸si asociativitate a dilat˘ arii (determinate direct de comutativi-
tatea ¸si asociativitatea adun˘ arii Minkowski). În plus, rezultatul dilat˘ arii este o “cre¸stere”
a formei pe direc¸tia ¸si în sensul elementului structurant folosit.
Dezavantajul acestei abord˘ ari este acela c˘ a trebuie redefinit conceptul de dualitate 6.8
(dac˘ a se dore¸ste p˘ astrarea propriet˘ a¸tii fundamentale de dualitate a dilat˘ arii ¸si erod˘ arii),
dup˘ a cum urmeaz˘ a:
Dual(Op(A, B))|
B parametru
= (Op(A
C
, B
S
))
C
(6.32)
În [14] este preferat˘ a definirea dilat˘ arii unei mul¸timi ca adunarea Minkowski a mul¸timii
cu elementul structurant simetrizat.
6.1.5 Aspecte de implementare
Din punct de vedere practic (al implement˘ arii), elementul structurant poate fi interpretat
analog suportului ferestrei de filtrare folosit˘ a pentru orice opera¸tie bazat˘ a pe principiul
ferestrei glisante: cu valorile selectate din imagine “se face ceva”. Va trebui îns˘ a introdus
un mecanism de specificare a formei ferestrei de filtrare (elementului structurant) care
s˘ a permit˘ a modificarea relativ simpl˘ a a acesteia (puterea morfologiei matematice const˘ a
în alegerea a diferite tipuri de elemente structurante optime unei anumite prelucr˘ ari).
Conven¸tia de reprezentare a imaginilor binare este de a avea asociate valori nule punctelor
de fundal ¸si valori pozitive (1 sau 255) punctelor obiect
1
. În aceste condi¸tii, putem g˘ asi
o echivalen¸t˘ a intuitiv˘ a simpl˘ a opera¸tiilor morfologice de erodare ¸si dilatare. Rezultatul
opera¸tiei de erodare într-un pixel este nenul dac˘ a ¸si numai dac˘ a elementul structurant
plasat cu originea în acel punct este inclus în forma de prelucrat, ¸si deci, dac˘ a ¸si numai
dac˘ a toate valorile selectate de elementul structurant sunt nenule; aceasta înseamn˘ a c˘ a
putem implementa opera¸tia de erodare printr-o opera¸tie de minim. Rezultatul opera¸tiei
de dilatare într-un pixel este nul dac˘ a ¸si numai dac˘ a elementul structurant plasat cu
originea în acel punct nu are nici un punct comun cu forma de prelucrat, ¸si deci, dac˘ a ¸si
numai dac˘ a toate valorile selectate de elementul structurant sunt nule; aceasta înseamn˘ a
c˘ a putem implementa opera¸tia de dilatare printr-o opera¸tie de maxim. În cele ce urmeaz˘ a
prezent˘ am codul pentru opera¸tia de erodare.
# define SIZE_MAX_ES=16;
1
Reprezentarea grafic˘ a a acestei imagini, realizat˘ a cu tabela de nivele de gri normal˘ a va afi¸sa deci
obiecte albe pe un fundal negru.
84
int min,min_i,max_i,min_j,max_j;
integer es[SIZE_MAX_ES][2];
min_i=0;max_i=0,min_j=0,max_j=0;
for (k=0;k<dim_es;k++) {
if (min_i > es[k][1])
min_i=es[k][1];
if (max_i < es[k][1])
max_i=es[k][1];
if (min_j > es[k][2])
min_j=es[k][2];
if (max_j < es[k][2])
max_j=es[k][2]; }
for (i=-min_i;i<NRLIN-max_i;i++)
for (j=-min_j;j<NRCOL-max_j;j++) {
min=MAXINT;
for (k=0;k<dim_es;k++)
if (min > img[i+es[k][1]][j+es[k][2]]) then
min=img[i+es[k][1]][j+es[k][2]];
img_out[i][j]=min; }
Elementul structurant folosit este reprezentat prin matricea de întregi es, având cel mult
16 linii ¸si 2 coloane. Fiecare linie a matricii corespunde unui punct din elementul struc-
turant, reprezentat prin coordonatele fa¸t˘ a de originea elementului structurant: es[k][1]
¸si es[k][2]. De exemplu, elementul structurant orizontal, centrat, având trei puncte este
reprezentat prin es = [0 −1; 0 0; 0 1]
T
. Num˘ arul de puncte ce compun elementul struc-
turant este dim_es. Prima bucl˘ a for determin˘ a dimensiunile dreptunghiului de încadrare
a elementului structurant, pentru a putea evita efectele de margine la prelucrarea imagi-
nii.
6.2 Transform˘ ari morfologice derivate
Vom numi opera¸tie (transformare) morfologic˘ a derivat˘ a opera¸tia morfologic˘ a construit˘ a
ca o combina¸tie de transform˘ ari de baz˘ a: erod˘ ari, dilat˘ ari ¸si opera¸tii clasice ansambliste.
6.2.1 Deschiderea ¸si închiderea
Dup˘ a cum s-a ar˘ atat, erodarea ¸si dilatarea nu sunt transform˘ ari inverse una alteia (deci
alternarea lor va produce un rezultat diferit de mul¸timea original˘ a ce a fost prelucrat˘ a).
Aceast˘ a observa¸tie conduce la ideea utiliz˘ arii unor iter˘ ari ale opera¸tiilor morfologice de
85
baz˘ a, ob¸tinând astfel opera¸tii mai complexe, ale c˘ aror propriet˘ a¸ti le fac mai adecvate
utiliz˘ arii în scopuri practice.
Deschiderea morfologic˘ a a mul¸timii A prin elementul structurant B se define¸ste ca ero-
darea mul¸timii cu elementul structurant respectiv, urmat˘ a de dilatarea cu elementul
structurant simetrizat:
AB = (AB) ⊕B
S
(6.33)
Închiderea morfologic˘ a a mul¸timii A prin elementul structurant B se define¸ste ca dilatarea
mul¸timii cu elementul structurant respectiv, urmat˘ a de erodarea cu elementul structurant
simetrizat:
A• B = (A ⊕B) B
S
(6.34)
Proprietatea de baz˘ a a deschiderii ¸si închiderii morfologice este aceea c˘ a sunt transform˘ ari
duale una alteia (proprietate ce deriv˘ a din dualitatea blocurilor constituente de baz˘ a,
dilatarea¸si erodarea). Aceast˘ a proprietate permite interpretarea rezultatelor unei opera¸tii
¸si deducerea propriet˘ a¸tilor acesteia pe baza caracteristicilor dualei sale.
(AB)
C
= A
C
• B ¸si (A• B)
C
= A
C
B (6.35)
Demonstra¸tia acestor propriet˘ a¸ti este imediat˘ a:
(A
C
B)
C
= ((A
C
B) ⊕B
S
)
C
= ((A ⊕B)
C
⊕B
S
)
C
= (A ⊕B) B
S
= A • B
(A
C
• B)
C
= ((A
C
⊕B) B
S
)
C
= ((AB)
C
B
S
)
C
= (AB) ⊕B
S
= A B
În mod evident, rezultatul unei deschideri sau al unei închideri este diferit de mul¸timea
ce a fost prelucrat˘ a. Rela¸tia dintre rezultatul prelucr˘ arii ¸si mul¸timea ini¸tial˘ a este dat˘ a de
propriet˘ a¸tile de extensivitate ale transform˘ arilor.
Deschiderea morfologic˘ a este antiextensiv˘ a, adic˘ a A B ⊆ A
Închiderea morfologic˘ a este extensiv˘ a, adic˘ a A ⊆ A• B
Deci, pentru a sintetiza, putem afirma c˘ a:
AB ⊆ A ⊆ A• B (6.36)
86
Rela¸tiile pot fi interpretate ca o modificare sigur˘ a a mul¸timii: prin deschidere se vor
elimina o parte dintre elementele mul¸timii ce se prelucreaz˘ a, iar prin închidere se adaug˘ a
elemente noi mul¸timii.
Proprietatea de idempoten¸t˘ a a opera¸tiilor introduce o limitare a modific˘ arilor: mul¸timea
ob¸tinut˘ a dup˘ a o deschidere sau închidere este invariant˘ a la repetarea opera¸tiei:
(A• B) • B = A• B ¸si (AB) B = AB (6.37)
Rela¸tiile se demonstreaz˘ a folosind propriet˘ a¸tile deja enun¸tate ale deschiderii ¸si închiderii
(extensivitate) ¸si propriet˘ a¸tile de monotonie ale opera¸tiilor morfologice de baz˘ a.
Închiderea ¸si deschiderea mo¸stenesc o parte dintre propriet˘ a¸tile opera¸tiilor morfologice de
baz˘ a: invarian¸ta la transla¸tie ¸si la scalare, monotonia fa¸t˘ a de mul¸timea prelucrat˘ a ¸si fa¸t˘ a
de elementul structurant folosit. Din punctul de vedere al acestor propriet˘ a¸ti, deschiderea
se comport˘ a analog erod˘ arii iar închiderea are o comportare analoag˘ a dilat˘ arii.
A
t
B = (AB)
t
¸si A
t
• B = (A• B)
t
1
λ
(λA B) = A
1
λ
B ¸si
1
λ
(λA • B) = A•
1
λ
B
Dac˘ a A
1
⊆ A
2
: A
1
B ⊆ A
2
B ¸si A
1
• B ⊆ A
2
• B.
Dac˘ a B
1
⊆ B
2
: AB
2
⊆ A B
1
¸si A• B
1
⊆ A• B
2
În ceea ce prive¸ste propriet˘ a¸tile legate de comportarea fa¸t˘ a de transla¸tie a operatorilor
de deschidere ¸si închidere, merit˘ a subliniat faptul c˘ a proprietatea este identic˘ a cu cea
a erod˘ arii ¸si dilat˘ arii doar la transla¸tia mul¸timii prelucrate (rezultatul unei deschideri
sau închideri a unei mul¸timi este acela¸si, indiferent de pozi¸tia spa¸tial˘ a a mul¸timii). În
cazul translat˘ arii elementului structurant, rezultatul opera¸tiei este acela¸si, invariant la
transla¸tie (ca rezultat a iter˘ arii erod˘ arii ¸si dilat˘ arii cu elemente structurante simetrice).
Pentru realizarea efectiv˘ a a opera¸tiilor de deschidere ¸si închidere este important˘ a expri-
marea acestora ca opera¸tii la nivelul elementelor mul¸timilor ce se prelucreaz˘ a (¸si nu ca
o iterare de opera¸tii morfologice de baz˘ a). Deschiderea mai poate fi exprimat˘ a ¸si ca
mul¸timea elementelor structurante translatate ce sunt incluse în mul¸timea de prelucrat:
AB =
_
Bx⊆A
B
x
(6.38)
Închiderea mai poate fi exprimat˘ a ¸si ca mul¸timea punctelor pentru care toate elementele
structurante translatate ce le con¸tin au puncte comune cu mul¸timea de prelucrat:
87
A• B =

Bx∩A=∅
B
x
(6.39)
Pe baza acestor exprim˘ ari se pot deduce ¸si efectele practice ale deschiderii ¸si închiderii
asupra formelor (mul¸timilor). Prin deschidere, formele mai mici ca elementul struc-
turant folosit vor fi eliminate, se l˘ argesc golurile înglobate în obiecte, contururile sunt
netezite prin te¸sirea convexit˘ a¸tilor iar obiectele unite prin istmuri sunt separate. Da-
torit˘ a propriet˘ a¸tii de dualitate, închiderea va avea acelea¸si efecte asupra fundalului (com-
plementarei obiectelor) pe care le are deschiderea asupra mul¸timilor. Închiderea umple
golurile înglobate în obiecte (dac˘ a aceste g˘ auri sunt mai mici decât elementul structurant
folosit), neteze¸ste contururile formelor prin umplerea concavit˘ a¸tilor ¸si une¸ste obiectele
foarte apropiate (umple “strâmtorile”).
Efectele opera¸tiilor de deschidere ¸si închidere pot fi considerate ca analoage efectelor unei
filtr˘ ari de netezire a formelor ¸si eliminare a zgomotului (zgomot interpretat ca obiecte ¸si
g˘ auri de mici dimensiuni). În [14], în cadrul teoriei algebrice a morfologiei matematice, un
filtru este definit ca o opera¸tie cresc˘ atoare ¸si idempotent˘ a. Trebuie f˘ acut˘ a deci distinc¸tia
între filtrul algebric ¸si filtrul obi¸snuit, în sensul teoriei prelucr˘ arii semnalelor.
6.2.2 Filtrele alternate secven¸tial
Filtrele morfologice sunt transformari neliniare ale semnalului, care modific˘ a local ca-
racteristici geometrice (de form˘ a). Teoria algebric˘ a general˘ a a filtrelor [14] define¸ste o
transformare ca filtru dac˘ a aceasta este cresc˘ atoare ¸si idempotent˘ a, ceea ce înseamn˘ a
deci c˘ a deschiderea ¸si închiderea sunt filtre, în timp ce erodarea ¸si dilatarea nu sunt filtre.
Dac˘ a o imagine (mul¸time) este filtrat˘ a prin deschideri dup˘ a elemente structurante (discuri
de raz˘ a r) cresc˘ atoare, aceasta este echivalent cu a aplica deschiderea dup˘ a elementul
structurant cu raza cea mai mare. Totu¸si, se pot construi filtre ce actioneaz˘ a asupra
obiectelor ¸si detaliilor în mod gradat, pe masura iter˘ arii: aceste sunt filtrele alternate
secven¸tial, ce alterneaz˘ a deschideri ¸si închideri dup˘ a elemente structurante de dimensiune
cresc˘ atoare:
FAS(A) = (((((AB) • B) 2B) • 2B) 3B) • ... (6.40)
sau
FAS(A) = (((((A• B) B) • 2B) 2B) • 3B) ... (6.41)
6.2.3 Operatori morfologici de contur
O problema curent˘ a a prelucr˘ arilor de imagini este extragerea punctelor de contur. Cazul
în care imaginea este binar˘ a constituie o simplificare a metodelor ¸si calculelor. P˘ astrând
88
interpretarea pixelilor ca fiind puncte ale obiectului sau ale fundalului, punctele de con-
tur sunt acele puncte de obiect ce au cel pu¸tin un punct de fundal vecin. În general,
vecin˘ atatea folosit˘ a este cea de tip disc unitar, a c˘ arei form˘ a va depinde puternic de tipul
de metric˘ a folosit˘ a.
Exist˘ a trei extractoare morfologice de contur: conturul interior (6.42), conturul exterior
(6.43) ¸si gradientul morfologic (6.44).
δA = A −A B (6.42)
∆A = A⊕B −A (6.43)
grad A = A ⊕B −AB (6.44)
6.3 Extinderea morfologiei matematice la nivele de
gri
Pâna în acest moment s-au prezentat opera¸tiile morfologice clasice, adic˘ a aplicate asupra
unor seturi (mul¸timi). Acestea prezint˘ a limitarea implicit˘ a în aplicarea numai asupra unei
categorii particulare de imagini, ¸si anume cele a c˘ aror structur˘ a poate fi u¸sor ¸si imediat
asociat˘ a unor mul¸timi, adic˘ a imaginile binare. Pentru extinderea opera¸tiilor morfologice
la func¸tii se vor construi transform˘ ari ce permit trecerea de la o reprezentare de tip func¸tie
la o reprezentare de tip mul¸time.
În cele ce urmeaz˘ a ne vom referi la o submul¸time Aa spa¸tiului discret n-dimensional, adic˘ a
A ⊆ Z
n
. Elementele mul¸timii A sunt puncte, reprezentate prin vectorul n-dimensional al
coordonatelor, x ∈ A, cu x = (x
1
, x
2
, ..., x
n
). Ordinea coordonatelor este arbitrar˘ a.
Vom numi primele n − 1 coordonate ale unui punct x domeniu spa¸ tial al mul¸timii ¸si
cea de-a n-a coordonat˘ a, suprafa¸ ta mul¸ timii. Vom nota aceste “p˘ ar¸ti” ale mul¸timii A cu
A
(1,n−1)
¸si respectiv A
(n,n)
. Putem avea n moduri diferite de a alege aceste parti¸tii ale
coordonatelor (corespunzând modului în care se poate alege o coordonat˘ a dintr-un total
de n).
Vârful (top) sau suprafa¸ta de vârf a unei mul¸timi A este func¸tia T(A) : A
(1,n−1)
−→A
(n,n)
definit˘ a de:
T(A)(z) = max{y | (z, y) ∈ A, ∀z ∈ A
(1,n−1)
} (6.45)
În acest mod se introduce o func¸tie, pornind de la o mul¸time; func¸tia este cu valori
întregi (func¸tie scalar˘ a) de argument vectorial n − 1-dimensional. Pentru exemplificare
consider˘ am cazul în care n = 2, deci fiecare punct al mul¸timii A este un vector bidimen-
sional, x = (i, j). Consider˘ am coordonata i ca fiind domeniul spa¸tial ¸si coordonata j ca
89
i O
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ + +
+ +
+
multimea A
vârful lui A
i
j
O
+
+
+
+ +
+ +
+
functia asociata multimii A
Fig. 6.11: Exemplificare pentru func¸tia vârf a unei mul¸timi.
fiind suprafa¸ta mul¸timii. Atunci, prin transformarea vârf, asociem mul¸timii A o func¸tie
definit˘ a pe domeniul s˘ au spa¸tial ¸si cu valori în suprafa¸ta sa.
Umbra unei func¸tii oarecare f este definit˘ a ca transformarea f : B ⊆ Z
n−1
−→ C ⊆ Z
dat˘ a de:
U(f) = {(z, y) | z ∈ B, y ∈ Z, y f(z)} (6.46)
În acest mod, plecând de la o func¸tie de variabil˘ a vectorial˘ a n−1-dimensional˘ a, cu valori
scalare, se ob¸tine o mul¸time ale c˘ arei elemente sunt vectori n-dimensionali. Mul¸timea
ob¸tinut˘ a este semideschis˘ a (nemarginit˘ a).
i
j
O
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ + +
+
functia f
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+ +
+
+ +
umbra lui f
umbra este nemarginita
Fig. 6.12: Determinarea umbrei unei mul¸timi.
În mod evident, vom avea urm˘ atoarele rela¸tii între cele dou˘ a transform˘ ari mul¸time-func¸tie
(vârful ¸si umbra):
T(U(F)) = f ¸si A ⊆ U(T(A)) (6.47)
90
Opera¸tiile morfologice pentru func¸tii se definesc prin intermediul transform˘ arii acestora
în mul¸timi (reducând astfel opera¸tiile pe func¸tii la opera¸tii pe mul¸timi, a¸sa cum au fost
prezentate la morfologia binar˘ a):
f g = T (U(f) U(g)) ¸si f ⊕g = T (U(f) ⊕U(g)) (6.48)
Ca ¸si în cazul morfologiei pe mul¸timi, g se nume¸ste element structurant (func¸tie struc-
turant˘ a). Se nume¸ste element structurant flat, elementul structurant pentru care g(y) =
0, ∀y ∈ Supp(g). Aceste elemente structurante de tip flat sunt echivalente cu cele folosite
în morfologia clasic˘ a pe mul¸timi.
Forma echivalent˘ a a defini¸tiilor erod˘ arii ¸si dilat˘ arii (folosite în mod efectiv în practic˘ a)
este, pentru ∀x ∈ Supp(f) :
f g = min
y∈Supp(g)
{f(x −y) −g(y)} , f ⊕g = max
y∈Supp(g)
{f(x −y) +g(y)} (6.49)
Dac˘ a se utilizeaz˘ a elemente structurante plate (deci caracterizate doar de forma supor-
tului, ¸si nu ¸si de valori asociate acestora), cele dou˘ a rela¸tii de defini¸tie devin identice cu
filtr˘ arile de ordine de rang minim ¸si respectiv maxim:
f g = min
y∈Supp(g)
{f(x −y)} , f ⊕g = max
y∈Supp(g)
{f(x −y)} (6.50)
91
Capitolul 7
METODE DE COMPRESIE A
IMAGINILOR
Termenul de compresie a imaginilor (uneori numit ¸si codare a imaginilor) se refer˘ a la o
clas˘ a larg˘ a de tehnici ¸si metode al c˘ aror scop este reprezentarea unui imagini date cu
un num˘ ar cât mai mic de bi¸ti (mai mic decât num˘ arul de bi¸ti al reprezent˘ arii ini¸tiale).
Necesitatea reducerii cantit˘ a¸tii de informa¸tie necesar˘ a reprezent˘ arii este evident˘ a dac˘ a
consider˘ am cazul memor˘ arii imaginilor radiografice (4000 x 2500 pixeli, cu 4096 nivele
de gri, deci 14,3 MB) sau al transmisiei de televizune alb-negru (625 x 625 pixeli cu 256
nivele de gri, de 50 de ori pe secund˘ a, deci un flux de 18.6 MB/ secund˘ a) [9]. Procesul de
recompunere a imaginii ini¸tiale din reprezentarea restrâns˘ a se nume¸ste decompresie sau
decodare; este evident c˘ a prin decodare trebuie s˘ a se ob¸tin˘ a o imagine cât mai apropi-
at˘ a de imaginea orginal˘ a. Exist˘ a dou˘ a categorii fundamentale de tehnici de compresie
(codare): codarea f˘ ar˘ a pierderi (în care imaginea decodat˘ a este identic˘ a cu imaginea ini-
¸tial˘ a) ¸si codarea cu pierderi, în care se admit mici diferen¸te fa¸t˘ a de original. Calitatea
unui procedeu de compresie (pentru o imagine dat˘ a) se m˘ asoar˘ a prin factorul de calitate
(raportul semnal zgomot (3.4) dintre imaginea original˘ a f ¸si imaginea decodat˘ a g) ¸si
factorul (raportul) de compresie. Factorul de compresie C este raportul dintre cantitatea
de informa¸tie necesar˘ a reprezent˘ arii imaginii ini¸tiale ¸si cantitatea de informa¸tie necesar˘ a
reprezent˘ arii imaginii codate; evident compresia are loc dac˘ a factorul de compresie este
supraunitar (C > 1). Uneori, factorului de compresie i se asociaz˘ a (sau este înlocuit de)
rata de compresie: cantitatea de informa¸tie necesar˘ a reprezent˘ arii comprimate a fiec˘ arui
pixel al imaginii; rata de compresie se m˘ asoar˘ a în bi¸ti per pixel (bpp).
O alt˘ a clasificare posibil˘ a a tehnicilor de compresie se poate face dup˘ a tipul imaginii
c˘ areia i se aplic˘ a: vom face astfel distinc¸tia între compresia imaginilor binare ¸si compresia
imaginilor cu nivele de gri. Se impune totu¸si o observa¸tie: metodele de codare ce se vor
prezenta în cadrul tehnicilor speifice imaginilor binare pot fi folosite pentru compresia
oric˘ arei succesiuni de valori binare, indiferent de semnifica¸tia acestora (ceea ce înseamn˘ a
c˘ a ar putea fi folosite ¸si pentru compresia imaginilor cu nivele de gri) ¸si sunt metode de
92
compresie f˘ ar˘ a pierderi.
7.1 Compresia imaginilor binare
Putem considera c˘ a singura categorie de imagini binare de interes sunt imaginile în alb-
negru (sau monocrome); valorile punctelor acestora sunt fie 0 (reprezentând fundalul de
culoare alb˘ a), fie 1 (reprezentând punctele de interes, de culoare neagr˘ a)
1
. Cele dou˘ a clase
de metode de codare pe care le avem în vedere sunt codarea entropic˘ a (metoda de codare
Huffman) ¸si metodele de codare on-line (pe flux de bi¸ti); deosebirea dintre aceste metode
(la un nivel al implement˘ arii) este c˘ a pentru codarea entropic˘ a este necesar˘ a parcurgerea
¸si stocarea intermediar˘ a a întregii imagini.
7.1.1 Codarea entropic˘ a (Huffman)
Codarea entropic˘ a (Huffman) este metoda optimal˘ a de codare a unei surse de informa¸tie.
Codarea sursei de informa¸tie S ale c˘ arei mesaje sunt {s
1
, s
2
, ..., s
N
}, de probabilit˘ a¸ti
{p(s
1
), p(s
2
), ..., p(s
N
)} prin alfabetul X cu D simboluri înseamn˘ a a asocia fiec˘ arui mesaj
s
i
al sursei primare de informa¸tie un ¸sir de simboluri din alfabetul codului. Lungimea
medie a cuvintelor de cod este dat˘ a de raportul dintre entropia sursei primare ¸si entropia
alfabetului codului:
l =
H(S)
H(X)
(7.1)
Se dore¸ste ob¸tinerea unei lungimi medii minime a cuvintelor de cod, ¸si deci, echiva-
lent, m˘ arirea entropiei alfabetului codului; la limit˘ a, lungimea media minim˘ a posibil˘ a de
ob¸tinut este:
l
min
=
H(S)
log D
(7.2)
Procedeul practic prin care se realizeaz˘ a alocarea simbolurilor din alfabetul codului astfel
încât entropia acestuia s˘ a fie maximizat˘ a (metoda Huffman) se bazeaz˘ a pe reducerea
iterativ˘ a a num˘ arului de simboluri ale sursei de codat ¸si construirea unei surse restrânse.
La fiecare etap˘ a cele D simboluri cele mai pu¸tin probabile ale sursei de informa¸tie sunt
reunite într-un nou simbol; procedeul de restrângere continu˘ a pân˘ a când se ob¸tine o
surs˘ a redus˘ a cu exact D simboluri. Apoi, pentru fiecare reunire de simboluri, fiecare
mesaj individual va primi codul cuvântului reunit ca prefix, urmat de câte un simbol din
alfabetul codului. Vom considera urm˘ atorul exemplu.
O surs˘a S genereaz˘a 6 simboluri, de probabilit˘a¸ ti descrise de vectorul P = [0.3; 0.25; 0.2; 0.1;
0.1; 0.05]. Sursa este codat˘a optimal, simbol cu simbol, cu cuvinte de cod generate cu
1
Deci conven¸tia de reprezentare prin culori este modificat˘ a fa¸t˘ a de conven¸tia general˘ a utilizat˘ a — 0 nu
mai este negru, ci alb.
93
simboluri dintr-un alfabet ternar. S˘a se calculeze cuvintele de cod, arborele de codare ¸ si
eficien¸ ta cod˘arii.
Codarea optimal˘ a a unei surse se realizeaz˘ a conform algoritmului Huffman. Se ¸stie c˘ a
num˘ arul de simboluri ale sursei ce se codeaz˘ a trebuie s˘ a îndeplineasc˘ a o anume rela¸tie
_
N−D
D−1
∈ N
_
; în acest caz, N = 6, D = 3 ¸si deci
N −D
D −1
=
6 −3
3 −1
=
3
2
/ ∈ N
Completarea se face ad˘ augând sursei simboluri de probabilitate nul˘ a; în acest caz, cu un
singur astfel de simbol ad˘ augat ob¸tinem N = 7 ¸si
N −D
D −1
=
7 −3
3 −1
=
4
2
∈ N
Entropia sursei extinse S este dat˘ a de:
H(S) = −
7

i=1
p(s
i
) log p(s
i
) = −(0.3 log 0.3 + 0.25 log 0.25 + 0.2 log 0.2 + 2 · 0.1 log 0.1) −
−0.05 log 0.05 −0 log 0 = 2.366 bit/simbol
Atunci, conform (7.2), lungimea medie minim˘ a a unui cuvânt de cod este:
l
min
=
H(S)
log D
=
2.366
log 3
= 1.493 bit
Codarea Huffman este realizat˘ a conform tabelului 7.1.
Surs˘ a p(s
i
) Cod Surs˘ a p(r
ji
) Cod Surs˘ a p(r
ji
) Cod
primar˘ a restrâns˘ a restrâns˘ a
r
21
0.45 0
s
1
0.3 r
11
0.3 r
22
0.3 1
s
2
0.25 r
12
0.25 r
23
0.25 2
s
3
0.2 r
13
0.2 00
r
14
0.15 01
s
4
0.1 r
15
0.1 02
s
5
0.1 010
s
6
0.05 011
s
7
0 012
Tabel 7.1: Codare Huffman
94
Cuvintele de cod sunt grupate în tabelul 7.2; pe baza lor putem calcula lungimea medie
a cuvintelor de cod:
l =
7

i=1
l
i
p(s
i
) = 1 · 0.3 + 1 · 0.25 + 2 · 0.2 + 2 · 0.1 + 3 · 0.1 + 3 · 0.05 + 3 · 0 = 1.6
Surs˘ a p(s
i
) Cod Lungime
primar˘ a
s
1
0.3 1 1
s
2
0.25 2 1
s
3
0.2 00 2
s
4
0.1 02 2
s
5
0.1 010 3
s
6
0.05 011 3
s
7
0 012 3
Tabel 7.2: Coduri asociate simbolurilor sursei ¸si lungimile lor
În cazul imaginilor (sau al ¸sirurilor binare) mesajele sursei primare sunt formate din
grupuri de câte B bi¸ti succesivi (astfel, sursa primar˘ a are 2
B
mesaje, ale c˘ aror probabilit˘ a¸ti
de apari¸tie sunt specifice imaginii considerate). Cu cât B este mai mare, cu atât mai
mare va fi eficien¸ta cod˘ arii. Tabelul de codare (echivalen¸ta între mesajele sursei primare
¸si ¸sirurile de simboluri de cod) este specific fiec˘ arei imagini ¸si trebuie s˘ a înso¸teasc˘ a codul.
Codarea clasic˘ a este binar˘ a (D = 2, X = {0, 1}).
7.1.2 Codarea pe flux de bi¸ti
Metodele de codare pe flux de bi¸ti (on-line) se reg˘ asesc la primul nivel de codare al
transmisiilor de fax (RLE, WBS) sau ca tehnici generale de compresie a datelor, înglobate
atât în formate de fi¸siere grafice (TIFF) cât ¸si în arhivatoare uzuale (ZIP) — metoda Ziv-
Lempel. Aplicarea cod˘ arii la imagini presupune în primul rând transformarea imaginii
(structurii de matrice a acesteia) într-un vector (¸sir) prin concatenarea liniilor acesteia.
Codarea RLE
Principiul cod˘ arii RLE (Run Length Encoding) este acela de a memora num˘ arul de sim-
boluri succesive ale ¸sirului binar ce au aceea¸si valoare. Odat˘ a ce o secven¸t˘ a de simboluri
succesive de aceea¸si valoare (run length) se încheie, simbolul urm˘ ator nu poate avea decât
95
valoarea complementar˘ a celei ini¸tiale, prin alternan¸t˘ a. ¸ Sirul codat trebuie s˘ a înceap˘ a cu
valoarea primului simbol.
Conform acestei cod˘ ari, ¸sirul de valori binare 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1 este
codat RLE ca 0, 4, 3, 1, 1, 3, 1, 3, iar ¸sirul binar 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0 este codat
RLE ca 1, 7, 1, 1, 5. ¸ Sirul cuvintelor de cod trebuie deci s˘ a fie compus din codurile ce co-
respund lungimilor secven¸telor de valori identice succesive; aceasta înseamn˘ a c˘ a num˘ arul
de bi¸ti al reprezent˘ arii binare al cuvintelor de cod trebuie s˘ a permit˘ a reprezentarea
lungimii celei mai mari secven¸te. Cum determinarea de fiecare dat˘ a a acestei lungimi
maximale ¸si varierea lungimii cuvântului de cod nu este o solu¸tie corespunz˘ atoare, se
prefer˘ a fixarea unei lungimi maximale admise a secven¸telor. Orice secven¸t˘ a mai lung˘ a
decât secven¸ta maxim˘ a este desp˘ ar¸tit˘ a prin intercalarea fictiv˘ a a unor simboluri comple-
mentare. S˘ a consider˘ am o codare RLE cu lungimea cuvântului de cod de 2 bi¸ti; aceasta
înseamn˘ a c˘ a lungimea secven¸tei maxime este 3 (codul 0 trebui rezervat pentru secven¸ta
de lungime nul˘ a). Dac˘ a ¸sirul binar este 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0 atunci ¸sirul codat
va fi 1, 3, 0, 3, 0, 1, 1, 1, 3, 0, 2 (unde fiecare cifr˘ a va fi reprezentat˘ a pe 2 bi¸ti).
O codare mai bun˘ a se ob¸tine dac˘ a lungimile secven¸telor de simboluri identice succesive
sunt codate (într-o faz˘ a ulterioar˘ a) entropic, cu un algoritm de tip Huffman. Standardul
CCITT de transmisie fax recomand˘ a folosirea unor cod˘ ari Huffman truncheate: astfel,
dac˘ a o lungime de secven¸t˘ a este mai mic˘ a decât 64 este codat˘ a direct, cuvântul de cod
respectiv numindu-se terminator; dac˘ a o lungime de secven¸t˘ a este cuprins˘ a în gama
[64;1791] se codeaz˘ a separat num˘ arul de pixeli ce formeaz˘ a un multiplu de 64 (formând
un cod masc˘ a, make-up code) ¸si restul împ˘ ar¸tirii lungimii secven¸tei la 64, cu un cod
terminator. În plus, exist˘ a un cod special de sfâr¸sit de linie (EOL). Tabelele de codare
sunt standardizate (se pot g˘ asi de exemplu în [9, pp. 544-545]). Pe lâng˘ a transmisia de
fax, codarea RLE mai este utilizat˘ a în diferite formate de fi¸siere imagine (BMP, PCX,
TGA).
Por¸tiunea urm˘ atoare de program C realizeaz˘ a codarea RLE a ¸sirul de intrare in, de
dimensiune DIM_IN, cu cuvinte de cod ce pot reprezenta cel mult MAX_RUN sim-
boluri identice succesive; cuvintele de cod sunt scrise în ¸sirul out. Pozi¸tiile curente din
¸sirurile de intrare ¸si ie¸sire sunt determinate de variabilele pos_in ¸si respectiv pos_out.
Implementarea presupune c˘ a tipul de date al ¸sirului in permite aplicarea operatorului de
nega¸tie (! ).
pos_in=0;
out[0]=in[0];
pos_out=1;
crt_value=in[0];
while (pos_in<DIM_IN) {
if (in[pos_in]==crt_value) then
if (run_length<MAX_RUN) then
run_length++;
96
else {
out[pos_out]=MAX_RUN;
pos_out++;
out[pos_out]=0;
run_length=1; }
else {
out[pos_out]=run_length;
pos_out++;
run_length=1;
crt_value=!crt_value; }
pos_in++; }
Codarea WBS
Prima etap˘ a a cod˘ arii WBS (White Block Skipping) presupune împ˘ ar¸tirea ¸sirului binar
în grupe de câte D simboluri succesive. Principiul cod˘ arii este simplu: un bloc nul
este înlocuit cu un singur simbol de 0, un bloc nenul este prefixat de un simbol de
1 ¸si copiat. Conform acestei cod˘ ari (cu grupe de D = 3 simboluri), ¸sirul de valori
binare 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0 este împ˘ ar¸tit în grupele (0, 0, 0), (0, 1, 0), (0, 0, 1),
(1, 1, 0), (0, 0, 0) ¸si codat ca (0), (1, 0, 1, 0), (1, 0, 0, 1), (1, 1, 1, 0), (0), transformându-se
în ¸sirul 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0.
Dac˘ a ¸sirul dat binar de n grupe de simboluri con¸tine n
0
grupe nule, în urma compresiei
mai r˘ amân (n −n
0
)(D + 1) +n
0
simboluri ¸si factorul de compresie este atunci:
C =
nD
(n −n
0
)(D + 1) +n
0
(7.3)
Pentru ca s˘ a existe compresie trebuie ca C > 1 ¸si deci atunci
n
0
D > n ⇐⇒
n
0
n
>
1
D
(7.4)
adic˘ a propor¸tia de grupe nule din ¸sir trebuie s˘ a fie mai mare decât inversul num˘ arului de
simboluri dintr-o grup˘ a.
Pentru o larg˘ a categorie de imagini, lungimea blocului de codare D = 10 poate fi folosit˘ a
cu rezultate bune [9]. O îmbun˘ at˘ a¸tire a performan¸tei se poate ob¸tine dac˘ a se introduce
o adaptare a cod˘ arii, prin detec¸tia liniilor albe (reprezentate doar cu valori 0) ¸si codarea
unei linii întregi cu un singur 0 (desigur c˘ a în acest caz la codurile tuturor blocurilor
se mai adaug˘ a un prefix de valoare 1). O alt˘ a variant˘ a a metodei exploateaz˘ a structura
bidimensional˘ a a imaginii, codând blocuri p˘ atrate din imagine (deci imaginea nu mai este
vectorizat˘ a).
Por¸tiunea urm˘ atoare de program C realizeaz˘ a o variant˘ a de codare WBS cu blocuri de
dimensiune D a ¸sirului de intrare in (ale c˘ arui valori sunt 0 ¸si 1) de dimensiune DIM_IN;
97
codul WBS este scris în ¸sirul de ie¸sire out. Verificarea dac˘ a blocul curent este nul se face
prin sumarea valorilor acestuia. Pozi¸tiile curente în ¸sirul de intrare ¸si ¸sirul de ie¸sire sunt
memorate în pos_in ¸si respectiv pos_out.
pos_in=0;
pos_out=0;
while (pos_in<DIM_IN){
s=0;
for (i=0;i<D;i++)
s=s+in[pos_in+i];
if (s>0) then {
out[pos_out]=1;
pos_out++;
for (i=0;i<D;i++)
out[pos_out+i]=in[pos_out+i];
pos_out=pos_out+D; }
else {
out[pos_out]=0;
pos_out++; }
pos_in=pos_in+D; }
Codarea Ziv-Lempel
Codarea Ziv-Lempel nu are ca origine ideea explicit˘ a de a m˘ ari entropia alfabetului co-
dului (precum codarea Huffman), ci se bazeaz˘ a pe tehnica dic¸tionar LUT (folosit˘ a ¸si la
reprezentarea imaginilor indexate): cuvintele de cod asociate unor ¸siruri de simboluri
ale sursei de intrare sunt indicii (numerele de ordine) pozi¸tiilor la care se g˘ asesc respec-
tivele ¸siruri de simboluri în dic¸tionarul codului (tabela de codare). Tabela de codare
(dic¸tionarul) este creat˘ a pe m˘ asura parcurgerii ¸sirului de simboluri de intrare, ¸si, pentru
decodare, tabela se creaz˘ a din cuvintele de cod deja transmise (ceea ce înseamn˘ a c˘ a nu
este necesar˘ a memorarea sau transmiterea explicit˘ a a tabelului de codare
2
).
Dic¸tionarul ini¸tial are dou˘ a cuvinte: cuvântul 0, având indicele 0 ¸si cuvântul 1, având
indicele 1. Din ¸sirul de intrare (presupus binar) se extrage câte un bit ¸si se verific˘ a
dac˘ a ¸sirul de bi¸ti deja extras se reg˘ ase¸ste sau nu în dic¸tionar. Dac˘ a ¸sirul se reg˘ ase¸ste
în dic¸tionar, se mai adaug˘ a un bit din ¸sirul de intrare. Dac˘ a ¸sirul nu se reg˘ ase¸ste în
dic¸tionar, atunci ¸sirul este trecut în dic¸tionar, în ¸sirul codat se scrie codul (indicele)
prefixului ¸sirului nou ad˘ augat (deci pozi¸tia la care se g˘ ase¸ste în dic¸tionar cuvântul la care
2
Aceast˘ a caracteristic˘ a este probabil unic˘ a codului Ziv-Lempel; pentru toate celelalte aplic˘ ari ale
tehnicii LUT, tabela de codare este transmis˘ a sau memorat˘ a împreun˘ a cu cuvintele de cod sau se pre-
supune existen¸ta unei tabele de codare implicite, cunoscute (ca de exemplu tabela de culoare cu nivele
de gri).
98
ad˘ augând ultimul bit al ¸sirului de intrare se ob¸tine un cuvânt nou) ¸si ultimul bit din ¸sir
devine primul bit al urm˘ atorului ¸sir de intrare. Procedeul continu˘ a pân˘ a când ¸sirul de
intrare nu mai are simboluri necodate. Dac˘ a, înaintea termin˘ arii simbolurilor din ¸sirul
de codat, tabela de codare (cu num˘ ar fixat de intr˘ ari) se umple, exist˘ a dou˘ a variante de
continuare: fie restul ¸sirului de intrare se codeaz˘ a conform tabelei de codare existente prin
c˘ autarea celor mai lungi cuvinte de cod, fie tabela de codare este “golit˘ a” ¸si se continu˘ a
cu procedeul ini¸tial.
S˘ a consider˘ am ¸sirul de intrare 1, 0, 0, 0, 0, 1, 0, 1, 1, 1; dic¸tionarul cuvintelor de cod
con¸tine cuvântul 0 (cu indice 0) ¸si cuvântul 1 cu indice 1. Simbolul curent este 1 (pe
prima pozi¸tie a ¸sirului de intrare) ¸si formeaz˘ a ¸sirul de bi¸ti extras; acest ¸sir se reg˘ ase¸ste în
dic¸tionar (cu indicele 1) ¸si atunci se mai extrage un bit din ¸sir; ¸sirul de bi¸ti extra¸si devine
10. Cuvântul 10 nu exist˘ a în dic¸tionar, ¸si atunci: în ¸sirul de ie¸sire se scrie indicele celui
mai lung cuvânt din dic¸tionar la care ad˘ augând un bit ob¸tinem noul cuvânt (noul cuvânt
este 10, cuvântul prefix este 1, iar indicele scris la ie¸sire este 1), în dic¸tionar se adaug˘ a
cuvântul 10 (care va avea indicele 2), iar noua pozi¸tie curent˘ a din ¸sirul de intrare este
ultimul bit al ¸sirului deja extras, deci pozi¸tia 2, bitul 0. Simbolul curent este 0; acest ¸sir
se reg˘ ase¸ste în dic¸tionar (cu indicele 0) ¸si atunci se mai extrage un bit din ¸sir; ¸sirul de bi¸ti
extra¸si devine 00. Cuvântul 00 nu exist˘ a în dic¸tionar, ¸si atunci: în ¸sirul de ie¸sire se scrie
indicele prefixului noului cuvânt (deci 0), în dic¸tionar se adaug˘ a cuvântul 00 (care va avea
indicele 2), iar noua pozi¸tie curent˘ a din ¸sirul de intrare este ultimul bit al ¸sirului deja
extras, deci pozi¸tia 3, bitul 0. Simbolul curent este 0; acest ¸sir se reg˘ ase¸ste în dic¸tionar
(cu indicele 0) ¸si atunci se mai extrage un bit din ¸sir; ¸sirul de bi¸ti extra¸si devine 00. ¸ Sirul
00 se reg˘ ase¸ste în dic¸tionar (indicele 3) ¸si atunci se mai extrage un bit din ¸sir; ¸sirul de
bi¸ti extra¸si devine 000. Cuvântul 000 nu exist˘ a în dic¸tionar, ¸si atunci: în ¸sirul de ie¸sire se
scrie indicele prefixului noului cuvânt (deci 3), în dic¸tionar se adaug˘ a cuvântul 000 (care
va avea indicele 4), iar noua pozi¸tie curent˘ a din ¸sirul de intrare este ultimul bit al ¸sirului
deja extras, deci pozi¸tia 5, bitul 0. Procedeul continu˘ a în mod analog.
Pentru decodare, fiecare nou cuvânt de cod implic˘ a scrierea unei noi intr˘ ari în tabelul
de codare (dic¸tionar) în care ¸sirul de simboluri este format din prefix (¸sirul de simboluri
care se g˘ ase¸ste în dic¸tionar la intrarea precizat˘ a de cuvântul de cod) ¸si o termina¸tie de 1
bit, a c˘ arei valoare rezult˘ a la primirea cuvântului de cod urm˘ ator (s˘ a nu uit˘ am c˘ a ¸sirurile
succesive de simboluri ce se codeaz˘ a au în comun ultimul, respectiv primul bit).
Metoda Ziv-Lempel a pus bazele unei clase mai largi de metode de compresie, incluzând
printre altele ¸si varianta LZW (Lempel-Ziv-Walsh) folosit˘ a de utilitarul de compresie ZIP.
7.2 Compresia imaginilor cu nivele de gri
Cea mai imediat˘ a metod˘ a de codare a unei imagini cu nivele de gri este de a o consi-
dera ca un ¸sir de bi¸ti ¸si de aplica metodele de codare pentru imagini binare: fie pentru
99
fiecare plan de bit al reprezent˘ arii binare a nivelor de gri, fie pentru succesiunea de bi¸ti
a reprezent˘ arilor nivelelor de gri. Asemenea abord˘ ari produc cod˘ ari f˘ ar˘ a pierderi a ima-
ginilor ¸si nu produc întotdeauna rezultate spectaculoase. O mult mai mare amploare a
c˘ ap˘ atat clasa de metode de compresie cu pierderi [controlabile].
7.2.1 Codarea predictiv˘ a
Codarea predictiv˘ a se bazeaz˘ a pe existen¸ta unei importante corela¸tii spa¸tiale între valorile
pixelilor unei imagini (deci valorile pixelilor vecini sunt asem˘ an˘ atoare). Aceast˘ a corela¸tie
poate implica, de exemplu, c˘ a valoarea unui pixel poate fi aproximat˘ a cu o combina¸tie
a valorilor unora dintre vecinii s˘ ai. Dac˘ a se stabile¸ste o ordine de parcurgere a pixelilor
ce formeaz˘ a imaginea (deci dac˘ a se stabile¸ste o ordine de baleiere a imaginii) ¸si pentru
aproximarea valorii pixelului curent se folosesc pixeli vecini spa¸tial lui, parcur¸si anterior,
spunem c˘ a prezicem valoarea pixelului curent. Predic¸tia se realizeaz˘ a printr-o func¸tie,
care, cunoscut˘ a la nivelul întregii imagini permite determinarea unei variante aproxima-
tive a imaginii date cunoscând doar un num˘ ar mic de “pixeli de start”. Pentru a avea o
codare cât mai precis˘ a, se folosesc ¸si erorile dintre valorile prezise ¸si cele reale; codarea
asociat˘ a imaginii ini¸tiale va con¸tine deci func¸tia de predic¸tie, valorile de start ¸si erorile
de aproximare ale fiec˘ arui punct. Dac˘ a predictorul este determinat în mod corect, atunci
eroarea de predic¸tie e(n) este mic˘ a ¸si reprezentarea ei necesit˘ a mult mai pu¸tini bi¸ti decât
reprezentarea valorii originale u(n). Schema de codare cu predic¸tie este reprezentat˘ a în
figura 7.1.
Fig. 7.1: Schema de codare cu predic¸tie.
Ecua¸tiile ce descriu procesul sunt ecua¸tia erorii (7.5) (care exprim˘ a eroarea de aproxi-
mare e(n) ca diferen¸t˘ a între valoarea corect˘ a u(n) ¸si valoarea prezis˘ a ´ u(n)) ¸si ecua¸tia de
predic¸tie (7.6) (ce exprim˘ a modul în care se determin˘ a valoarea aproximativ˘ a ´ u(n) din
valorile anterioare u(n −k
1
), u(n −k
2
), ... pe baza predictorului pred):
e(n) = u(n) − ´ u(n) (7.5)
100
´ u(n) = pred (u(n −k
1
), u(n −k
2
), ...) (7.6)
Procesul de decodare este reprezentat schematic în figura 7.2. Eroarea de predic¸tie e
q
(n)
(cuantizat˘ a) este adunat˘ a la valoarea aproximativ˘ a
´
u

(n), determinat˘ a cu acela¸si predictor
pred din valorile u

(n) deja calculate.
Fig. 7.2: Schema de decodare cu predic¸tie.
Predictorii cei mai simpli sunt liniari ¸si sunt invaria¸ti la schimbarea punctului curent.
Predictorii pe linii sau coloan˘ a calculeaz˘ a aproximarea în punctul curent u(m, n) al ima-
ginii ca valoarea anterioar˘ a de pe aceea¸si linie ´ u(m, n) = u(m, n − 1) sau de pe aceea¸si
coloan˘ a ´ u(m, n) = u(m−1, n) (dac˘ a ordinea de baleiaj este cea uzual˘ a). Se mai pot folosi
predictori de tip valoare medie:
´ u(m, n) =
1
2
(u(m−1, n) +u(m, n −1)) (7.7)
´ u(m, n) =
1
4
(u(m−1, n) +u(m, n −1) +u(m−1, n −1) +u(m−1, n + 1)) (7.8)
Un caz particular de codare cu predic¸tie este modula¸tia delta, caracterizat˘ a de cuantizarea
erorii de predic¸tie (aproximare) e(n) cu un singur bit (bit de semn).
7.2.2 Compresia imaginilor cu transformate
Principiul compresiei cu transformate a imaginilor se bazeaz˘ a pe propriet˘ a¸tile de com-
pactare a energiei ¸si decorelare a componentelor spectrale pe care le prezint˘ a majoritatea
transform˘ arilor integrale unitare (discutate în sec¸tiunea 4.2). Atâta vreme cât cea mai
mare parte a energiei este distribuit˘ a în câteva componente spectrale (de joas˘ a frecven¸t˘ a),
toate celelalte pot fi ignorate; astfel memoria necesar˘ a reprezent˘ arii este mult mai mic˘ a.
Este evident c˘ a o asemenea metod˘ a de compresie este cu pierderi.
101
Aplicarea practic˘ a a compresiei cu transformate trebuie s˘ a aib˘ a în vedere trei aspecte:
alegerea transformatei, stabilirea frecven¸tei limit˘ a de la care începe ignorarea valorilor ¸si,
în fine, cuantizarea componentelor spectrale p˘ astrate.
Transformarea optimal˘ a trebuie s˘ a decoreleze complet componentele spectrale (asigurând
astfel ¸si compactarea maxim˘ a a energiei ¸si cea mai bun˘ a eroare de aproximare prin
truncherea frecven¸telor înalte). Decorelarea complet˘ a este dependent˘ a de propriet˘ a¸tile
statistice ale imaginii (matrice de covaria¸tie), deci, teoretic, pentru fiecare imagine în
parte, trebuie g˘ asit˘ a transformarea optimal˘ a. Aceast˘ a transformare este transformata
Karhunen-Loeve: transformare integral˘ a unitar˘ a a c˘ arei matrice de transformare are pe
coloane vectorii proprii norma¸ti ai matricii de covaria¸tie a imaginii. Cum aceast˘ a trans-
formare este evident unic˘ a pentru o clas˘ a de imagini, în practic˘ a se încearc˘ a g˘ asirea unei
aproxima¸tii. În condi¸tiile în care majoritatea imaginilor naturale pot fi aproximate printr-
un model Markov puternic corelat (exprimând dependen¸ta puternic˘ a a valorii pixelilor
de valorile vecinilor lor imedia¸ti), transformata cosinus s-a dovedit o foarte bun˘ a alegere.
Cuantizarea componentelor spectrale poate integra ¸si selec¸tia componentelor cel mai
importante: componentele de frecven¸t˘ a joas˘ a sunt cuantizate o precizie mai mare, iar
componentele de frecven¸t˘ a înalt˘ a sunt cuantizate grosier (echivalent chiar cu elimina-
rea acestora). Num˘ arul de nivele de cuantizare ¸si distribu¸tia acestora (diferen¸tele dintre
nivelele vecine) este adaptate statisticii semnalului (cuantizarea optim˘ a este cuantizarea
Loyd-Max [9], [16]).
Exemplul cel mai des folosit de compresie cu transformate este standardul de compresie
JPEG (fi¸siere imagine cu extensia .jpg). Imaginea este divizat˘ a în blocuri de 8 x 8 pixeli,
care nu se suprapun. Fiec˘ arui bloc i se aplic˘ a o transformat˘ a cosinus bidimensional˘ a,
iar cei 64 de coeficien¸ti ai transform˘ arii sunt copia¸ti într-un vector prin baleierea pe di-
agonal˘ a a blocului de 8 x 8 pixeli. Coeficien¸tii sunt cuantiza¸ti în conformitate cu un
num˘ ar prestabilit de nivele de cuantizare (stabilit prin standard, ¸si propor¸tional cu fac-
torul de calitate dorit pentru imaginea ref˘ acut˘ a). Coeficien¸tii corespunzând frecven¸telor
nule (valorile medii ale blocurilor) sunt codate predictiv printr-o tehnic˘ a de tip DPCM
(Differential Pulse Code Modulation). Valorile celorlal¸ti coeficien¸ti sunt coda¸ti entropic
(Huffman). Factorii de compresie ce rezult˘ a sunt cuprin¸si în mod tipic între 10 ¸si 100.
Aspectul de compresie cu pierderi (diferen¸tele fa¸t˘ a de imaginea original˘ a) se manifest˘ a
prin efectul de blocking: sublinierea frontierelor de separa¸tie a blocurilor de baz˘ a (efect
observabil ¸si în figura 7.3).
7.2.3 Codarea cu arbori cuaternari
Un arbore cuaternar (numit în engleza quadtree) este un arbore în care fiecare nod neter-
minal are exact patru descenden¸ti.
Orice imagine p˘ atrat˘ a, de dimensiune putere a lui 2 (N = 2
K
) poate fi reprezentat˘ a
102
Fig. 7.3: Imagine decodat˘ a în urma unei compresii JPEG cu raport de compresie 23
(factor de calitate 90)
(într-o reprezentare de tip ierarhic) pe o structur˘ a de arbore cuaternar. Nodurile de pe
fiecare nivel al arborelui corespund unei împ˘ ar¸tiri a unei zone p˘ atrate din imagine în patru
“sferturi“. R˘ ad˘ acina arborelui este asociat˘ a întregii imagini (imaginii ini¸tiale), nodurile
de pe primul nivel al arborelui corespund celor patru sferturi ale imaginii, nodurile de
pe nivelul doi corespund sferturilor fiec˘ arui sfert anterior determinat al imaginii, ¸si a¸sa
mai departe. Împ˘ ar¸tirea imaginii poate continua pân˘ a când nodurile nivelului curent al
arborelui corespund unor zone p˘ atrate a c˘ aror dimensiune este de un pixel. Adâncimea
arborelui astfel ob¸tinut este K, ¸si fiecare pixel al imagini va corespunde unui nod terminal
(frunz˘ a) de pe ultimul nivel al arborelui. Fiecare nod terminal con¸tine informa¸tia de
valoare a pixelului la care este asociat.
Structura arborelui anterior poate fi simplificat˘ a prin introducerea în etapa de construc¸tie
a unui test de uniformitate a regiunilor reprezentate de fiecare nod: dac˘ a regiunea p˘ atrat˘ a
considerat˘ a nu este uniform˘ a, atunci aceasta va fi descompus˘ a prin t˘ aiere în patru p˘ ar¸ti
egale ¸si nodul corespunz˘ ator va deveni neterminal (va “c˘ ap˘ ata“ cei patru descenden¸ti).
Dac˘ a regiunea p˘ atrat˘ a considerat˘ a este uniform˘ a (deci este compus˘ a din pixeli de acela¸si
fel), nodul respectiv devine un nod frunz˘ a (terminal) al arborelui (deci nu mai are de-
scenden¸ti). Fiecare nod terminal con¸tine informa¸tia de valoare a zonei de imagine la care
este asociat (vezi figura 7.4). O zon˘ a este considerat˘ a uniform˘ a dac˘ a diferen¸ta maxim˘ a
de nivel de gri a pixelilor ce o formeaz˘ a nu dep˘ a¸se¸ste un anumit prag impus; valoarea
zonei uniforme este media nivelelor de gri a pixelilor ce o compun.
Pentru refacerea imaginii in¸tiale din reprezentarea arborescent˘ a este suficient˘ a alegerea
nodurilor terminale a c˘ aror valoare corespunde pixelilor de obiect. Adâncimea la care
este plasat˘ a în arbore o frunz˘ a con¸tine informa¸tia de dimensiune a zonei p˘ atrate core-
spunz˘ atoare din imagine (o frunz˘ a situat˘ a la adâncimea h corespunde unei zone p˘ atrate
de latur˘ a 2
K−h
pixeli). Pozi¸tia frunzei fa¸t˘ a de nodurile de pe acela¸si nivel ce au acela¸si
103
predecesor este direct determinat˘ a de regula de alocare a sferturilor unei zone la nodurile
descendente ale arborelui (regula de alocare trebuie s˘ a se p˘ astreze pentru întregul arbore)
(vezi figura 7.5).
Codarea imaginii (sau a arborelui cuaternar asociat) se face prin memorarea pozi¸tiei
în arbore a nodurilor terminale ¸si a valorilor acestora. Pozi¸tia în arbore a unui nod se
specific˘ a prin descrierea c˘ aii prin care se ajunge la acesta, pornind de la r˘ ad˘ acina arborelui;
aceast˘ a cale va con¸tine codurile de alocare a descenden¸tilor ce corespund avansului în
adâncime în arbore.
Fig. 7.4: Exemplu de reprezentare a unei imagini binare pe un arbore cuaternar complet
Fig. 7.5: Regula de alocare a descenden¸tilor
Principalul inconvenient al metodei de etichetare folosind arborele cuaternar este legat
de complexitatea construirii acestuia prin abordarea ierarhic˘ a top-down (de sus în jos)
prezentat˘ a; în particular, testul de uniformitate la nivelul fiec˘ arui bloc presupune testarea
valorilor tuturor pixelilor care compun blocul. Pe ansamblu, aceasta duce la parcurgerea
fiec˘ arui pixel din imagine de un num˘ ar de ori egal cu adâncimea în arborele cuaternar al
blocului p˘ atrat din care face parte.
Pentru a înl˘ atura acest incovenient este suficient ca pixelii imaginii s˘ a nu mai fie parcur¸si
în ordinea tradi¸tional˘ a de baleiaj (pe linii, de la stânga la dreapta ¸si de sus în jos), ci
104
într-o alt˘ a ordine, care s˘ a îi prearanjaze pe grupuri ce corespund p˘ atratelor de diviziune
a imaginii. Un asemenea baleiaj este reprezentat de o curb˘ a de umplere a spa¸tiului: un
parcurs ce trece o singur˘ a dat˘ a prin fiecare pixel al imaginii, nu se autointersecteaz˘ a ¸si în
care oricare doi pixeli parcur¸si consecutiv sunt vecini spa¸tial în imagine (într-o vecin˘ atate
de tip V
4
sau V
8
). Curbele de umplere a spa¸tiului sunt structuri fractale, definite prin
repetarea la diferite nivele ierarhice a unei aceleia¸si structuri. Pentru baleiajul imaginilor
s-au re¸tinut dou˘ a astfel de curbe: curba Peano-Hilbert (numit˘ a ¸si curba Peano în U, dup˘ a
forma celulei sale de baz˘ a) (vezi figura 7.6) ¸si curba Morton (sau curba Peano în Z) (vezi
figura 7.7).
Fig. 7.6: Ordinea de parcurgere a pixelilor pentru curba Peano în U, la dou˘ a nivele de
rezolu¸tie
Dispunând de o astfel de ordine de baleiere, este evident c˘ a dac˘ a se parcurge imaginea
în acest˘ a ordine, zonele p˘ atrate uniforme (cu pixelii de aceea¸si valoare) sunt detectate
într-o singur˘ a trecere ¸si astfel arborele cuaternar poate fi creat direct prin nodurile sale
terminale. Pentru o implementare eficient˘ a este îns˘ a necesar˘ a ¸si deducerea rapid˘ a a
indicelui pe curba de baleiere a pixelilor, pornind de la coordonatele lor în imagine. Doar
curba Peano în Z are o asemenea rela¸tie rapid˘ a de calcul, prin între¸teserea bi¸tilor ce
dau coordonatele în imagine a punctului. Cuvântul binar ce exprim˘ a indicele pe curb˘ a
a oric˘ arui punct este format din bi¸tii din coordonata vertical˘ a, ce vor ocupa pozi¸tiile de
ordin par ¸si din bi¸tii din coordonata orizontal˘ a ce vor ocupa pozi¸tiile de ordin impar
(p˘ astrându-¸si aceea¸si ordine de rang).
7.2.4 Cuantizarea vectorial˘ a
Cuantizarea vectorial˘ a este un algoritm de compresie a imaginilor ce se aplic˘ a asupra
unor date vectoriale ¸si nu scalare, putând fi interpretat ca o extensie a conceptului de
cuantizare scalar˘ a. Cuantizarea scalar˘ a asociaz˘ a unei mul¸timi mari de valori numere
dintr-o mul¸time mai mic˘ a (în mod tipic acestea din urm˘ a fiind numere naturale); asocierea
include (chiar dac˘ a nu explicit) opera¸tii de tipul rotunjirii la cel mai apropiat întreg.
Cuantizarea vectorial˘ a aproximeaz˘ a (sau rotunje¸ste) un grup de numere deodat˘ a, nu
doar unul singur. A¸sadar, pentru a realiza o cuantizare vectorial˘ a sunt necesare un set
105
Fig. 7.7: Ordinea de parcurgere a pixelilor pentru curba Peano în Z, la dou˘ a nivele de
rezolu¸tie
de vectori de aproximare (inclusiv metoda prin care acestea pot fi deduse) ¸si o regul˘ a de
asociere a vectorilor de intrare cu vectorii de aproximare.
S˘ a not˘ am cu x
i
al i-lea vector de intrare ¸si cu µ
j
al j-lea vector de aproximare. Opera¸tia
de cuantizare presupune înlocuirea vectorilor de intrare x
i
cu vectori de aproximare µ
j
,
introducând deci erori; pentru ca erorile (m˘ asurate de eroarea p˘ atratic˘ a medie) s˘ a fie
cât mai mici, este necesar ca pentru fiecare vector de intrare, aproximarea s˘ a se fac˘ a cu
vectorul de aproximare cel mai apropiat (în sensul distan¸tei euclidiene). Aceasta este
regula de asociere. Dac˘ a exist˘ a n vectori de aproximare ce pot fi folosi¸ti, ace¸stia se pot
grupa într-un tabel de codare (existent ¸si la codare ¸si la decodare), iar fiecare vector de
aproximare µ
j
va fi reprezentat doar prin indicele j (deci o alt˘ a aplicare a tehnicii LUT).
Dac˘ a vectorii de intrare au p componente, codate fiecare cu câte b bi¸ti, iar num˘ arul de
vectori de aproximare poate fi reprezentat pe n
b
bi¸ti, atunci factorul de compresie realizat
de cuantizarea vectorial˘ a este dat de
3
:
C =
pb
n
b
(7.9)
Pentru cazul imaginilor, vectorii de intrare se aleg ca blocuri p˘ atrate, nesuprapuse între
ele, din imagine. Dimensiuni uzuale ale acestor blocuri sunt 4 x 4 ¸si 8 x 8 (rezultând deci
vectori de intrare cu 16, respectiv 64 de componente). Dac˘ a consider˘ am cazul imaginilor
cu nivele de gri uzuale, reprezentate cu 256 nivele de gri (b = 8) ¸si dimensiuni ale tabelei
de codare n = 256 (256 vectori de aproximare), atunci raportul de compresie este de 16,
respectiv 64.
Construirea tabelei de codare (determinarea vectorilor de aproximare) se realizeaz˘ a în
mod clasic prin algoritmi de clustering iterativ. În original (adic˘ a în limba englez˘ a) ter-
menul de “cluster“ define¸ste un grup, ciorchine, snop sau o clas˘ a de unit˘ a¸ti, “asem˘ an˘ a-
toare“. Asem˘ anarea unit˘ a¸tilor este determinat˘ a în mod uzual prin asociere, similaritate
sau distan¸t˘ a între unit˘ a¸ti (vectori). Algoritmul de clustering este procesul prin care unei
3
Acest mod de calcul al raportului de compresie nu ¸tine seama de necesitatea transmiterii sau mem-
or˘ arii ¸si a tabelului de codare, de dimensiune npb bi¸ti.
106
mul¸timi de unit˘ a¸ti (entit˘ a¸ti) i se asociaz˘ a, element cu element, o informa¸tie de aparte-
nen¸t˘ a la un anumit grup. Mai general, putem interpreta procesul de clustering ca un
proces de parti¸tionare a unui set de unit˘ a¸ti într-un num˘ ar de submul¸timi (numite clase
sau clustere), pe baza unui anumit criteriu. Indiferent de criteriul folosit, se dore¸ste
ob¸tinerea unor clustere distincte, omogene ¸si bine separate. Num˘ arul de clustere în care
se face împ˘ ar¸tirea setului de unit˘ a¸ti nu este în mod obligatoriu cunoscut apriori.
Metodele de clustering iterativ distribuie obiectele (vectorii) într-un num˘ ar predefinit
de clase, repetând testarea unor condi¸tii pentru fiecare obiect al mul¸timii; în func¸tie de
îndeplinirea sau nu a respectivelor condi¸tii, parti¸tia existent˘ a la un moment dat este
declarat˘ a corespunz˘ atoare sau, în urma modific˘ arii aloc˘ arii unor unit˘ a¸ti, procedeul de ve-
rificare se reia. Se poate considera c˘ a algoritmii iterativi fac mai multe “treceri“ prin setul
de obiecte de parti¸tionat, pân˘ a la ob¸tinerea stabiliz˘ arii (convergen¸tei) valorii criteriului
ce caracterizeaz˘ a calitatea parti¸tiei.
Calitatea parti¸tiei (a clasific˘ arii) este m˘ asurat˘ a de suma varian¸telor clusterelor (adic˘ a
suma distan¸telor de la fiecare vector la centrul clasei în care apar¸tine, ceea ce poate fi
interpretat ¸si ca o eroare de aproximare a vectorilor din clase prin centrul respectivei
clase). Deci func¸tia criteriu ce trebuie minimizat˘ a este
J =
n

j=1
J
j
=
n

j=1

x
i
∈ω
j
_
_
x
i
−µ
j
_
_
2
=
n

j=1
N

i=1
u
ij
_
_
x
i
−µ
j
_
_
2
(7.10)
În urma minimiz˘ arii lui J trebuie determinate valorile µ
j
(centrele claselor) ¸si valorile
binare u
ij
, coeficien¸tii de apartenen¸ta ai vectorilor i la clasele j, defini¸ti de:
u
ij
=
_
1, dac˘ a x
i
∈ ω
j
0, dac˘ a x
i
/ ∈ ω
j
(7.11)
Determinarea centrelor claselor se poate face simplu, prin anularea derivatei în raport cu
µ
j
a func¸tiei criteriu J
∂J
∂µ
j
= 2
N

i=1
u
ij
_
µ
j
−x
i
_
= 0 (7.12)
de unde rezult˘ a c˘ a centrele claselor sunt mediile vectorilor ce apar¸tin acestora:
µ
j
=
N

i=1
u
ij
x
i
N

i=1
u
ij
(7.13)
Determinarea coeficien¸tilor de apartenen¸t˘ a u
ij
este îns˘ a o problem˘ a de optimizare com-
binatorial˘ a, care nu poate fi rezolvat˘ a analitic. Pentru rezolvarea acestei probleme sunt
107
necesare metode iterative. Metoda imediat˘ a urm˘ are¸ste s˘ a determine, pentru fiecare vec-
tor al setului, dac˘ a acesta poate fi mutat dintr-o clas˘ a în alta, astfel ca suma varian¸telor
claselor s˘ a scad˘ a. Dup˘ a fiecare asemenea mutare, este necesar˘ a actualizarea mediilor
claselor între care s-a f˘ acut schimbul. Itera¸tiile se repet˘ a pân˘ a când nici un vector nu mai
poate fi mutat. Algoritmul poate fi descris în etapele urm˘ atoare:
1. se alege o parti¸tie aleatoare a setului de obiecte (vectori)
2. pentru fiecare vector x
i
din set, dac˘ a nu este unic în clasa sa ω
j
, se calculeaz˘ a costul
mut˘ arii în alt˘ a clas˘ a, ω
k
, k = j; acest cost este
c
k
=
n
k
n
k
+ 1
x
i
−µ
k

2

n
j
n
j
−1
_
_
x
i
−µ
j
_
_
2
(7.14)
3. vectorul x
i
este mutat în clasa pentru care costul c
k
este minim; se recalculeaz˘ a
mediile claselor implicate în schimbare (ω
j
¸si ω
k
)
4. dac˘ a cel pu¸tin un vector a fost mutat între dou˘ a clase, algoritmul se reia de la pasul
2.
Principalul dezavantaj al acestei abord˘ ari este faptul c˘ a mediile claselor sunt recalculate
dup˘ a fiecare schimbare ce implic˘ a fiecare vector al mul¸timii considerate, ceea ce are ca
efect un volum mare de calcule. O simplificare a metodei provine din observa¸tia intuitiv˘ a
c˘ a este normal ca un obiect s˘ a fie alocat (s˘ a apar¸tin˘ a) clasei de care este cel mai apropiat
(în sensul distan¸tei la media acesteia). Folosind acest˘ a observa¸tie, realocarea se poate
face pentru toate obiectele considerate f˘ ar˘ a a fi nevoie de recalcularea mediilor claselor
pentru fiecare obiect; recalcularea mediilor se va face dup˘ a fiecare parcurgere complet˘ a
a mul¸timii de obiecte de parti¸tionat. Acest algoritm este algoritmul “Basic ISODATA
4

(cunoscut ¸si sub numele de k-means - “cele k medii“). Algoritmul poate fi descris de
urm˘ atoarele etape:
1. se alege o parti¸tie aleatoare a setului de obiecte (vectori)
2. pentru fiecare vector x
i
din set, se caluleaz˘ a distan¸tele sale la mediile tuturor
claselor,
d
k
= x
i
−µ
k

2
(7.15)
3. în itera¸tia urm˘ atoare, vectorul x
i
va fi mutat în clasa la care distan¸ta d
k
este minim˘ a
4. dup˘ a parcurgerea complet˘ a a setului de vectori, se reactualizeaz˘ a mediile claselor
4
ISODATA este acronimul de la “Iterative Self Organizing Data Analysis Technique“ - tehnic˘ a itera-
tiv˘ a cu auto-organizare de analiz˘ a a datelor, ap˘ arut prin 1965.
108
5. dac˘ a (fa¸t˘ a de itera¸tia anterioar˘ a) nici un vector nu a fost mutat în alt˘ a clas˘ a (sau
media nici unei clase nu s-a modificat), algoritmul se încheie; dac˘ a nu, se reia
algoritmul de la pasul 2.
Pentru nici unul dintre algoritmii iterativi prezenta¸ti nu se poate preciza num˘ arul de
parcurgeri ale setului de vectori (obiecte) de parti¸tionat. Num˘ arul de itera¸tii este puternic
dependent de alegerea parti¸tiei ini¸tiale a vectorilor, precum ¸si de organizarea intrinsec˘ a
a acestora.
Figura 7.8 prezint˘ a o imagine ref˘ acut˘ a dup˘ a o compresie prin cuantizare vectorial˘ a, cu
raport mare de compresie (128). Se remarc˘ a slaba calitate a imaginii ref˘ acute, cauza fiind
num˘ arul mic (16) de vectori de cod folosi¸ti. În imagine sunt foarte vizibile frontierele
dintre blocurile de 8 x 8 folosite.
Fig. 7.8: Imagine ref˘ acut˘ a dup˘ a codarea prin cuantizare vectorial˘ a; codarea a fost real-
izat˘ a cu blocuri de 8 x 8 pixeli; tabelul vectorilor de cod are 16 intr˘ ari, deci se ob¸tine o
compresie de 128.
109
Capitolul 8
SEGMENTAREA IMAGINILOR
Segmentarea imaginilor se refer˘ a la descompunerea unei scene (imagini) în componentele
sale [9]. În urma procesului de segmentare vor fi extrase din imagine obiecte distincte,
regiuni ce satisfac anumite criterii de uniformitate, sau alte elemente.
În [19] se propune o defini¸tie matematizat˘ a a procesului de segmentare, ¸si anume seg-
mentarea unei imagini f este definit˘ a ca parti¸tionarea [complet˘ a] a lui f (8.1) într-un
ansamblu de mul¸timi disjuncte nevide ¸si conexe (8.2), ce satisfac fiecare un anumit cri-
teriu (8.3), criteriu ce nu mai este respectat pentru reuniunea oric˘ aror dou˘ a elemente
ale parti¸tiei.
f =
C
_
i=1
f
i
, f
i
conexe (8.1)
f
i

f
j
= ∅, ∀i = j ¸si f
i
este conex˘ a, ∀i (8.2)
(f
i
) = TRUE, ∀i ¸si
_
f
i
_
f
j
_
= FALSE, ∀i = j (8.3)
Alegerea unei tehnici specifice de segmentare (parti¸tionare a imaginii) este legat˘ a de mai
multe aspecte caracteristice imaginii de analizat ¸si cerin¸telor utilizatorului. Dup˘ a natura
¸si con¸tinutul imaginii, tehnicile de segmentare trebuie s˘ a ¸tin˘ a cont de prezen¸ta în imagine
a diverse categorii de artefacte:
• reflexii, iluminare neomogen˘ a
• zgomot suprapus infoma¸tiei utile
110
• zone texturate
Dup˘ a primitivele de extras, tehnicile de segmentare se împart în dou˘ a categorii funda-
mentale: tehnicile de segmentare orientate pe regiuni ¸si tehnicile de segmentare orientate
pe contur. Primitivele extrase din imagine sunt regiuni (forme) ¸si zone texturate pentru
tehnicile orientate pe regiuni, sau entit˘ a¸ti de tip discontinuitate (frontiere, segmente de
dreapt˘ a, unghiuri) pentru tehnicile orientate pe contur. În cadrul segment˘ arii orientate
pe regiuni se disting câteva categorii principale de tehnici:
• etichetarea imaginilor binare
• segmentarea pe histogram˘ a
• cre¸sterea ¸si fuziunea regiunilor
• segmentarea texturilor
• segmentarea prin metode de clustering
Tehnicile principale de segmentare orientat˘ a pe contururi sunt:
• extragerea contururilor prin metode de gradient ¸si derivative
• extragerea contururilor prin metode neliniare
• extragerea contururilor prin metode liniare optimale
• extragerea contururilor prin modelare matematic˘ a
În cele ce urmeaz˘ a se prezint˘ a doar o parte dintre aceste tehnici, pe care le consider˘ am
cele mai semnificative.
8.1 Segmentarea orientat˘ a pe regiuni
8.1.1 Segmentarea bazat˘ a pe histogram˘ a
În general, opera¸tia de segmentare orientat˘ a pe regiuni urm˘ are¸ste extragerea din imagine a
zonelor (regiunilor) ocupate de diferitele obiecte prezente în scen˘ a. Un obiect se define¸ste
ca o entitate caracterizat˘ a de un set de parametri ale c˘ aror valori nu se modific˘ a în
111
diferitele puncte ce apar¸tin entit˘ a¸tii considerate. Mai simplu, putem spune c˘ a obiectul
are proprietatea de uniformitate a parametrilor de defini¸tie.
Unul dintre cei mai simpli parametri de defini¸tie este nivelul de gri al punctului. Nivelul
de gri corespunde în scen˘ a unei propriet˘ a¸ti fizice [9] (reflectan¸t˘ a, transmitivitate, valoare
tristimulus, etc.) ce este preluat de senzorul de imagine ¸si asociat luminan¸tei imaginii. În
acest caz, histograma imaginii (func¸tia de densitate de probabilitate a variabilei aleatoare
discrete ale c˘ arei realiz˘ ari sunt nivelele de gri din imagine) reflect˘ a distribu¸tia în scen˘ a
a propriet˘ a¸tii fizice înregistrate. Pentru o imagine f de M × N pixeli ¸si L nivele de gri,
histograma este definit˘ a (8.4) ca probabilitatea de apari¸tie în imagine a diferitelor nivele
de gri posibile.
h(i) =
1
MN
M−1

m=0
N−1

n=0
δ(i −f(m, n)) , i = 0, 1, ...L −1 (8.4)
Dac˘ a nivelul de gri (respectiv proprietatea fizic˘ a pe care acesta o reprezint˘ a) caracteri-
zeaz˘ a în mod suficient obiectele din scen˘ a, histograma imaginii va prezenta o structur˘ a de
moduri dominante - intervale de nivele de gri ce apar cu probabilitate mai mare. Fiecare
asemenea mod (maxim al histogramei) va reprezenta o anumit˘ a categorie de obiecte.
Ca exemplu imediat se poate cita cazul imaginilor ob¸tinute prin scanarea documentelor
scrise ¸si a tip˘ ariturilor sau imaginile în infraro¸su (temperatura punctelor este asociat˘ a
nivelelor de gri astfel încât mai fierbinte însemn˘ a mai alb). Pentru toate aceste tipuri de
imagini histograma este de tipul celei prezentate în figura 8.1.
0 50 100 150 200 250 300
0
0.005
0.01
0.015
Fig. 8.1: Histogram˘ a bimodal˘ a
Tehnici de pr˘ aguire (thresholding)
Separarea modurilor histogramei (¸si deci identificarea obiectelor din imagine, respectiv
caractere scrise / pagini albe ¸si obiecte fierbin¸ti / obiecte reci) se face prin alegerea unui
112
nivel de gri T, numit prag de segmentare. Acest prag de segmentare se alege pe minimul
global al histogramei. Din imaginea ini¸tial˘ a f de nivele de gri se construie¸ste o imagine
de etichete (imagine etichetat˘ a) g, conform transform˘ arii descrise de (8.5) (vezi figura
8.2).
g(m, n) =
_
E
0
, 0 ≤ f(m, n) < T
E
1
, T ≤ f(m, n) < L
(8.5)
Imaginea etichetat˘ a va fi descris˘ a de dou˘ a etichete: E
0
pentru punctele al c˘ aror nivel de
gri este mai mic decât pragul T ¸si E
1
pentru punctele al c˘ aror nivel de gri este mai mare
decât pragul T. Etichetele E
0
¸si E
1
pot fi valori numerice (0 ¸si 1, sau 0 ¸si 255) sau pot fi
¸siruri de simboluri sau al¸ti identificatori.
Fig. 8.2: Transform˘ ari punctuale de binarizare.
Transformarea (8.5) este o transformare punctual˘ a (noua valoare din punctul (m, n) de-
pinde doar de valoarea anterioar˘ a din punctul (m, n)) ¸si poart˘ a numele de binarizare.
Aceast˘ a denumire provine din faptul c˘ a rezultatul transform˘ arii (imaginea etichetat˘ a)
este o imagine binar˘ a - deci o imagine caracterizat˘ a doar de dou˘ a valori. Se poate remarca
de asemenea faptul c˘ a binarizarea este un caz particular al transform˘ arii de modificare
liniar˘ a a contrastului (2.2), în care limitele domeniilor de contrastare sunt egale (T
1
= T
2
)
¸si contrastarea se face la valorile limit˘ a ale nivelelor de gri (α = 0, β = L −1)
1
.
Segmentarea pe histogram˘ a (numit˘ a ¸si pr˘ aguire sau thresholding) semnific˘ a determinarea
unor nivele de gri ce separ˘ a modurile histogramei. Tuturor punctelor din imagine al c˘ aror
nivel de gri corespunde unui acela¸si mod, li se asociaz˘ a o aceea¸si etichet˘ a (num˘ ar, ¸sir de
simboluri), rezultând o imagine etichetat˘ a, ce pune în eviden¸t˘ a diferitele obiecte ale scenei
ini¸tiale.
1
Exist˘ a îns˘ a ¸si o variant˘ a de binarizare cu dou˘ a praguri (transformare punctual˘ a numit˘ a decupare -
“slicing“), (figura 8.2) definit˘ a de ecua¸tia urm˘ atoare:
g(m, n) =
_
E
0
, dac˘ a f(m, n) < T
1
sau f(m, n) > T
2
E
1
, în rest
113
În cazul general al existen¸tei a mai multe praguri de segmentare T
k
, transformarea de
segmentare pe histogram˘ a este descris˘ a de (8.6)
g(m, n) = E
k
dac˘ a T
k
≤ f(m, n) < T
k+1
(8.6)
unde T
0
= 0 , T
C
= L , k = 0, 1, ..., C −1.
Pragurile T
k
se aleg prin inspec¸tia histogramei, în minimele locale ale acesteia. Acest tip
de segmentare multinivel este mai pu¸tin eficient decât binarizarea, din cauza dificult˘ a¸tii
de stabilire a pragurilor care s˘ a izoleze eficient intervalele de interes din histogram˘ a, mai
ales atunci când num˘ arul modurilor este mare. Trebuie de asemenea remarcat faptul c˘ a
este necesar˘ a cunoa¸sterea num˘ arului de tipuri de obiecte din imagine, pentru alegerea
corespunz˘ atoare a num˘ arului de praguri de segmentare. În marea majoritate a cazurilor,
segmentarea ob¸tinut˘ a nu este corect˘ a (exist˘ a regiuni prost etichetate); ca o regul˘ a gen-
eral˘ a de îmbun˘ at˘ a¸tire a performan¸telor, se recomand˘ a aplicarea, înaintea segment˘ arii, a
unor opera¸tii de filtrare (eliminare a zgomotului), contrastare, îmbun˘ at˘ a¸tire, netezire a
histogramei - numite preproces˘ ari.
În general, se admite clasificarea metodelor de segmentare pe histogram˘ a [5] dup˘ a atribu-
tele global, local ¸si dinamic. Aceste atribute se refer˘ a la modul de calcul al pragurilor de
segmentare T
k
în func¸tie de nivelul de gri din fiecare punct al imaginii f(m, n), coordo-
natele punctelor din imagine (m, n) ¸si o anumit˘ a proprietate local˘ a p(m, n) a punctului
(m, n), conform (8.7):
T
k
= T
k
(f(m, n), p(m, n), (m, n)) (8.7)
Segmentarea se nume¸ste global˘ a dac˘ a pragurile depind doar de nivelele de gri ale punctelor
imaginii:
T
k
= T
k
(f(m, n)) (8.8)
Segmentarea multinivel descris˘ a de (8.6) este în mod evident o metod˘ a de tip global.
Segmentarea se nume¸ste local˘ a dac˘ a pragurile depind de nivelul de gri ¸si de anumite
atribute locale calculate pentru vecin˘ at˘ a¸ti ale fiec˘ arui punct:
T
k
= T
k
(f(m, n), p(m, n)) (8.9)
Segmentarea se nume¸ste dinamic˘ a dac˘ a pragurile depind de pozi¸tionarea punctelor în
imagine (forma cea mai general˘ a a modului de deducere pragurilor) (8.7).
114
Determinarea automat˘ a a pragurilor: metoda Bhattacharya
Metoda Bhattacharyya se bazeaz˘ a pe descompunerea histogramei în moduri individuale
Gaussiene, adic˘ a se încearc˘ a exprimarea histogramei imaginii ca o sum˘ a ponderat˘ a de
func¸tii de densitate de probabilitate de tip normal (Gaussian). Modelarea modurilor
histogramei imaginilor prin distribu¸tii normale este o presupunere ce se întâlne¸ste în
multe tehnici de prelucrare ¸si analiz˘ a ¸si pare a fi justificat˘ a de considerarea imaginii ca
provenind dintr-o imagine ideal˘ a, în care fiecare tip de obiect este reprezentat de un unic
nivel de gri, peste care s-a suprapus un zgomot alb, aditiv, gaussian. În acest mod, mediile
modurilor din histogram˘ a corespund nivelelor de gri ce caracterizeaz˘ a obiectele scenei, iar
varian¸tele acestor moduri sunt determinate de zgomotul suprapus imaginii (care nu este
obligatoriu s˘ a afecteze în acela¸si mod toate nivelele de gri).
Pentru segmentarea dup˘ a metoda Bhattacharyya nu este necesar˘ a precizarea unui num˘ ar
de clase (praguri de segmentare), acesta urmând a fi determinat în mod automat. Ideea de
plecare a metodei este de a determina parametrii caracteristici ai unei distribu¸tii normale.
Pentru o distribu¸tie normal˘ a
N(µ
k
, σ
k
)(x) =
1
σ
k


e

(x−µ
k
)
2

2
k
derivata logaritmului este:
δ ln N(µ
k
, σ
k
)(x)
δx
= −
x
σ
2
k
+
µ
k
σ
2
k
= m
k
x +n
k
(8.10)
Se observ˘ a prin examinarea expresiei (8.10) c˘ a derivata logaritmului distribu¸tiei normale
este o dreapt˘ a de pant˘ a negativ˘ a, din ai c˘ arei parametri se pot deduce media ¸si varian¸ta
distribu¸tiei. Parametrii statistici ai distributiei sunt da¸ti de ecua¸tiile (8.11).
σ
k
=
_
1
|m
k
|
, ¸si µ
k
=
n
k
|m
k
|
(8.11)
Aceast˘ a observa¸tie poate fi aplicat˘ a ¸si pentru o mixtur˘ a de distribu¸tii normale. S˘ a con-
sider˘ am c˘ a histograma h a imaginii este compus˘ a prin superpozi¸tia aditiv˘ a a C moduri
gaussiene N(µ
k
, σ
k
) , adic˘ a:
h(x) =
C

k=1
w
k
N(µ
k
, σ
k
)(x)
Din parametrii dreptei se pot determina deci conform (8.11) parametrii statistici ai dis-
tribu¸tiei locale.
115
0 50 100 150 200 250 300
0
0.002
0.004
0.006
0.008
0.01
Fig. 8.3: Histogram˘ a cu trei moduri normale
0 50 100 150 200 250 300
-0.1
0
0.1
0.2
0.3
Fig. 8.4: Aplicarea metodei Bhattacharyya pentru histograma trimodal˘ a prezentat˘ a ante-
rior; se pot observa intervalele pe care func¸tia este liniar˘ a ¸si descresc˘ atoare, ce corespund
modurilor.
116
A¸sadar, pentru aplicarea metodei la segmentarea pe histogram˘ a a imaginilor, se va studia
comportamentul derivatei logaritmului histogramei, adic˘ a a func¸tiei z(a):
z(a) = ln
h(a)
h(a −1)
, a = 1, L −1 (8.12)
Pentru func¸tia astfel construit˘ a, se determin˘ a intervalele pe care acesta este descresc˘ atoare
(vezi figura 8.4); limitele superioare ale acestor intervale sunt pragurile T
k
de segmentare
pe histogram˘ a. Suplimentar, pe fiecare dintre aceste intervale se poate face o aproximare
liniar˘ a a punctelor ¸si pe baza parametrilor dedu¸si pentru dreapta de aproximare se pot
calcula, conform (8.11) parametrii statistici locali.
Principalele inconveniente ale metodei deriv˘ a din faptul c˘ a presupunerea alc˘ atuirii his-
togramei imaginii numai din moduri gaussiene nu este întotdeauna adev˘ arat˘ a. Ca rezul-
tat, metoda Bhattacharrya va identifica un num˘ ar mai mare de praguri decât este necesar,
producând fenomenul de suprasegmentare.
Segmentarea cu prag optim
Metoda de segmentare cu prag optim [5], [3], [19] face apel la teoria deciziilor (criteriul
de decizie Bayes) pentru stabilirea valorii pragurilor de segmentare ce optimizeaz˘ a un
anumit criteriu de eroare. Informa¸tiile apriori necesare pentru aplicarea unei asemenea
tehnici sunt num˘ arul de tipuri de obiecte din imagine, C, procentele de ocupare a imaginii
de c˘ atre fiecare tip de obiecte, P
i
¸si distribu¸tia nivelelor de gri ce caracterizeaz˘ a fiecare tip
de obiect, p
i
(x). Atunci histograma imaginii va fi determinat˘ a de mixtura distribu¸tiilor
tipurilor de obiecte:
h(x) =
C

i=1
P
i
p
i
(x),
C

i=1
P
i
= 1 (8.13)
Cazul cel mai simplu ¸si mai des folosit este cel al binariz˘ arii (8.5), în care trebuie de-
terminat un unic prag T ce separ˘ a distribu¸tiile celor dou˘ a tipuri de obiecte din imagine
(în mod tipic, obiecte “utile” ¸si fundal). Criteriul ce se urm˘ are¸ste optimizat este eroarea
de segmentare (clasificare) a punctelor din imagine, adic˘ a este dat de num˘ arul de pixeli
ce apar¸tin primului tip de obiect, dar au nivelul de gri mai mare ca pragul T (fiind deci
aloca¸ti gre¸sit celui de-al doilea tip de obiect) ¸si num˘ arul de pixeli ce apar¸tin celui de-al
doilea tip de obiect, dar au nivelul de gri mai mic decât pragul de segmentare T (fiind
deci aloca¸ti gre¸sit primului tip de obiect). A¸sadar, eroarea de segmentare va fi dat˘ a de
(8.14):
117
E(T) = P
1
+∞
_
T
p
1
(x)dx +P
2
T
_
−∞
p
2
(x)dx (8.14)
Pragul optim va minimiza eroarea de segmentare a pixelilor. Minimizarea erorii (8.14)
conduce la rezolvarea ecua¸tiei (8.15), în necunoscuta T.
∂E(T)
∂T
= 0 (8.15)
Derivând (8.14) se ob¸tine forma echivalent˘ a a ecua¸tiei (8.15):
P
1
p
1
(T) = P
2
p
2
(T) (8.16)
Dup˘ a cum am men¸tionat ¸si în sec¸tiunea dedicat˘ a tehnicilor de segmentare ce nu folosesc
informa¸tii apriori despre imagine (metoda Bhattacharyya), presupunerea c˘ a distribu¸tia
nivelelor de gri a diferitelor tipuri de obiecte este de tip normal (Gaussian) este relativ
des întâlnit˘ a. În aceste condi¸tii, distribu¸tiile p
1
(x) ¸si p
2
(x) sunt distribu¸tii normale,
N
1

1
, σ
1
)(x) ¸si N
2

2
, σ
2
)(x), iar ecua¸tia (8.16) devine:
P
1
1
σ
1


e

(T−µ
1
)
2

2
1
= P
2
1
σ
2


e

(T−µ
2
)
2

2
2
Prin logaritmare, se ob¸tine urmatoarea ecua¸tie de gradul 2 în necunoscuta T:
T
2
_
1
σ
2
1

1
σ
2
2
_
−2T
_
µ
1
σ
2
1

µ
2
σ
2
2
_
+
_
µ
2
1
σ
2
1

µ
2
2
σ
2
2
_
−2 ln
P
1
P
2
σ
2
σ
1
= 0
Una dintre simplific˘ arile uzuale este presupunerea c˘ a σ
1
= σ
2
= σ; aceast˘ a presupunere
implic˘ a modelarea imaginii în nivele de gri ca o imagine cu doar dou˘ a nivele de gri µ
1
¸si
µ
2
, afectat˘ a de un zgomot Gaussian aditiv, având varian¸ta σ
2
. În aceste condi¸tii, ecua¸tia
de gradul 2 devine o ecua¸tie liniar˘ a, a carei solu¸tie este:
T =
µ
1

2
2

σ
2
µ
1
−µ
2
ln
P
1
P
2
Metoda se poate extinde ¸si pentru imagini ce con¸tin mai mult de dou˘ a tipuri de obiecte;
în acest caz este îns˘ a necesar˘ a presupunerea suplimentar˘ a de localizare a modurilor, astfel
încât s˘ a se poat˘ a considera, ca ¸si în cazul metodei Bhattacharyya, c˘ a influen¸ta fiec˘ arui
mod este limitat˘ a la intervale nesuprapuse de nivele de gri.
118
8.1.2 Cre¸sterea ¸si fuziunea regiunilor
Pentru aplicarea cu succes a tehnicilor de segmentare pe histogram˘ a prezentate anterior
trebuiesc îndeplinite neap˘ arat câteva condi¸tii (deja enun¸tate). Aplicarea tehnicilor de
segmentare pe histogram˘ a este condi¸tionat˘ a în primul rând de reprezentarea diferitelor
clase de obiecte din imagine pe intervale de nivele de gri diferite care nu se suprapun (sau
se suprapun par¸tial pe por¸tiuni foarte mici); apoi este necesar˘ a cunoa¸sterea num˘ arului
de tipuri de obiecte diferite. În fine, se presupune c˘ a valorile prag corespunz˘ atoare se pot
determina cu o precizie corespunz˘ atoare.
Chiar în cazurile în care toate aceste condi¸tii enun¸tate sunt îndeplinite, nu se poate
garanta condi¸tia de conexitate a regiunilor ob¸tinute în urma segment˘ arii (8.2). Acest lucru
este evident, atât timp cât dou˘ a obiecte de acela¸si tip, neconexe, primesc prin segmentarea
pe histogram˘ a o aceea¸si etichet˘ a, ¸si formeaz˘ a în imaginea de etichete o regiune neconex˘ a.
O metod˘ a care respect˘ a toate condi¸tiile impuse de defini¸tia metematic˘ a a segment˘ arii, ¸si
anume (8.1), (8.2) ¸si (8.3), este cre¸sterea regiunilor.
Cre¸sterea regiunilor
Principiul pe care se bazeaz˘ a cre¸sterea regiunilor este simplu: se aleg în imagine puncte
reprezentative pentru fiecare obiect individual ¸si categorie de obiecte, pe baza c˘ arora
are loc un proces de aglomerare a pixelilor vecini acestora, ce au acelea¸si propriet˘ a¸ti
(în particular acela¸si nivel de gri). În urma acestui proces de aglomerare (ad˘ augare de
puncte) se ob¸tin zone (regiuni) de pixeli cu acelea¸si caracteristici, deci obiecte individuale.
Procesul se opre¸ste în momentul în care fiecare punct al imaginii a fost alocat unei regiuni.
Evident, metoda astfel descris˘ a pe scurt, are dou˘ a etape esen¸tiale: alegerea punctelor de
start (puncte ini¸tiale), numite germeni sau semin¸te, ¸si cre¸sterea propriu-zis˘ a a regiunilor
[19], [2].
Num˘ arul final de regiuni rezultate este egal cu num˘ arul de germeni ale¸si ini¸tial pentru
cre¸stere. În principiu, este de dorit ca fiecare obiect individual aflat în imagine s˘ a fie
marcat de câte un germene. Dac˘ a în interiorul unui aceluia¸si obiect se g˘ asesc mai mul¸ti
germeni, pentru fiecare dintre ei va fi crescut˘ a o regiune; acesta face ca obiectul ini¸tial
s˘ a fie împ˘ ar¸tit artificial prin segmentare în mai multe regiuni. Par¸tial, acest neajuns se
poate corecta printr-o etap˘ a ce urmeaz˘ a cre¸sterii regiunilor, ¸si anume fuziunea regiunilor
adiacente ce au propriet˘ a¸ti asem˘ an˘ atoare. Dac˘ a în interiorul unui obiect nu este ales nici
un germene, obiectul respectiv va fi înglobat de regiunile ce cresc pornind de la germeni
din vecin˘ atatea sa spa¸tial˘ a; astfel, respectivul obiect nu apare ca o regiune distinct˘ a ¸si
este pierdut, rezultând o eroare grav˘ a de segmentare.
Pentru a preveni efectul unor neuniformit˘ a¸ti de iluminare pe suprafa¸ta imaginii, acesta
este împ˘ ar¸tit˘ a în ferestre nesuprapuse; în fiecare astfel de fereastr˘ a se alege un num˘ ar
de germeni, al c˘ aror plasament spa¸tial este aleator (germenii se distribuie uniform pe
119
suprafa¸ta imaginii). Germenii se aleg astfel încât nivelul lor de gri s˘ a fie reprezentativ
pentru obiectele prezente local (deci nivelul de gri al germenilor trebuie s˘ a corespund˘ a
unor maxime ale histogramei locale). În plus, trebuie verificat ca plasamentul spa¸tial
al germenilor s˘ a se fac˘ a în interiorul regiunilor ¸si nu pe frontiera acestora. Verificarea
se poate face simplu pe baza calculului unui operator derivativ local, ca de exemplu
laplacianul (37); dac˘ a valoarea acestuia nu dep˘ a¸se¸ste un anumit procent prestabilit (10%
- 20%) din diferen¸ta maxim˘ a de nivele de gri a ferestrei, punctul ales este considerat ca
plasat corect.
O verificare suplimentar˘ a încearc˘ a s˘ a previn˘ a o eventual˘ a suprasegmentare
2
(împ˘ ar¸tirea
artificial˘ a a unui acela¸si obiect în mai multe regiuni), eliminând germenii plasa¸ti în inte-
riorul aceluia¸si obiect. Verificarea se face pe baza calculului varia¸tiei nivelelor de gri de-a
lungul drumurilor
3
arbitrare ce unesc perechi de germeni. Dac˘ a exist˘ a o cale ce une¸ste
doi germeni de-a lungul c˘ areia nivelul de gri nu variaz˘ a cu mai mult de 20% - 30% din
diferen¸ta maxim˘ a a nivelelor de gri din ferestr˘ a, cei doi germeni sunt plasa¸ti în interi-
orul unei zone de nivele de gri uniforme, deci în interiorul unui acela¸si obiect. În aceste
condi¸tii unul dintre cei doi germeni ai perechii este eliminat, deoarece este redundant.
Dac˘ a de-a lungul tuturor c˘ ailor ce unesc perechea de germeni nivelul de gri variaz˘ a mai
mult decât pragul ales, atunci se consider˘ a c˘ a cei doi germeni sunt plasa¸ti în interiorul
unor obiecte diferite (deoarece c˘ aile ce unesc germenii traverseaz˘ a regiuni de frontier˘ a).
În practic˘ a, examinarea tuturor drumurilor (c˘ ailor) ce unesc perechi de germeni este ex-
trem de costisitoare din punctul de vedere al timpului de calcul. De aceea se verific˘ a doar
c˘ aile formate din segmente verticale ¸si orizontale, ¸si eventual, dreapta ce une¸ste cele dou˘ a
puncte (dac˘ a aceast˘ a dreapt˘ a poate fi reprezentat˘ a de o secven¸t˘ a de puncte conexe) (vezi
figura 8.5).
Valorile procentuale ale pragurilor de compara¸tie, precum¸si num˘ arul de germeni distinc¸ti
ce r˘ amân dup˘ a procesul de reducere, nu trebuie considerate ca fixe; nu exist˘ a valori stan-
dardizate ¸si alegerea acestora se face pe baza condi¸tiilor particulare (legate de con¸tinutul
imaginii) ¸si a experien¸tei utilizatorului.
Pornind de la germenii ale¸si, regiunile sunt ob¸tinute printr-un proces de cre¸stere aproape
simultan˘ a, început de la ace¸stia, pân˘ a când to¸ti pixelii imaginii sunt repartiza¸ti unei
regiuni. Cvasi-simultaneitatea cre¸sterii poate fi realizat˘ a cu un algoritm serial, prin alo-
carea pixelilor ce sunt adiacen¸ti (vecini) zonelor deja segmentate. Acest˘ a alocare trebuie
s˘ a ¸tin˘ a seama de criteriul ca regiunile crescute s˘ a fie uniforme: nivelul de gri al pixelului
ce se adaug˘ a nu trebuie s˘ a difere cu mai mult de un prag prestabilit fa¸t˘ a de nivelul de gri
al germenului regiunii la care se aloc˘ a. În acela¸si timp, la o singur˘ a trecere, num˘ arul de
puncte ce se adaug˘ a unei regiuni nu poate dep˘ a¸si un num˘ ar prestabilit (condi¸tia încearc˘ a
2
În general, prin suprasegmentare se în¸telege parti¸tionarea imaginii într-un num˘ ar de regiuni mai
mare decât num˘ arul de obiecte. Exist˘ a ¸si no¸tiunea reciproc˘ a de subsegmentare: împ˘ ar¸tirea imaginii
într-un num˘ ar de regiuni mai mic ca num˘ arul de obiecte.
3
Un drum între dou˘ a puncte ale imaginii este o secven¸t˘ a ordonat˘ a de puncte ale imaginii, vecine dou˘ a
câte dou˘ a (relativ la un anumit tip de conexitate, V
4
sau V
8
), care are drept capete punctele considerate.
120
Fig. 8.5: Reducerea num˘ arului de germeni: germenii 1 ¸si 2 sunt uni¸ti de o cale cu segmente
paralele cu orizontala ¸si verticala de intensitate constant˘ a, deci sunt redundan¸ti; germenii
3 ¸si 4 sunt uni¸ti de o cale dreapt˘ a de acee¸si intensitate, deci sunt redundan¸ti; orice cale
ce une¸ste germenii 1 ¸si 3 are o diferen¸t˘ a mare de intensitate.
s˘ a asigure cre¸sterea relativ uniform˘ a ¸si izotrop˘ a a tuturor regiunilor).
Dac˘ a ad˘ augarea de noi pixeli se blocheaz˘ a (criteriul de uniformitate nu mai este respectat),
diferen¸ta maxim admis˘ a pentru nivelul de gri poate fi crescut˘ a în etape, pân˘ a la epuizarea
pixelilor imaginii.
Avantajele pe care le are o asemenea tehnic˘ a de cre¸stere a regiunilor sunt acelea c˘ a nu
mai este necesar˘ a nici o informa¸tie privind con¸tinutul imaginii, regiunile crescute sunt
conexe ¸si nu exist˘ a puncte neetichetate (nealocate vreunei regiuni) ¸si pozi¸tia frontierelor
dintre diferitele regiuni corespunde pozi¸tiei frontierelor percepute subiectiv în imagine.
Fuziunea regiunilor
O extindere a principiului utilizat în cre¸sterea regiunilor, ¸si anume ad˘ augarea la o regiune
a unor entit˘ a¸ti (pixeli în acest caz) a c˘ aror propriet˘ a¸ti sunt similare cu cele ale unui obiec-
tului de baz˘ a (regiunea), se afl˘ a la baza tehnicilor de fuziune a regiunilor [9]. Fuziunea
regiunilor const˘ a în reunirea iterativ˘ a a regiunilor adiacente (începând de la nivelul unor
entit˘ a¸ti atomice ale imaginii - deci pixelii) pân˘ a când regiunile adiacente devin suficient
de diferite. Procesul de fuziune a regiunilor poate fi aplicat ¸si în urma unei cre¸steri a
regiunilor, pentru a înl˘ atura efectele unei eventuale suprasegment˘ ari. Exist˘ a mai multe
criterii de fuziune a regiunilor adiacente, a c˘ aror ac¸tiune de verificare a deosebirii între
regiuni se face fie prin inspec¸tia frontierei comune, fie prin caracterizarea interiorului
regiunii.
Pentru dou˘ a regiuni adiacente R
i
¸si R
j
, al c˘ aror perimetru este Perim(R
i
) ¸si Perim(R
j
),
putem determina P
m
= min(Perim(R
i
), Perim(R
j
)) ¸si P lungimea frontierei comune
4
.
4
Lungimea frontierei comune poate fi m˘ asurat˘ a fie ca perimetru, fie ca num˘ ar de puncte ce o compun.
121
Pe aceast˘ a frontier˘ a comun˘ a se disting puncte slabe (în num˘ ar de n
s
) ¸si puncte tari (în
num˘ ar de n
t
). Un punct slab este acel punct pentru care diferen¸ta nivelelor de gri între
vecinii din regiunile adiacente este foarte mic˘ a (mai mic˘ a decât un anumit prag fixat). Un
punct tare este acel punct pentru care diferen¸ta de nivele de gri între vecinii din regiunile
adiacente este foarte mare (mai mare ca un anumit prag fixat). Cu aceste nota¸tii, criteriile
de fuziune a regiunilor R
i
¸si R
j
sunt:
• dac˘ a num˘ arul de puncte slabe raportat la perimetrul minim este important,
ns
P
m
> θ
1
• dac˘ a num˘ arul de puncte slabe de pe frontiera comun˘ a este mare,
ns
P
> θ
2
• dac˘ a num˘ arul de puncte tari de pe frontiera comun˘ a este mic,
nt
P
< θ
3
.
Parametrul θ
1
controleaz˘ a dimensiunea regiunilor ce se unesc ¸si se alege în general cu
valoarea 0.5 (de exemplu o valoare apropiat˘ a de 1 implic˘ a unirea a dou˘ a regiuni numai
dac˘ a una dintre ele este aproape înconjurat˘ a de cealalt˘ a). Valori tipice pentru parametrii
θ
2
¸si θ
3
sunt 0.75 ¸si 0.2.
Abordarea fuziunii pe baza caracteriz˘ arii interiorului regiunilor necesit˘ a definirea a dou˘ a
componente: o modalitate de caracterizare a propriet˘ a¸tilor regiunilor ¸si o modalitate de
a defini “apropierea” sau similaritatea dintre tr˘ as˘ aturi în termeni numerici.
Vectorul de tr˘ as˘ aturi ce caracterizeaz˘ a o regiune se compune din momente statistice ale
variabilei aleatoare ale c˘ arei realiz˘ ari particulare sunt nivelele de gri din regiune repectiv˘ a;
nu pot lipsi din acest vector nivelul de gri mediu al regiunii ¸si varian¸ta acestuia.
În [9] se propun patru func¸tii de m˘ asur˘ a a asem˘ an˘ arii între perechi de vectori; pentru doi
vectori x
i
¸si x
j
, având aceea¸si dimensiune, acestea se definesc ca:
F
1
(x
i
, x
j
) = x
i
, x
j
(produsul scalar dintre vectori)
F
2
(x
i
, x
j
) =
x
i
, x
j

x
i
, x
i
+x
j
, x
j
−x
i
, x
j

(similaritatea dintre vectori)
F
3
(x
i
, x
j
) =
x
i
, x
j

_
x
i
, x
i
x
j
, x
j

(corela¸tia normalizat˘ a dintre vectori)
F
4
(x
i
, x
j
) = (x
i
−x
j
) · A· (x
i
−x
j
)
T
(distan¸ta generalizat˘ a dintre vectori, unde A este o matrice pozitiv definit˘ a)
Pentru primele trei func¸tii, o valoare mai mare corespunde unei asem˘ an˘ ari mai mari
între vectori (valorile maxime pentru F
2
(x
i
, x
j
) ¸si F
3
(x
i
, x
j
) sunt 1). Pentru func¸tia de
similaritate bazat˘ a pe distan¸ta generalizat˘ a, o valoare mai mic˘ a corepunde unei asem˘ an˘ ari
mai puternice între vectori. Prin particularizarea matricii Ase pot ob¸tine diferite distan¸te,
ca distan¸ta Euclidian˘ a obi¸snuit˘ a (A fiind matricea unitate, A = I), distan¸te Euclidiene
ponderate (dac˘ a A este o matrice diagonal˘ a), sau distan¸ta Mahalanobis (dac˘ a A este o
matrice de covaria¸tie a componentelor).
122
8.2 Segmentarea orientat˘ a pe contururi
Într-o imagine, varia¸tiile de valoare ale pixelilor reprezint˘ a schimb˘ ari ale propriet˘ a¸tilor
fizice sau geometrice ale scenei sau ale obiectului observat. Aceste schimb˘ ari pot co-
respunde fizic la varia¸tiile ilumin˘ arii, schimb˘ arile de orientare sau de distan¸t˘ a fa¸t˘ a de
observator, schimb˘ ari de reflectan¸t˘ a ale suprafe¸telor, varia¸tii de absorb¸tie a radia¸tiei.
Într-un num˘ ar mare de cazuri, aceste varia¸tii de intensitate sunt informa¸tii importante
pentru opera¸tiile ce urmeaz˘ a segment˘ arii, informa¸tii ce corespund frontierelor regiunilor
determinate de obiectele scenei.
8.2.1 Metode derivative
Principiul acestei metode const˘ a în definirea punctelor de contur ca fiind acei pixeli ai
imaginii în care apar schimb˘ ari importante (abrupte) ale nivelului de gri. Deci, m˘ asurarea
acestei varia¸tii se va face prin operatori derivativi de tip gradient.
Pentru o imagine cu suport spa¸tial continuu, pe direc¸tia unei muchii, derivata va fi
maxim˘ a. Derivata imaginii pe direc¸tia r, ce face unghiul θ cu orizontala, este dat˘ a
de combina¸tia liniar˘ a a derivatelor par¸tiale pe direc¸tiile orizontal˘ a ¸si vertical˘ a (8.17):
∂f
∂r
=
∂f
∂x
∂x
∂r
+
∂f
∂y
∂y
∂r
=
∂f
∂x
cos θ +
∂f
∂y
sin θ
∂f
∂r
= f
x
cos θ +f
y
sin θ (8.17)
Valoarea maxim˘ a a acestei derivate, calculate dup˘ a unghiul θ este determinat˘ a de ecua¸tia

∂θ
_
∂f
∂r
_
= −f
x
sin θ +f
y
cos θ = 0
ce are solu¸tia evident˘ a:
θ
0
= arctan
_
f
y
f
x
_
(8.18)
Pe aceast˘ a direc¸tie, modulul gradientului este:
_
∂f
∂r
_
max
=
_
f
2
x
+f
2
y
(8.19)
Din punct de vedere practic, implementarea acestei metode implic˘ a atunci calcularea,
pentru fiecare punct al imaginii, a derivatelor par¸tiale f
x
¸si f
y
, calcularea modulului
gradientului maxim (8.19) ¸si a direc¸tiei acestuia (8.18). Valoarea gradientului maxim din
fiecare punct al imaginii este apoi comparat˘ a cu un prag fixat: dac˘ a pragul este dep˘ a¸sit
123
(deci gradientul maxim în pixelul respectiv este suficient de important) atunci pixelul
testat este pixel de contur.
Realizarea derivatelor par¸tiale dup˘ a direc¸tiile orizontal˘ a ¸si vertical˘ a implic˘ a transla¸tia în
discret a lui f
x
¸si f
y
:
f
x
=
∂f
∂x
=
∆f(m, n)
∆m
f
y
=
∂f
∂y
=
∆f(m, n)
∆n
Aceste derivate par¸tiale discrete pot avea mai multe implement˘ ari:
f
x
= f(m, n) −f(m+ 1, n), f
y
= f(m, n) −f(m, n + 1) (8.20)
f
x
= f(m−1, n) −f(m, n), f
y
= f(m, n −1) −f(m, n) (8.21)
f
x
= f(m−1, n) −f(m+ 1, n), f
y
= f(m, n −1) −f(m, n + 1) (8.22)
Toate expresiile date de (8.20), (8.21), (8.22) sunt combina¸tii liniare ale valorilor unor
pixeli din imagine, situa¸ti în vecin˘ atatea pixelului curent din pozi¸tia (m, n). Deci toate
aceste opera¸tii se pot realiza prin filtr˘ ari liniare cu m˘ a¸sti potrivite: (8.23) pentru (8.20),
(8.24) pentru (8.21), (8.25) pentru (8.22).
W
x
=
_
1 −1
_
, W
y
=
_
1
−1
_
(8.23)
W
x
=
_
1 -1
_
, W
y
=
_
1
-1
_
(8.24)
W
x
=
_
1 0 −1
_
, W
y
=
_
_
1
0
−1
_
_
(8.25)
Schema bloc a extragerii de contururi este reprezentat˘ a în figura 8.6.
Harta de orient˘ ari este o imagine care con¸tine, pentru fiecare pixel, orientarea gradientului
de modul maxim în punctul respectiv, ¸si este în general folosit˘ a la prelucrarea suplimen-
tar˘ a a contururilor (conectare de contururi, extragere direc¸tional˘ a de contururi). Harta
de contururi este o imagine binar˘ a în care punctele marcate (puncte-obiect) corespund
pozi¸tiei punctelor de contur (puncte cu gradient de modul mare). O simplificare uzual˘ a
practicat˘ a este înlocuirea normei L2 din calculul modulului maxim al gradientului (8.19)
cu norma L1, ceea ce conduce la aproximarea:
_
∂f
∂r
_
max
≈ |f
x
| + |f
y
|
124
f
y
(m,n)
f
x
(m,n)
grad(f)
max
θ
W
x
W
y
θ(m,n)
Harta de
orientari
grad(f)
max
(m,n)
Comparator
Harta de
contururi
Fig. 8.6: Schema bloc a extractorului de contururi bazat pe metoda de gradient.
Folosirea m˘ a¸stilor de derivare pe vertical˘ a ¸si orizontal˘ a prezentate are îns˘ a serioase nea-
junsuri: dimensiunea lor mic˘ a face ca rezultatele s˘ a fie extrem de sensibile în prezen¸ta
zgomotului. În aceste condi¸tii a ap˘ arut natural˘ a ideea de a combina filtrarea de derivare
cu o filtrare de netezire, care s˘ a mai reduc˘ a efectele zgomotului. Considerând zgomotul
de tip gaussian, aditiv, filtrarea de netezire are ca efect secundar mic¸sorarea contrastului
frontierelor obiectelor din imagine (efectul de înce¸to¸sare, sau blur). Pentru ca în aceste
condi¸tii detec¸tia contururilor s˘ a nu fie afectat˘ a, trebuie ca opera¸tia de mediere prin care se
realizeaz˘ a netezirea s˘ a se fac˘ a pe o direc¸tie perpendicular˘ a direc¸tiei contururilor c˘ autate
[3]. Atunci derivarea pe vertical˘ a se combin˘ a cu o opera¸tie de netezire cu masc˘ a orizon-
tal˘ a
_
1/3
1/3
1/3
_
¸si derivarea pe orizontal˘ a se combin˘ a cu o opera¸tie de netezire
cu masc˘ a vertical˘ a
_
_
1/3
1/3
1/3
_
_
. Dac˘ a folosim pentru derivare masca W
y
din (8.23), masca
de filtrare rezultant˘ a va fi
_
1/3
1/3
1/3
−1/3 −1/3 −1/3
_
. În cazul general se pot folosi îns˘ a
pentru netezire medieri ponderate (¸si nu neap˘ arat medieri aritmetice), care s˘ a acorde
o mai mare importan¸t˘ a pixelului curent prelucrat, ca de exemplu
1
c+2
_
1 c 1
_
¸si se
prefer˘ a folosirea operatorilor de derivare simetrici, de tipul (8.25). Ceea ce rezult˘ a pentru
operatorii de derivare orizontal˘ a ¸si vertical˘ a sunt m˘ a¸stile:
W
x
=
_
_
1 0 −1
c 0 −c
1 0 −1
_
_
, W
y
=
_
_
1 c 1
0 0 0
−1 −c −1
_
_
(8.26)
Prin particularizarea valorilor constantei de ponderare c se pot ob¸tine diferite tipuri
de operatori de extragere de contur clasici: Prewitt (c = 1), Izotrop (c =

2), Sobel
(c = 2) [9]. Se remarc˘ a faptul c˘ a constanta de ponderare global˘ a a m˘ a¸stii de filtare este
neesen¸tial˘ a, întrucât condi¸tia de normare ce trebuie îndeplinit˘ a este cea pentru filtre de
contrastare (derivare) (3.9): suma coeficien¸tilor m˘ a¸stii s˘ a fie nul˘ a. Figura 8.7 prezint˘ a
125
harta de intensitate a tranzi¸tiilor (modulul maxim al gradientului,
_
∂f
∂r
_
max
) iar figura 8.8
prezint˘ a harta binar˘ a de contururi extras˘ a prin compararea h˘ ar¸tii de intensit˘ a¸tii cu un
prag fixat (binarizarea h˘ ar¸tii de intensitate).
Fig. 8.7: Harta de intensitate a contururilor (modulul maxim al gradientului) calculat
cu m˘ a¸sti Prewitt pentru imaginea “lena”.
Fig. 8.8: Harta binar˘ a de contururi extras˘ a din harta de intensit˘ a¸ti precedent˘ a.
Informa¸tia de orientare este în general folosit˘ a în etape urm˘ atoare ale prelucr˘ arii; un-
ghiurile determinate dup˘ a (8.18) ofer˘ a un unghi “exact” al direc¸tiei conturului în punctul
curent, calculat cu un efort semnificativ de calcul (împ˘ ar¸tire ¸si calcul de arctangent˘ a).
În practic˘ a, aceast˘ a informa¸tie este prea exact˘ a: pe grila p˘ atrat˘ a de e¸santionare nu se
pot reprezenta cu u¸surin¸t˘ a drepte continue dup˘ a orice direc¸tie
5
; câteva direc¸tii sunt fa-
5
Problema tras˘ arii figurilor geometrice oarecari (inclusiv a dreptelor) este rezolvat˘ a de grafica pe
126
vorizate ¸si u¸sor de utilizat (vertical, orizontal, cele dou˘ a diagonale). În acest caz se poate
m˘ asura în fiecare modulul gradientului dup˘ a aceste câteva direc¸tii importante, ¸si apoi se
poate alege direc¸tia dup˘ a care acest modul este maxim. Acesta este principul operatorilor
compas.
Un operator compas este definit de un num˘ ar de m˘ a¸sti de derivare (corespunz˘ atoare
în continuare unor filtr˘ ari liniare) pe direc¸tiile principale (vertical, orizontal, cele dou˘ a
diagonale), în cele dou˘ a sensuri. Compasul clasic are D = 8 m˘ a¸sti de filtrare (identice
dou˘ a câte dou˘ a, mai pu¸tin semnul), fiecare dintre ele realizând o derivare dup˘ a o direc¸tie
multiplu de 45

. Schema bloc a unui operator compas este prezentat˘ a în figura 8.9; se
remarc˘ a faptul c˘ a, odat˘ a determinat˘ a valoarea maxim˘ a a modulului gradientului în pixelul
curent (m, n), ob¸tinerea h˘ ar¸tii de contururi se face ca ¸si la un operator de gradient clasic.
max(grad
k
(f))
f
D
(m,n)
f(m,n)
f
2
(m,n)
f
1
(m,n)
max(grad
k
(f))
W
1
W
2
θ
k
(m,n)
Harta de
orientari
Comparator
Harta de
contururi
W
D
Fig. 8.9: Schema bloc a unui operator compas de extragere a contururilor.
Un exemplu de m˘ a¸sti de derivare direc¸tional˘ a sunt m˘ a¸stile urm˘ atoare (indexate dup˘ a
direc¸tia geografic˘ a pe care calculeaz˘ a derivata): W
N
=
_
_
−1 −1 −1
0 0 0
1 1 1
_
_
, W
NV
=
_
_
−1 −1 0
−1 0 1
0 1 1
_
_
, W
V
=
_
_
−1 0 1
−1 0 1
−1 0 1
_
_
, W
SV
=
_
_
0 1 1
−1 0 1
−1 −1 0
_
_
, W
S
=
_
_
1 1 1
0 0 0
−1 −1 −1
_
_
,
W
SE
=
_
_
1 1 0
1 0 −1
0 −1 −1
_
_
, W
E
=
_
_
1 0 −1
1 0 −1
1 0 −1
_
_
, W
NE
=
_
_
0 −1 −1
1 0 −1
1 1 0
_
_
. Dup˘ a cum
calculator, prin algoritmi de rendering.
127
se remarc˘ a, familia de m˘ a¸sti se poate genera pornind de la una dintre m˘ a¸stile Prewitt,
prin transla¸tii circulare cu o pozi¸tie a frontierei m˘ a¸stii în jurul centrului ei; în mod analog
se pot ob¸tine operatori compas baza¸ti pe masca Sobel sau pe gradientul izotrop sau pe
masca Kirsch
_
_
5 5 5
−3 0 −3
−3 −3 −3
_
_
. Precizia unghiular˘ a a operatorilor compas este deci
determinat˘ a de num˘ arul de orient˘ ari diferite pe care se calculeaz˘ a derivatele, ¸si deci de
num˘ arul de transla¸tii ale frontierei m˘ a¸stii; pentru o masc˘ a p˘ atrat˘ a de baz˘ a de dimensiune
N, precizia unghiular˘ a a operatorului compas este de 90

/(N −1).
Unul dintre principalele dezavantaje ale metodelor de gradient este precizia slab˘ a de lo-
calizare a conturului (a centrului tranzi¸tiei) în condi¸tiile unei pante pu¸tin abrupte a aces-
tuia (tranzi¸tii slabe, graduale). Derivata a doua poate fi îns˘ a folosit˘ a pentru a determina
capetele tranzi¸tiei (cele dou˘ a extreme), sau pentru a marca centrul tranzi¸tiei (trecerea sa
prin zero); figura 8.10 ilustreaz˘ a aceast˘ a comportare pentru cazul unidimensional.
Operatorul bazat pe trecerea prin zero a derivatei secunde este operatorul “zero-crossing”
[9]. În cazul imaginilor (semnale cu suport bidimensional) trebuie luat˘ a în considerare
derivata secund˘ a dup˘ a ambele direc¸tii, combinate în laplacian:
∆f =

2
f
∂x
2
+

2
f
∂y
2
În cazul discret, m˘ a¸sti ce implementeaz˘ a laplacianul sunt m˘ a¸stile W
5
− W
7
, prezentate
la capitolul de îmbun˘ at˘ a¸tire a contrastului imaginilor (pag. 37). Precizia sporit˘ a a
operatorilor laplacieni conduce îns˘ a la o sensibilitate crescut˘ a în prezen¸ta zgomotelor (mai
mare decât a operatorilor de gradient). Mai mult, laplacianul nu mai con¸tine informa¸tie
relativ˘ a la direc¸tia tranzi¸tiei.
8.2.2 Alte metode
O clas˘ a important˘ a de opera¸tii neliniare de extragere a contururilor sunt cele bazate
pe morfologia matematic˘ a. În sec¸tiunea 6.2.3 am prezentat operatori morfologici de
extragere a contururilor. Principiul acestora este de a m˘ asura diferen¸tele dintre valorile
extreme (minim ¸si maxim) ale vecin˘ at˘ a¸tii punctului curent; dac˘ a diferen¸ta dintre aceste
valori este suficient de mare înseamn˘ a c˘ a punctul curent este un punct de contur, aflându-
se într-o zon˘ a de tranzi¸tie a valorilor pixelilor. Variante ale acestei tehnici de baz˘ a se
pot ob¸tine prin considerarea a mai multe elemente structurante, având diferite forme ¸si
dimensiuni.
128
Fig. 8.10: Profil de tranzitie gradual˘ a; maximul primei derivate nu poate marca cu
precizie centrul tranzi¸tiei; derivata secund˘ a trece prin zero la mijlocul conturului.
129
Capitolul 9
PARAMETRI DE FORM
˘
A
Prin parametri de form˘ a în¸telegem în general orice scalar sau func¸tie (cu suport unidi-
mensional sau bidimensional) asociate unei forme plane pe care o caracterizeaz˘ a; forme
asem˘ an˘ atoare sunt caracterizate de parametri de form˘ a de valori apropiate; formele
diferite prezint˘ a diferen¸te mari între parametrii de form˘ a ce le sunt asocia¸ti. Parametrii
de form˘ a compun un fel de fi¸s˘ a de identitate a formei respective, pe baza c˘ arei aceast˘ a
form˘ a poate fi recunoscut˘ a în mod unic. În mod ideal, ace¸sti parametri trebuie s˘ a fie
invarian¸ti la transla¸tie, rota¸tie ¸si scalare. Tehnicile de recunoa¸stere a formelor sau de
clasificare sunt precedate întotdeauna de o etap˘ a de extragere a parametrilor de form˘ a
(sau a caracteristicilor formei).
Pentru analiza imaginilor, o form˘ a este o func¸tie de dou˘ a variabile, cu suport compact
f(x, y) : K → R; în general valorile acestei func¸tii sunt binare (0 sau 1), descriind
deci o parte a unei imagini binare (zona din imagine în care se afl˘ a obiectul de interes).
Atunci func¸tia poate fi v˘ azut˘ a ca o func¸tie caracteristic˘ a a formei, asem˘ an˘ atoare func¸tiei
caracteristice a unei mul¸timi.
În cele ce urmeaz˘ a vom prezenta câ¸tiva parametri de form˘ a clasici.
9.1 Parametri geometrici
Aceast˘ a categorie de parametri se bazeaz˘ a pe m˘ asura unor atribute geometrice simple:
arie (S), perimetru (P), num˘ ar de g˘ auri, num˘ arul lui Euler (num˘ arul de regiuni conexe
— num˘ arul de g˘ auri). Cum nu toate aceste numere sunt invariante ¸si caracteristice unic
unei anume forme, au ap˘ arut combina¸tii de tip raport.
Raportul de compacitate (numit ¸si factor de form˘ a [19]) este raportul dintre p˘ atratul
130
perimetrului ¸si suprafa¸ta formei:
κ =
P
2
4πS
(9.1)
Pentru o form˘ a circular˘ a raportul este unitar; cu cât num˘ arul κ este mai apropiat de
aceast˘ a valoare, cu atât mai mult forma seam˘ an˘ a cu un disc (p˘ atratul are un raport de
compacitate κ = 1.273). Exist˘ a îns˘ a forme diferite caracterizate de aceea¸si valoarea a
parametrului dat de (9.1).
Excentricitatea sau circularitatea formei (m˘ asura în care forma dat˘ a se deosebe¸ste de
disc) poate fi definit˘ a ¸si ca un raport al razelor cercurilor circumscrise (R) ¸si înscrise (r)
formei:
c =
R
r
(9.2)
Acest raport este evident unitar în cazul discului; pentru p˘ atrat valoarea sa este de
c = 1.412.
9.2 Momente statistice ¸si invarian¸ti
Interpretând func¸tia caracteristic˘ a a formei ca pe o func¸tie de densitate de probabilitate
bidimensional˘ a, putem defini momentele statistice asociate celor dou˘ a variabile aleatoare
(ce sunt coordonatele punctelor formei) [17]:
m
pq
=
__
K
f(x, y)x
p
y
q
dxdy, p, q = 0, 1, 2, ... (9.3)
Scalarul m
pq
(momentul de ordin p, q sau p + q) este proiec¸tia func¸tiei f(x, y) pe poli-
noamele x
p
¸si y
q
ale bazei complete de polinoame. Teorema reprezent˘ arii cu momente
afirm˘ a c˘ a mul¸timea infinit˘ a de momente m
pq
determin˘ a în mod unic f(x, y) ¸si reciproc.
În cazul imaginilor binare, coordonatele sunt discrete ¸si func¸tia este o func¸tie caracteris-
tic˘ a; formula momentelor (9.3) devine
m
pq
=

f(x,y)=0
x
p
y
q
(9.4)
Cum caracterizarea unei forme printr-o serie infinit˘ a de numere (a¸sa cum cere teorema
reprezent˘ arii cu momente) nu este posibil˘ a, în practic˘ a se folosesc serii de momente
truncheate pân˘ a la un ordin maxim fixat N (p + q N). Acestea îns˘ a caracterizeaz˘ a
o alt˘ a func¸tie, g(x, y), o aproximare a lui f(x, y). Aceast˘ a aproximare este dat˘ a de o
combina¸tie liniar˘ a a polinoamelor bazei, ponderate cu scalarii necunoascu¸ti g
pq
:
g(x, y) =

p+qN
g
pq
x
p
y
q
(9.5)
131
G˘ asirea acestor scalari se face prin egalarea momentelor cunoscute ale lui f(x, y) cu
momentele lui g(x, y) dat˘ a de expresia (9.5). Rezolvând sistemul de ecua¸tii cuplate ce
se formeaz˘ a (a se vedea [9]), se pot ob¸tine rela¸tiile c˘ autate; calculul trebuie îns˘ a ref˘ acut,
din cauza cupl˘ arii ecua¸tiilor, ori de câte ori se dore¸ste trecerea la o aproximare mai bun˘ a
a formei f , m˘ arind valoarea lui N. Aceast˘ a cuplare provine din cauza folosirii unei
baze neortogonale (a¸sa cum este familia de polinoame x
p
y
q
) pentru calculul momentelor;
problema a fost rezolvat˘ a prin folosirea proiec¸tiilor pe baza de polinoame Legendre [9].
Trebuie îns˘ a remarcat c˘ a folosirea momentelor statistice pentru caracterizarea unei forme
nu asigur˘ a îndeplinirea a nici unuia dintre principiile de invarian¸t˘ a c˘ autate; de aceea au
fost introduse momente statistice invariante [19], [9].
Momentele statistice invariante la transla¸tie sunt momentele statistice centrate:
µ
pq
=

f(x,y)=0
(x −x)
p
(y −y)
q
(9.6)
Momentele statistice invariante la transla¸tie ¸si scalare sunt definite de:
η
pq
=
µ
pq
µ
γ
00
, γ = 1 +
p +q
2
(9.7)
Invarian¸tii la transla¸tie, scalare ¸si rota¸tie ai unei forme, ob¸tinu¸ti în condi¸tiile folosirii unor
momente statistice de ordin cel mult 3 (N = 3), sunt în num˘ ar de 7 ¸si sunt exprima¸ti de:
Φ
1
= η
20
+ η
02
(9.8)
Φ
2
= (η
20
−η
02
)
2
+ 4η
2
11
(9.9)
Φ
3
= (η
30
−3η
12
)
2
+ (η
03
−3η
21
)
2
(9.10)
Φ
4
= (η
30
+ η
12
)
2
+ (η
03
+ η
21
)
2
(9.11)
Φ
5
= (η
30
−3η
12
)(η
30
+ η
12
)
_

30
+ η
12
)
2
−3(η
03
+ η
21
)
2
¸
+ (9.12)
+(η
03
−3η
21
)(η
03
+ η
21
)
_

03
+ η
21
)
2
−3(η
30
+ η
12
)
2
¸
Φ
6
= (η
20
−η
02
)
_

30
+ η
12
)
2
−(η
03
+ η
21
)
2
¸
+ 4η
11

30
+ η
12
)(η
03
+ η
21
) (9.13)
Φ
7
= (η
30
−3η
21
)(η
03
+ η
21
)
_

03
+ η
21
)
2
−3(η
30
+ η
12
)
2
¸
− (9.14)
−(η
03
−3η
21
)(η
30
+ η
12
)
_

30
+ η
12
)
2
−3(η
03
+ η
21
)
2
¸
Ini¸tial (mijlocul anilor ’60) ace¸sti invarian¸ti au fost folosi¸ti pentru recunoa¸sterea carac-
terelor mari de tipar, cu rezultate modeste. Eficien¸ta lor const˘ a îns˘ a în modul rapid de
calcul ¸si posibilitatea de a le utiliza cu succes pentru recunoa¸sterea formelor geometrice
convexe.
132
Folosind momentele invariante, se mai pot deduce alte atribute: excentricitatea suprafe¸tei
(9.15), care m˘ asoar˘ a gradul de uniformitate al distribu¸tiei punctelor formei în jurul cen-
trului de greutate ¸si orientarea suprafe¸tei, caracterizat˘ a de unghiul θ fa¸t˘ a de orizontal˘ a
al axei fa¸t˘ a de care momentul iner¸tie al formei este minim (9.16).
ε =
Φ
2
µ
00
(9.15)
θ =
1
2
arctan

11
µ
20
−µ
02
(9.16)
9.3 Semn˘ atura formei
Semn˘ atura unei forme este o func¸tie scalar˘ a de o variabil˘ a, asociat˘ a unei forma plane.
Semn˘ atura este definit˘ a de distan¸ta de la un punct de referin¸t˘ a fixat x (în general centrul
de greutate al formei) la fiecare punct de pe conturul (frontiera) formei. Aceast˘ a distan¸t˘ a
este exprimat˘ a (sau m˘ asurat˘ a) în func¸tie de unghiul la centru θ realizat de punctul curent
de pe contur cu axa orizontal˘ a de referin¸t˘ a, d
x
(θ) sau în func¸tie de abscisa curbilinie ρ
(lungimea conturului cuprins între punctul curent ¸si punctul în care axa de referin¸t˘ a in-
tersecteaz˘ a conturul), d
x
(ρ). Semn˘ atura formei este o reprezentare reversibil˘ a (cunoscând
semn˘ atura se poate reconstrui conturul obiectului). Figurile 9.1 ¸si 9.2 prezint˘ a semn˘ a-
turile unor forme poligonale.
Fig. 9.1: Semn˘ atura unui p˘ atrat ca func¸tie de unghiul la centru; punctul de referin¸t˘ a este
centrul de greutate, axa de referin¸t˘ a este orizontala.
Este posibil ca, pentru formele concave, semn˘ atura în func¸tie de unghiul la centru s˘ a nu
poat˘ a fi calculat˘ a, deoarce, pentru anumite unghiuri θ, intersec¸tia dreptei de direc¸tie θ
cu conturul s˘ a fie format˘ a din mai multe puncte. Aceast˘ a problem˘ a nu apare în cazul
semn˘ aturii în func¸tie de abscisa curbilinie. Ca o restric¸tie general˘ a, în cazul folosirii
semn˘ aturii bazate pe unghi, trebuie ca punctul de referin¸t˘ a x s˘ a apar¸tin˘ a nucleului formei.
Nucleul formei K, Ker(K) este definit prin:
Ker(K) = {x|∀y ∈ K, [xy] ⊆ K} (9.17)
133
Fig. 9.2: Semn˘ atura unei forme poligonale în func¸tie de abscisa curbilinie; punctul de
referin¸t˘ a este centrul de greutate, axa de referin¸t˘ a este orizontala.
unde [xy] semnific˘ a segmentul de dreapt˘ a definit de punctele x ¸si y. În cazul formelor
concave, nucleul formei este o mul¸time vid˘ a.
Folosind semn˘ atura formei, se pot defini parametri de tip geometric. Raportul de simetrie
este definit ca
Y (K) = sup
x∈K
inf
θ∈[0;π]
d
x
(θ)
d
x
(θ + π)
(9.18)
Se observ˘ a c˘ a nu s-a f˘ acut nici o presupunere privind convexitatea formei K, dar unicitatea
distan¸telor d
x
(θ) ¸si d
x
(θ + π) implic˘ a calcularea raportului de simetrie dup˘ a punctele ce
apar¸tin nucleului formei.
Raportul de circularitate este definit ca:
C(K) =
sup
θ
(d
x
(θ) +d
x
(θ + π))
inf
θ
(d
x
(θ) +d
x
(θ + π))
(9.19)
Func¸tia h
K
(θ) = d
x
(θ) + d
x
(θ + π) se nume¸ste suportul formei, ¸si este diametrul formei
pe direc¸tia θ.
În [5] s-a propus aproximarea formelor prin dezvoltarea în serie Fourier a semn˘ aturii aces-
tora ¸si truncherea reprezent˘ arii (tehnic˘ a utilizat˘ a ¸si într-o aplica¸tie clasic˘ a de recunoa¸stere
a conturului unor tipuri de avioane). O alt˘ a posibil˘ a aplica¸tie a semn˘ aturii pleac˘ a de la
observa¸tia c˘ a, pentru o form˘ a poligonal˘ a, în semn˘ atur˘ a, pozi¸tia vârfurilor este marcat˘ a
de puncte unghiulare (a se urm˘ ari figurile 9.1 ¸si 9.2). Atunci aceasta poate fi o metod˘ a de
aproximare poligonal˘ a a unei forme oarecari (g˘ asirea vârfurilor unui poligon ce o aprox-
imeaz˘ a cât mai bine).
134
9.4 Skeletoane morfologice ¸si generalizate
Skeletonul este o reprezentare bidimensional˘ a simplificat˘ a, echivalent˘ a, a unei forme. Pen-
tru o form˘ a A oarecare se define¸ste discul maximal în A, de centru x ¸si raz˘ a r, B
x
(r) ca
fiind discul caracterizat de:
B
x
(r) ⊆ A (9.20)
B
x
(r) ⊆ B
x
(r

) ⊆ A ⇔
_
r = r

x = x

(9.21)
Deci discul maximal trebuie s˘ a fie inclus în form˘ a (9.20) ¸si nici un alt disc inclus în form˘ a
s˘ a nu îl includ˘ a, sau, dac˘ a îl include, s˘ a fie identic cu acesta (9.21). O form˘ a poate avea
mai multe discuri maximale.
Skeletonul unei forme este mul¸timea centrelor discurilor maximale ale formei. Ca exem-
ple simple, skeletonul unui disc este centrul s˘ au, skeletonul unui p˘ atrat este reuniunea
diagonalelor sale (figura 9.3).
Fig. 9.3: Exemple de skeletoane ale unor forme continue simple.
9.4.1 Skeletonul morfologic
Calculul skeletonului unei forme reprezentate în spa¸tiul discret se poate face prin formula
Lantuejoul [15]; skeletonul formei A, SK(A), este format din reuniunea unui num˘ ar finit
de seturi skeleton:
SK(A) =
N
max
_
n=0
S
n
(A) (9.22)
S
n
(A) = (AnB) −(AnB) ◦ B (9.23)
Ordinul N
max
corespunde momentului în care toate seturile skeleton succesive devin nule,
moment marcat de A N
max
B = ∅; elementul structurant nB este iterarea de n ori a
elementului structurant B, nB = B ⊕ ... ⊕ B (de n ori). Elementul structurant folosit
135
este în general o expresie discret˘ a a discului unitar (deci element structurant V
4
sau V
8
).
Figura 9.4 prezint˘ a skeletonul unei forme discrete oarecare.
Fig. 9.4: Skeleton al unei forme discrete, reprezentat prin reuniunea seturilor skeleton ¸si
informa¸tia de apartenen¸t˘ a a fiec˘ arui punct la un anumit set skeleton.
Reconstruc¸tia formei din skeleton se face dup˘ a formula
A =
N
max
_
n=0
S
n
(A) ⊕nB (9.24)
Se pot realiza ¸si reconstruc¸tii par¸tiale (aproxim˘ ari ale mul¸timii A) prin neglijarea seturilor
skeleton ce reprezint˘ a detaliile (acestea sunt seturile skeleton de ordin mic); aproximarea
de ordin k a formei înseamn˘ a deci ignorarea primelor k seturi skeleton din reconstruc¸tie:

A
k
=
Nmax
_
n=k
S
n
(A) ⊕nB (9.25)
Skeletonul este invariant la transla¸tie, nu este conex (chiar dac˘ a forma A este conex˘ a; a se
vedea figura 9.5), nu este comutativ cu opera¸tia de reuniune a formelor (a se vedea figura
9.6). Transformarea skeleton este idempotent˘ a (SK(SK(A)) = SK(A)) ¸si antiextensiv˘ a
(SK(A) ⊆ A). Seturile skeleton sunt disjuncte dou˘ a câte dou˘ a (S
i
(A) ∩ S
j
(A) = ∅, ∀i =
j).
Folosirea skeletonului morfologic pentru recunoa¸sterea fomelor este restric¸tionat˘ a de pu-
ternica sa sensibilitate la zgomote (o mic˘ a schimbare a formei duce la o modificare semni-
ficativ˘ a a skeletonului
1
), ¸si de varia¸tia la rota¸tia ¸si scalarea obiectelor (pentru reprezent˘ ari
în spa¸tiul discret). În acela¸si timp, folosirea elementului structurant de tip disc unitar
aduce o puternic˘ a dependen¸t˘ a de metrica folosit˘ a în definirea sa (s˘ a nu uit˘ am c˘ a într-un
1
Exemplul clasic este de a considera un disc f˘ ar˘ a centru; în acest caz skeletonul este o coroan˘ a circular˘ a
situat˘ a la jum˘ atatea razei.
136
Fig. 9.5: Skeletonul nu este conex.
Fig. 9.6: Transformata skeleton nu este comutativ˘ a cu reuniunea.
spa¸tiu discret, metrica Euclidian˘ a nu este cea mai favorabil˘ a) ¸si produce elemente struc-
turante p˘ atrate (V
8
) sau în cruce (V
4
), ce pot fi cu greu interpretate ca discuri. Aceasta
a dus la folosirea unei clase de elemente structurante care s˘ a nu provin˘ a din no¸tiunea de
metric˘ a - elementele structurante generalizate.
9.4.2 Skeletonul generalizat
Fie {G
i
} un set de mul¸timi, numit set generator. Elementele structurante generalizate
sunt definite recurent prin:
B
i
= B
i−1
⊕G
i
, i = 1, 2, ... (9.26)
B
0
= 0
n
În general se folosesc seturi generatoare având o anumit˘ a periodicitate T (G
i+kT
=
G
i
, ∀i, k ∈ Z). De exemplu, figura 9.7 prezint˘ a construc¸tia setului de elemente struc-
turante generalizate rezultat dintr-un set generator cu perioad˘ a 1 (deci compus dintr-o
singur˘ a mul¸time), E
1
= {(−1, −1), (−1, 0), (0, −1), (0, 0)}.
Fiec˘ arui punct al formei A i se va asocia ordinul (indicele) elementului structurant ge-
neralizat maximal centrat cu originea în punctul respectiv, construind astfel o “hart˘ a de
137
Fig. 9.7: Construc¸tia unui set de elemente structurante generalizate.
distan¸te” (a se vedea ¸si figura 9.8):
D(x) =
_
0, dac˘ a x / ∈ A
n, dac˘ a (B
n−1
)
x
⊆ A ¸si (B
n
)
x
A
(9.27)
Fig. 9.8: Harta de distan¸te a unui obiect construit˘ a pe baza setului de elemente struc-
turante generalizate prezentat anterior ¸si skeletonul generalizat corespunz˘ ator.
Skeletonul generalizat al unei forme este mul¸timea originilor elementelor structurante
generalizate maximale în form˘ a
2
:
GSK(A) =
_
x ∈ A|
_
B
D(x)−1
_
x

_
B
D(y)−1
_
y
, ∀x = y
_
(9.28)
Folosind harta de distan¸t˘ a anterioar˘ a, skeletonul generalizat ob¸tinut este prezentat în
figura 9.8.
2
Se poate remarca similitudinea cu defini¸tia skeletonului, în care s-au înlocuit no¸tiunile: centru al
discului cu origine a elementului structurant, disc cu element structurant generalizat, raz˘ a a discului cu
indice (ordin) al elementului structurant generalizat.
138
Capitolul 10
PRINCIPII DE IMPLEMENTARE
SOFTWARE ¸ SI HARDWARE
Principiile esen¸tiale legate de implement˘ arile practice ale sistemelor de prelucrarea ¸si anal-
iza imaginilor urm˘ aresc dou˘ a direc¸tii, cu dezvoltare corelat˘ a: implement˘ arile software ¸si
dispozitivele hardware (de accelerare). Dup˘ a cum am ar˘ atat în capitolul introductiv,
la descrierea structurii tipice a unui sistem de prelucrarea ¸si analiza imaginilor, marea
majoritate a implement˘ arilor folosesc ca suport fizic pentru unitatea central˘ a de prelu-
crare un calculator obi¸snuit (compatibil PC); ceea ce îl particularizeaz˘ a este pachetul
de programe rulate. Putem distinge dou˘ a categorii fundamentale de astfel de programe:
programe strict dependente de aplica¸tie ¸si programe de uz general.
Un program dependent de aplica¸tie realizeaz˘ a doar algoritmii specifici opera¸tiei pe care o
execut˘ a sau supravegheaz˘ a. Interac¸tiunea cu operatorul uman este minim˘ a ¸si calificarea
acestuia nu este necesar s˘ a o dep˘ a¸seasc˘ a pe cea a unui tehnician [11]. Adeseori programul
trebuie s˘ a fie de timp real. Aceste variante de implementare sunt potrivite pentru procese
caracterizate de parametri stabili ¸si care se desf˘ a¸soar˘ a în condi¸tii ambiante (iluminare,
poluare vizibil˘ a — particule, fum) relativ constante ¸si nu sunt portabile (fiind în general
optimizate pentru o anumit˘ a structur˘ a hardware).
Programele de uz general permit efectuarea unui mare num˘ ar de opera¸tii de prelucrarea
¸si analiza imaginilor, cu numero¸si parametri reglabili. Interac¸tiunea cu operatorul uman
este mare ¸si acesta trebuie s˘ a aib˘ a o calificare superioar˘ a. Programele de acest tip nu
sunt de timp real ¸si în general sunt cuplate off-line cu instala¸tiile tehnologice propriu-
zise, f˘ acând parte mai ales din dotarea laboratoarelor de cercetare ¸si de analiza calit˘ a¸tii
¸si conformit˘ a¸tii. Interfa¸ta utilizator este cea care creaz˘ a diferen¸ta între dou˘ a categorii
de programe, în ceea ce prive¸ste modalitatea în care operatorul specific˘ a succesiunea de
opera¸tii de executat. Din acest punct de vedere vom face distinc¸tia între menu-driven ¸si
flow-chart driven (deci programe controlate prin meniu sau prin graf de flux).
139
Implement˘ arile de tip menu-driven aplic˘ a câte un unic pas de prelucrare asupra imaginii
din fereastra activ˘ a; rezultatul va fi prezentat într-o nou˘ a fereastr˘ a de afi¸sare. Tipurile
de opera¸tii se aleg din meniuri sau bara de butoane. Asemenea solu¸tii corespund ma-
jorit˘ a¸tii sistemelor software comerciale de grafic˘ a ¸si imaging (de tipul Adobe Photoshop,
Corel Draw, Paint Shop Pro). Opera¸tiile realizate sunt orientate mai ales c˘ atre aspectul
grafic (publicistic) al imaginilor, referindu-se în special la opera¸tii de filtrare, modificare a
contrastului, pseudocolorare, decupare de regiuni. Programele cu comand˘ a menu-driven,
cu rezultatele intermediare parcurgând etapele opera¸tiilor din fereastr˘ a în fereastr˘ a, sunt
direct derivate din proiectarea obiectelor de interfa¸t˘ a în sistemele de tip Windows.
Implement˘ arile de tip flow-chart permit construirea grafic˘ a interactiv˘ a a unui lan¸t de
opera¸tii aplicate unei imagini ini¸tiale. Fiecare opera¸tie este un bloc func¸tional caracte-
rizat de intr˘ ari, ie¸siri ¸si parametri de control; blocurile func¸tionale sunt interconectate,
implementând fluxul de opera¸tii pe care îl va parcurge imaginea. Procesul de comand˘ a
înseamn˘ a selectarea imaginii ini¸tiale ¸si ac¸tionarea unui buton de start. Asemenea pro-
grame sunt tipice sistemelor de calcul mari (sta¸tii de lucru), pentru care produsul Khoros
este un standard de fapt; un produs similar pentru PC este programul AdOculos (figura
10.1).
Fig. 10.1: Specificarea fluxului de opera¸tii în fereastra de comand˘ a a programului AdOcu-
los.
Ca o categorie intermediar˘ a între comenzile meniu ¸si diagrama de flux, putem considera
programele cu comand˘ a de tip macro (sau batch); programul (sau limbajul) Matlab poate
fi încadrat într-o asemenea categorie.
Multe dintre oper¸tiile ini¸tial realizate prin software-ul de aplica¸tie au migrat c˘ atre nivelul
hardware. Exemplul cel mai tipic de asemenea comportament este dat de rezolvare
problemei de dithering (aproximarea culorilor reale dintr-o imagine. folosind un num˘ ar
mic de culori disponibile la dispozitivul de afi¸saj). Dup˘ a ce, ini¸tial, problema era rezolvat˘ a
140
de programele aplica¸tie, gestiunea culorilor a trecut în grija sistemului de operare, pentru
ca, recent, s˘ a apar˘ a pl˘ acile grafice inteligente. Aceasta este de altfel una dintre tendin¸tele
actuale: evolu¸tia accesoriilor (pl˘ aci specializate, dispozitive de achizi¸tie) inteligente, deci
cu facilit˘ a¸ti de prelucrare integrate. Senzorii de imagine CCD sunt una dintre ¸tintele
predilecte ale acestei dezvolt˘ ari, înglobând cipuri de compresie ¸si transmisie a imaginilor,
comand˘ a de urm˘ arire automat˘ a a ¸tintei, opera¸tii de recunoa¸stere.
De¸si programarea orientat˘ a pe obiecte este un concept destul de nou, evolu¸tia sa a fost
deosebit de spectaculoas˘ a. Probabil c˘ a principalul atu al acestei evolu¸tii a fost apari¸tia
sistemului de operare Windows (cu toate derivatele sale 3.1, 3.11, ’95, ’98, etc.) a c˘ arui
structur˘ a este în întregime bazat˘ a pe conceptul de obiecte. Programarea unei aplica¸tii
Windows va face în mod clar apel la structuri predefinite - clasele de baz˘ a aplica¸tie,
fereastr˘ a, buton, ¸s.a.m.d. Atunci devine destul de normal s˘ a fie proiectate ¸si datele
specifice ale aplica¸tiei particulare tot ca structuri de tip obiecte.
Alegerea unui limbaj specific de programare nu mai este totu¸si o problem˘ a esen¸tial˘ a;
majoritatea limbajelor de uz general ingineresc (tehnic) provin din trunchiul comun C /
Pascal. Desigur c˘ a exist˘ a nenum˘ arate variante ale acestor limbaje de baz˘ a (C++ Builder,
Visual C++, Delphi, Borland C++¸si Borland Pascal cu obiecte) ¸si chiar apar limbaje noi
(Java, care, de¸si se revendic˘ a ca o aplica¸tie pur distribuit˘ a pentru folosirea re¸telelor ¸si în
special a Internetului, nu este cu mult diferit˘ a ca structur˘ a de un C cu clase). Principala
evolu¸tie a mediilor de programare nu a fost îns˘ a legat˘ a de modificarea limbajului în sine
(¸si deci a caracteristicilor de compilare a codului) ci modificarea stilului în care se creaz˘ a
aplica¸tia specific˘ a, ¸si mai precis, aspectul de interfa¸t˘ a.
Proiectarea unei interfe¸te pentru Windows înseamn˘ a definirea unor ac¸tiuni asociate eveni-
mentelor produse în sistem (clicuri de mouse, ap˘ as˘ ari de taste) ¸si construirea elementelor
grafice specifice (ferestre de afi¸sare ¸si de dialog, meniuri, introducere date, etc.). Acest˘ a
activitate a fost simplificat˘ a la maximum prin apari¸tia constructoarelor vizuale de apli-
ca¸tii, în care interfa¸ta grafic˘ a este construit˘ a prin alipirea unor elemente de baz˘ a (butoane,
ferestre, zone de text) pe cadre fixe (fereastr˘ a), numai cu mouse-ul (prin tehnic˘ a drag and
drop). Compilatorul genereaz˘ a automat codul surs˘ a aferent construc¸tiei; tot ceea ce tre-
buie s˘ a fac˘ a programatorul este s˘ a lege sursa ce descrie aplica¸tia ¸si ac¸tiunea specific˘ a la
codul care interpreteaz˘ a evenimentul de apel.
Ceea ce trebuie subliniat (spre a evita anumite interpret˘ ari uzuale, dar eronate) este c˘ a
aceste medii de programare avansate (gen Builder, Visual, etc..) nu preiau ¸si atribu¸tia de
a scrie algoritmii specifici; u¸surin¸ta construc¸tiei vizuale este legat˘ a strict de construc¸tia
interfe¸tei aplica¸tiei, deci aspect grafic ¸si eventual partea de preluare a datelor. Progra-
matorul va dezvolta restul aplica¸tiei ca pentru un compilator clasic.
Concluzia ce rezult˘ a din aceast˘ a scurt˘ a discu¸tie este aceea c˘ a, pentru orice aplica¸tie,
trebuie separat˘a partea de interfa¸ t˘a de partea de calcul specific. În cazul unui program de
prelucrarea ¸si analiza imaginilor acesta însemn˘ a c˘ a trebuie f˘ acut˘ a o proiectare la nivelul
structurii de date (matricea ce con¸tine valorile pixelilor din imagine ¸si prelucr˘ arile specifice
141
asupra acestora) ¸si o proiectare la nivelul interfe¸tei (care s˘ a specifice cum se va face afi¸sarea
imaginilor pe ecran, cum vor fi scrise pe disc, cum se va face un eventual transfer dinamic
al datelor de la sau c˘ atre alte aplica¸tii). Majoritatea covâr¸sitoare a sarcinilor legate
de interfa¸t˘ a pot fi rezolvate f˘ ar˘ a a cunoa¸ste nimic despre opera¸tiile specifice prelucr˘ arii
imaginilor ¸si despre modul în care o imagine este reprezentat˘ a în memoria de lucru a
calculatorului. S˘ a consider˘ am de exemplu problema afi¸s˘ arii unei imagini într-o fereastr˘ a.
F˘ ar˘ a îndoial˘ a c˘ a cel mai simplu mod de afi¸sare este folosirea imaginii ca un canvas,
înglobat în obiectul de tip fereastr˘ a, ¸si de a c˘ arui afi¸sare se ocup˘ a sistemul Windows.
Aceast˘ a abordare exclude îns˘ a accesul la con¸tinutul imaginii; aceasta trebuie deci separat˘ a
de fereastra de afi¸sare. Este poate deci preferabil˘ a memorarea imaginii ca o matrice
¸si transformarea acesteia într-o structur˘ a bitmap ata¸sat˘ a ferestrei, la fiecare cerere de
reafi¸sare a acesteia.
Cuvântul de ordine actual în implement˘ arile software este orientarea-obiect (limbajele
C++, Delphi, Java), insistând mai ales pe aspectele de polimorfism¸si mo¸stenire pe care le
aduce acest stil de programare. Mo¸stenirea corespunde cazului unor imagini cu structur˘ a
din ce în ce mai elaborat˘ a, pentru care se pot face tot mai multe opera¸tii (de tip analiz˘ a
de form˘ a ¸si clasificare, de exemplu). Polimorfismul corespunde realiz˘ arii unor opera¸tii cu
nume (sau metode de implementare) identice care s˘ a aib˘ a comport˘ ari diferite, în func¸tie
de tipul datelor c˘ arora li se aplic˘ a (func¸tia de histogram˘ a poate produce, de exemplu,
func¸tia de densitate de probabilitate a câmpului aleator imagine, în cazul imaginilor cu
nivele de gri, aria obiectelor, în cazul imaginilor binare ¸si num˘ arul de componente conexe,
în cazul imaginilor binare etichetate). De asemenea, aspectul legat de refolosirea codului
nu este neglijabil (s˘ a nu uit˘ am, c˘ a, de exemplu, pentru filtrarea în domeniul spa¸tial, un
numitor comun al diverselor tipuri de filtre este tehnica de tip fereastr˘ a glisant˘ a).
Tehnologia Java, aduce, pa lâng˘ a orientarea obiect, ideea de folosire a resurselor dis-
tribuite (fie pe Internet, fie ca resurse de multiprocesare). Astfel a devenit posibil˘ a crearea
de depozite de software specializat, universal executabil (prin mecanismul de applet) pe
orice ma¸sin˘ a pe care este disponibil un browser Internet. Marile avantaje anun¸tate pen-
tru Java (cod portabil, execu¸tie paralel˘ a, protec¸tie la manipularea defectuoas˘ a a zonelor
de memorie, protec¸tia datelor) sunt contrabalansate de codul executabil relativ lent ¸si de
dimensiunile mari ale codului surs˘ a.
Java este îns˘ a interesant˘ a pentru prelucrarea ¸si analiza imaginilor prin perspectiva de-
schis˘ a de multi-threding — existen¸ta ¸si gestionarea de c˘ atre o aplica¸tie oarecare a mai
multe fire de execu¸tie ce ruleaz˘ a concomitent din punct de vedere logic (sau aproape
concomitent din punctul de vedere fizic al calculatorului cu unic procesor); astfel devine
posibil˘ a rularea paralel˘ a de aplica¸tii pe sisteme cu unic procesor, f˘ ar˘ a sisteme de operare
multi-tasking. De altfel, pu¸tine sisteme fizice multiprocesor au fost realizate pentru pre-
lucrarea de imagini; sistemele de prelucrarea ¸si analiza imaginilor au utilizat în general
ma¸sini cu paralelism masiv (SIMD/ SPMD, transputer farm) sau grupuri de calculatoare
(cluster processing).
142
Exploatarea paralelismului este un merit pe care prelucrarea imaginilor ¸si l-a arogat înc˘ a
de la începuturi; opera¸tiile tipice de prelucrarea imaginilor sunt opera¸tii relativ simple,
cu un num˘ ar mare de instan¸te (pentru fiecare pixel al imaginii se face ceva), folosind
date pu¸tin redundante (suprapunerea între pozi¸tiile al˘ aturate ale ferestrelor de filtrare
este în general mic˘ a) ¸si, uneori, informa¸tie global˘ a (cazul histogramei sau a filtr˘ arilor în
domeniul de frecven¸t˘ a). Se pot distinge astfel dou˘ a nivele de paralelism: un paralelism
masiv, intrinsec structurii imaginii, legat de nivelul pixel, ¸si un paralelism ascuns, specific
opera¸tiilor de prelucrare (ca de exemplu realizarea opera¸tiilor morfologice prin (6.3) ¸si
(6.6) sau implementarea paralel˘ a a FFT).
În concluzie, putem afirma c˘ a prelucrarea ¸si analiza imaginilor a reu¸sit s˘ a câ¸stige teren ca
urmare a realiz˘ arilor spectaculoase ale tehnologiei electronice ¸si informaticii. Cre¸sterea
continu˘ a a puterii de calcul disponibile în unit˘ a¸tile de prelucrare ale calculatoarelor va
transforma probabil în viiitorul apropiat prelucrarea ¸si analiza imaginilor dintr-o anex˘ a
nebuloas˘ a ¸si exotic˘ a a aplica¸tiilor speciale într-o solu¸tie fiabil˘ a de larg consum industrial.
143
Bibliografie
[1] Buzuloiu, V.: Prelucrarea imaginilor: note de curs, Universitatea “Politehnica” Bu-
cure¸sti, 1998
[2] Castleman, K. R.: Digital Image Processing, Prentice Hall, Englewood Cliffs, NJ,
1996
[3] Cocquerez, J. P., Philipp, S. (coord.): Analyse d‘images: filtrage et segmentation,
Masson, Paris, 1995
[4] Dougherty E. R., Giardina, C. R.: Image Processing - Continous to Discrete, vol. 1,
Geometric, Transform and Statistical Methods, Prentice Hall Inc., Englewood Cliffs,
1987
[5] Gonzales, R. C., Woods, R. E.: Digital Image Processing, Addison Wesley, Reading
MA, 1992
[6] Haralick, R. M., Shapiro, L. G.: “Glossary of Computer Vision Terms“, în Pattern
Recognition, vol. 24, no. 1, pag. 69-93, 1991
[7] Haralick, R. M., Sternberg, S. R., Zhuang, X.: “Image Analysis using Mathematical
Morphology”, în IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 9,
no. 4, Iulie 1987, pag. 532-549
[8] Jähne, B.: Practical Handbook on Image Processing for Scientific Applications, CRC
Press, 1997
[9] Jain, A. K.: Fundamentals of Digital Image Processing, Prentice Hall, Englewood
Cliffs NJ, 1989
[10] Ministerium für Wirtschaft, Mittelstand und Technologie des Landes Nordrhein-
Westfalen: Stand und Trends der Bidverarbeitung in NRW, Düsseldorf, 1995
[11] Ministerium für Wirtschaft, Mittelstand und Technologie des Landes Nordrhein-
Westfalen: Produkte und Dienstleitungen für die Bildverarbeitung. Stand und Trends,
Düsseldorf, 1996
144
[12] Pitas, I., Venetsanopoulos, A. N.: Nonlinear Digital Filters — Principles and Appli-
cations, Kluwer Academic Publ., Norwell MA, 1990
[13] Press, W. H., Flannery, B. P., Teukolsky, W. T., Vetterling, W. T.: Numerical
Recipes in C. The art of scientific computing, Cambridge University Press, 1988
[14] Serra, J.: Image Analysis and Mathematical Morphology, Academic Press, London,
1982
[15] Schmitt, M., Mattioli, J.: “Reconnaissance de formes planaires par morphologie
mathematique et reseaux de neurones”, în Revue Technique Thomson CSF, vol. 22,
no. 4, Decembrie 1990, pag. 573-609, Ed. Gauthiers-Villars: Paris
[16] Sp˘ ataru, A.: Teoria Transmisiunii Informa¸ tiei, Ed. Didactic˘ a ¸si Pedagogic˘ a, Bu-
cure¸sti, 1984
[17] Vertan, C., Gav˘ at, I., Stoian, R.: Variabile aleatoare: principii ¸ si aplica¸ tii, Editura
Printech, Bucure¸sti, 1999
[18] Zamperoni, P.: “Image Enhancement”, Advances in Imaging and Electron Physics,
vol. 92, pp. 1-77, Academic Press, 1995
[19] Wahl, F. M.: Digital Image Signal Processing, Artech House, Boston, 1987
145

Cuprins

1 INTRODUCERE 1.1 Imagini digitale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Structura unui sistem de prelucrarea ¸i analiza imaginilor . . . . . . . . . s 1.3 Stocarea imaginilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.3.2 Stocarea imaginilor în memorie . . . . . . . . . . . . . . . . . . . Stocarea imaginilor în fi¸iere . . . . . . . . . . . . . . . . . . . . . s

6 7 9 12 13 14 17 18 19 23 25 26 31 34 36 38 42

˘ ˘ TIRE A IMAGINILOR 2 TEHNICI DE ÎMBUNATA¸ 2.1 Opera¸ii punctuale de modificare a contrastului . . . . . . . . . . . . . . t 2.1.1 2.1.2 a Modificarea liniar˘ a contrastului . . . . . . . . . . . . . . . . . . Modificarea neliniar˘ a contrastului . . . . . . . . . . . . . . . . . a

2.2 Pseudocolorarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Opera¸ii de contrastare bazate pe histograma imaginii . . . . . . . . . . . t ˘ 3 FILTRAREA LINIARA A IMAGINILOR 3.1 Filtrarea liniar˘ de netezire . . . . . . . . . . . . . . . . . . . . . . . . . a 3.2 Filtrarea liniar˘ de contrastare . . . . . . . . . . . . . . . . . . . . . . . . a 3.3 Filtrarea liniar˘ adaptiv˘ . . . . . . . . . . . . . . . . . . . . . . . . . . . a a ˘ 4 TRANSFORMARI INTEGRALE UNITARE DISCRETE 2

4.1 Generalit˘¸i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . at 4.2 Propriet˘¸ile transformatelor unitare unidimensionale . . . . . . . . . . . at 4.3 Transformata Fourier discret˘ . . . . . . . . . . . . . . . . . . . . . . . . a 4.3.1 4.3.2 Propriet˘¸ile fundamentale ale transformatei Fourier . . . . . . . . at Transformata Fourier rapid˘ . . . . . . . . . . . . . . . . . . . . . a

42 44 45 46 49 53 53 54 56 57 59 62 65 65 66 71 72 72 74 75 77 84 85 85

4.4 Alte transform˘ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 4.4.1 4.4.2 Transformata cosinus . . . . . . . . . . . . . . . . . . . . . . . . . Transformata sinus . . . . . . . . . . . . . . . . . . . . . . . . . .

˘ 5 FILTRAREA NELINIARA A IMAGINILOR 5.1 Filtrarea de ordine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 5.1.2 Filtrul median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtrele de ordine ponderate ¸i structurile multietaj . . . . . . . . s

5.2 Filtre de ordine de domeniu . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 L-filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Aspecte de implementare . . . . . . . . . . . . . . . . . . . . . . . . . . . ˘ 6 ELEMENTE DE MORFOLOGIE MATEMATICA 6.1 Transform˘ri morfologice de baz˘ . . . . . . . . . . . . . . . . . . . . . . a a 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 Transformarea Hit or Miss . . . . . . . . . . . . . . . . . . . . . . Erodarea morfologic˘ . . . . . . . . . . . . . . . . . . . . . . . . . a Dilatarea morfologic˘ . . . . . . . . . . . . . . . . . . . . . . . . . a Propriet˘¸ile erod˘rii ¸i dilat˘rii . . . . . . . . . . . . . . . . . . . at a s a Aspecte de implementare . . . . . . . . . . . . . . . . . . . . . . .

6.2 Transform˘ri morfologice derivate . . . . . . . . . . . . . . . . . . . . . . a 6.2.1 Deschiderea ¸i închiderea . . . . . . . . . . . . . . . . . . . . . . . s 3

. . .1 Compresia imaginilor binare . . . . . . .1. . . . . . . . . . . .6. . . Compresia imaginilor cu transformate . . . . . . . . a a Cre¸terea ¸i fuziunea regiunilor . . . . . . . . . . . . . . . . . Alte metode . . . . . . . . . . . . 7 METODE DE COMPRESIE A IMAGINILOR 7. 88 88 89 92 93 93 95 99 100 101 102 105 110 111 111 119 123 123 128 130 130 131 133 6. . . . . . . . . . . t Operatori morfologici de contur . . . . . .1. . . .2. . . . . .1 8. . . . . . . . . . . . . . . . . . . ˘ 9 PARAMETRI DE FORMA 9. . . . . 9. s t 9. . . 7. . . . . . . . . . . . . . 8 SEGMENTAREA IMAGINILOR a 8. . . . . Codarea cu arbori cuaternari . . . .3 7. . . . 7. . . . . . . . . . . . . . . . . . . . . . .2. . . . . . a Cuantizarea vectorial˘ . .2. . . . . .2 Segmentarea orientat˘ pe contururi . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . .2 Compresia imaginilor cu nivele de gri . . . . . . . . . . . . . . . . . . . . . . . .2 Metode derivative . . . . . .1 7. . .2. . . . . . . . . . . . . . . . . . . . a Codarea pe flux de bi¸i . . .1 Parametri geometrici . .1. . . . . . . .1 Segmentarea orientat˘ pe regiuni . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . a 8. . . . . . .2 Codarea entropic˘ (Huffman) .1 8. . . . . . . . . . . . . . . . . . . . . . . . . .3 Semn˘tura formei . . . . . . . s s 8. . . . . . .2 Segmentarea bazat˘ pe histogram˘ . . .2 6. . . . . . . . .2 7. . . . . . . . . . . .2. . . . . . . . . . . . . . . . . .1 7. . . .3 Filtrele alternate secven¸ial . .1. . .2 Momente statistice ¸i invarian¸i . . .2. . 8. . . t 7. . . . . . . . . . . . . .3 Extinderea morfologiei matematice la nivele de gri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 a Codarea predictiv˘ . . . . . . . a 4 . . . . .

. .4. s 9. . . . . . . . . . . . . . . Skeletonul generalizat . . . . . . . . . . . . . . . . .4. .4 Skeletoane morfologice ¸i generalizate . . . 135 135 137 139 10 PRINCIPII DE IMPLEMENTARE SOFTWARE SI HARDWARE ¸ 5 . . . . . . . .1 9.2 Skeletonul morfologic . . . . .9. . . . . . . . . . . . . . . . . . . . . .

deci prelucrarea digital˘ a imaginilor. exprimat prin numere”. Este a a s at s a important de precizat c˘ analiza imaginilor a mers mai departe decât simpla înlocuire a a observatorului uman. dup˘ realizarea a importante dezvolt˘ri teoretice ¸i tehnot s logice). în care disciplina este denumit˘ a a a a Digital Image Processing. Dup˘ cum se remarc˘ în [9]. privitor la numere. deoarece au ap˘rut solu¸ii novatoare pentru probleme cu care a t acesta nu mai fusese confruntat . t Rezultatul oric˘rui calcul este numeric. Termenul digital înseamn˘ îns˘ a a a “ceea ce este referitor la reprezentarea informa¸iei discrete în calculatoare” t 6 . defini¸ia cuvântului numeric este aceea de t “care apar¸ine numerelor. radar). Termenul cheie este cuvântul digital. capabil˘ s˘ realizeze func¸iile vizuale ale s a a a t a a a oric˘rei vie¸uitoare (desigur. prelucrarea imaginilor înglobeaz˘ posia a a bilitatea de a dezvolta ma¸ina total˘ de viziune. “Image processing holds the possibility of developing the ultimate machine that could perform the visual functions of all living beings”. Dup˘ cum o arat˘ dic¸ionarul limbii române s a a t moderne. Trebuie remarcat˘ terminologia anglo-saxon˘ (original˘). ultrasonore. înlocuit adesea în mod eronat în multe traduceri române¸ti cu termenul de numeric.ca în cazul imaginilor non-vizibile (imagini acustice. Prin prelucrarea digital˘ a a a imaginilor se în¸elege prelucrarea pe un calculator digital a unor date bidimensionale t (imagini).Capitolul 1 INTRODUCERE Prelucrarea ¸i analiza imaginilor (numit˘ adeseori prescurtat doar prelucrarea imaginilor) s a s-a n˘scut datorit˘ ideii ¸i necesit˘¸ii de a înlocui observatorul uman printr-o ma¸in˘.

luate din a a s s unghiuri diferite) ¸i secven¸ele de imagini. ci func¸ii definite pe un t t domeniu spa¸ial. valoarea unui element al unei imagini este o m˘sur˘ a intensit˘¸ii luminoase a a at în punctul considerat. acesta nu este îns˘ decât un caz particular. unde provine de la s a picture element). 32 % sunt cu nivele de gri. t t 20 % sunt alb-negru. Imaginile non-vizibile. Aceste date pot fi numere naturale. imaginile sunt semnale. dar nu func¸ii temporale. ca a a exemple de astfel de imagini se pot da imaginile monocrome (în care punctele au doar dou˘ valori posibile.a¸a cum sunt toate prelucr˘rile ce au loc în a s a cadrul lan¸ului de transmisie ¸i recep¸ie a imaginii standard de televiziune. ce corespund unui con¸inut binar al imaginii. vectorul asociat fiec˘rui punct din imagine are mai multe elemente (caz ce corespunde imaginilor preluate în mai multe benzi de frecven¸a. continue sau discrete. evident.. Desigur c˘ exist˘ îns˘ ¸i a a a a a as prelucr˘ri de imagini care sunt analogice . a a t a a a a imaginile prelucrate pot fi împ˘r¸ite în mai multe categorii: at • imagini scalare.1 Imagini digitale La început. în care fiecare component˘ este un vector de numere. Tot în categoria imaginilor vectoriale t s intr˘ îns˘ ¸i imaginile stereo (o pereche de imagini ale aceleia¸i scene. în general a t alb-negru) ¸i imaginile cu nivele de gri (de tipul imaginii de luminan¸a de pe ecranele s t˘ televizoarelor alb-negru). matrice) de date. În mod clasic. dintre imaginile prelucrate în aplica¸ii func¸ionale. nu pot fi percepute în mod direct a de ochiul uman. a a imaginile pot fi clasificate ca imagini abstracte. Orice imagine este o structur˘ bidimensional˘ (tablou. s t Conform datelor prezentate în [11]. Dup˘ natura lor.Deci atâta vreme cât accept˘m ideea c˘ unealta de lucru în prelucrarea imaginilor este a a calculatorul. imagini non-vizibile ¸i imagini vizibile [2].. sunt de fapt achizi¸ii ale unor câmpuri bidimensionale de parametri fizici t 7 . în care vectorul are trei elemente (ce corespund celor trei constituente de baz˘ ale oric˘rei culori). cazul a particular cel mai de interes este acela al imaginilor color. ¸i acesta la rândul s˘u este digital.. reprezentate îns˘ pe un num˘r finit de bi¸i. t de dou˘ variabile. t s t 1. 10 % sunt imagini s t stereoscopice ¸i 18 % sunt secven¸e de imagini. t a a Un element al imagini se nume¸te pixel (cuvânt preluat din englez˘. a¸a cum sunt imaginile de teledetec¸ie ale sateli¸ilor. a a a a pentru imaginile multicomponent˘. în care fiecare component˘ este un scalar (un unic num˘r). imaginile de t˘ s t t termodetec¸ie în benzile de infraro¸u. 20 % sunt color. atunci ¸i prelucrarea este la rândul ei s a s digital˘. care. în general. reale sau complexe. Dup˘ tipul datelor din acest˘ structur˘ bidimensional˘. • imagini vectoriale.). ca un caz particular al oric˘rei prelucr˘ri numerice. s Imaginile abstracte sau modelele sunt de fapt func¸ii [matematice].

num˘rul de linii al tabelei de culoare este egal cu num˘rul de culori a a din imaginea reprezentat˘ ¸i este în mod tipic o putere a lui doi (16. int culoare). ce se refer˘ la fotografii. temperatur˘. pentru afi¸area sau a s t a s reprezentarea unei imagini indexate este necesar˘ o informa¸ie suplimentar˘. ca de exemplu în imaginile at a cu nivele de gri.. generate ca distribu¸ii de intensitate luminoas˘ (a¸a ca hologramele. a a O imagine indexat˘ este acea imagine în care valoarea fiec˘rui pixel este un indice prin care a a se reg˘se¸te informa¸ia de culoare asociat˘ pixelului respectiv. Paleta de afi¸are este o structur˘ logic˘ a s s a a 1 definit˘ în BGI (Borland Graphics Interface). Deci tabela de culoare a are trei coloane. Tabela s de culoare este o matrice în care fiecare linie con¸ine descrierea unei culori (deci cele t trei componente ce definesc culoarea .. de asociere a t a a între indici ¸i culori. pentru programare în sesiuni de tip DOS.în mod tipic intensit˘¸ile relative de ro¸u. } Modificarea unei culori din palet˘ (o intrare a tabelului) se face cu: a void far setpalette(int index_culoare. Deci. scheme ¸i altele din aceea¸i a t s s categorie). Culorile utilizate la un moment s s dat sunt grupate într-o palet˘ de culori de afi¸are. Turbo C 2..). Indicele as (valoarea pixelului) va fi num˘rul de ordine al liniei din tabela de culoare pe care se a g˘se¸te descrierea culorii. desene. Vom distinge astfel imagini de intensitate ¸i imagini indexate. În fine.în sensul curent al t˘ s t t˘ termenului.1. Aceast˘ asociere se face prin intermediul tabelei de culoare. schi¸e.0) 1 8 . imaginile ce pot fi percepute a în mod direct de c˘tre ochiul uman (deci imaginile vizibile) sunt la rândul lor imagini a optice. Pixelii unei imagini de intensitate pot avea orice fel de valori: reale sau naturale (depinzând dac˘ imaginea este sau nu cuantizat˘). . Afi¸area imaginilor pe ecranul a a as s monitorului se face corespunz˘tor unui anumit mod grafic. int colors[MAXCOLORS+1]. densitate. imaginile t a s de interferen¸a ¸i difrac¸ie) sau imagini propriu-zise (de luminan¸a . a ca: struct palettetype { unsigned char size.. verde at s s ¸i albastru ce compun culoarea dat˘ printr-un amestec aditiv). presiune. .). O a a a a imagine de intensitate este o imagine în care valoarea fiec˘rui pixel este o m˘sur˘ direct˘ a intensit˘¸ii luminoase sau a m˘rimii fizice preluate de senzor. O alt˘ împ˘r¸ire a imaginilor scalare se poate face dup˘ semnifica¸ia ce se d˘ valorii a at a t a s numerice a pixelilor. Aceast˘ tehnic˘ este folosit˘ ¸i în grafica pe calculator. Este evident c˘ valorile pixelilor unei imagini indexate nu pot a s a fi decât numere naturale (deoarece sunt indici într-o matrice).(presiune. Exemplele de cod C prezentate în lucrare corespund mediilor integrate Borland (Borland C++ 3. picturi. 256. determinat din placa video a a calculatorului. Un mod video define¸te num˘rul maxim de culori ce pot fi utilizate s a simultan ¸i dimensiunile ecranului (în pixeli de afi¸aj).

Verde. a Modelul imagini indexate este un caz particular de folosire a tehnicii dic¸ionar (sau t tehnicii tabelului de echivalen¸a .Afi¸area unui pixel cu o anumit˘ culoare se face cu: s a putpixel(int pozx. s 9 . Un studiu realizat în Germania în anul 1996 [11] prin inventarierea sistemelor de a 2 Red Green Blue . int index_culoare). culorii reprezentate de indexul i îi corespunde nivelul de gri i. sistemul de operare aproximând culoarea respectiv˘ cu cea mai apropiat˘ a a culoare disponibil˘ din paleta de lucru curent˘ (în acest fel. Specificarea acestora se va face cu indec¸i între 0 ¸i 255.negru. este suportat˘ ¸i specificarea direct˘ a culorii de afi¸at (sub forma unui as a s 2 triplet RGB ). int pozy. Dac˘ specificarea componentelor de culoare se a face prin numere de 8 bi¸i (deci între 0 ¸i 255. verde ¸i albastru ale fiec˘rei s s a culori din paleta de culoare sunt identice.alb. adic˘ tripletul RGB (i. pentru s s t t a a o imagine indexat˘ cu nivele de gri. 255 . adic˘ cazul cel mai des folosit).2 Structura unui sistem de prelucrarea ¸i analiza s imaginilor Structura tipic˘ a unui sistem de prelucrarea (evident digital˘) ¸i analiza imaginilor este a a s alc˘tuit˘ din punct de vedere func¸ional dintr-un num˘r mic de blocuri (vezi figura 1. nu mai este necesar˘ specificarea tabelei de culoare. tabela de t s a culoare va avea 256 de culori (tonuri de gri) diferite. utilizatorul poate neglija a a existen¸a acesteia). 1. i.1): a a t a • sistemul de formare a imaginii (de exemplu sistemul de lentile al camerelor de luat vederi): strânge radia¸ia electromagnetic˘ a obiectului studiat pentru a forma t a aa imaginea tr˘s˘turilor de interes • convertorul de radi¸ie: converte¸te radia¸ia electromagnetic˘ din planul imaginii t s t a într-un semnal electric. a Sistemul de formare a imaginii ¸i convertorul de radia¸ie formeaz˘ senzorul.Ro¸u.Look Up Table .LUT): o tehnic˘ de reg˘sire a unei t˘ a a at t a cantit˘¸i de informa¸ie folosind asocierea unei chei de c˘utare mult mai mici. Albastru: sistemul primar de reprezentare a culorilor. În acest fel. aloca¸i conform conven¸iei 0 . acesta realis t zeaz˘ o proiec¸ie plan˘ (bidimensional˘) a scenei reale (care este în general tridimensioa t a a nal˘). i). t Pentru o imagine cu nivele de gri. Sub Windows. componentele de ro¸u.

.2: 10 . în t aceast˘ categorie se încadreaz˘ îns˘ ¸i ma¸inile specializate de calcul. • software-ul specializat: implementeaz˘ algoritmii de prelucrare ¸i analiz˘ a s a În [11] se arat˘ c˘ unitatea de prelucrarea hardware (deci calculatorul) folosit˘ la aplia a a ca¸iile de prelucrarea imaginilor func¸ionale la acea dat˘ este în cea mai mare majoritate t t a a cazurilor un PC obi¸nuit. . fie el PC sau sta¸ie de lucru). s • sistemul de prelucrare (în mod tipic un calculator. acesta nu a a este altceva decât un dispozitiv de e¸antionare (discretizare a suportului imaginii) s ¸i cuantizare (discretizare a domeniului de valori a imaginii). datele sunt sintetizate în tabelul s t 1.1: t a Domeniu Infraro¸u Infraro¸u Vizibil Ultraviolet s s Radar Radia¸ie t electromagnetic dep˘rtat apropiat a (microunde) X Procent 5% 25 % 40 % 10 % 10 % 10 % Tabel 1..Fig. cu performan¸e standard.1: Schema general˘ a unui sistem de analiza ¸i prelucrarea imaginilor a s preluare a imaginilor folosite în industrie indic˘ o distribu¸ie a tipurilor de senzori dup˘ a t a gama de radia¸ie captat˘ conform tabelului 1. calculatoarele a a as s de proces. pe care o stochez˘.1: Tipuri de senzori folosi¸i în prelucrarea imaginilor t • sistemul de achizi¸ie (echivalent unui frame-grabber sau video-blaster): converte¸te t s semnalul electric al senzorului într-o imagine digital˘. 1.

.). deci a lu˘rii unor decizii). predic¸ia t a t recoltelor.Platform˘ hardware a Procent din pia¸a t˘ PC standard.1. degrad˘rile sunt cauzate de imperfec¸iunile ¸i limit˘rile des a t s a terministe ale senzorului (efecte de apertur˘. controlul ¸i prevenirea incendia a a s 11 . printr-o transformare reversibil˘ .imaginea trebuie s˘ a a a t poat˘ s˘ fie recuperat˘ integral (sau cu diferen¸e foarte mici.2: Unit˘¸i de calcul folosite în prelucrarea imaginilor at Sistemul software specializat care este responsabil cu realizarea efectiv˘ a unei sarcini cona crete poate fi descompus în mai multe module. compresia. timp de expunere. a a at s Blocul de îmbun˘t˘¸ire a imaginilor are ca scop accentuarea anumitor tr˘s˘turi [ale a at aa obiectelor con¸inute în imagine] pentru u¸urarea unor sarcini ulterioare de analiz˘ aut s a tomat˘ sau interpretare prin afi¸are. prezente în imaginea dat˘. Aceast˘ clas˘ a a t a a de aplica¸ii extrem de specifice a fost caracterizat˘ drept “consumul imaginii” [1] (imat a ginea folosit˘ în vederea analizei. altele 10 % Tabel 1. în orice domeniu de activitate se pot g˘si numeroase aplica¸ii. Ace¸ti algoritmi nu m˘resc con¸inutul informa¸ional al imaginii ¸i s a t t s s t t sunt în general interactivi ¸i puternic dependen¸i de aplica¸ie. PCI 15 % Sta¸ii de lucru (workstations) t 10 % Ma¸ini specializate s 10 % Calculatoare Macintosh. Adeseori. controlabile) din versiunea a a a sa comprimat˘. segmentarea ¸i analiza [9]. bus ISA. Windows 3. deficien¸e geometrice ale a t sistemului de lentile. bus VME 15 % PC standard cu acceleratoare specializate. Perturba¸iile reprezint˘ în general zgomotele (modelate ca procese s a t a aleatoare) ce se suprapun în cursul achizi¸iei imaginii (din cauza senzorului ¸i a lan¸ului t s t de transmisiune ¸i captare). segmentarea este strâns legat˘ de algoritmii de a analiz˘. restaurarea. a s Sfera de aplicabilitate a tehnicilor de prelucrarea ¸i analiza imaginilor este deosebit de larg˘. practic. m˘rirea a confortului vizual. Asemenea metode pot fi utile la extragerea tr˘s˘a aa s turilor caracteristice ale obiectelor. eliminarea zgomotelor suprapuse imaginii. calculatoare paralele (transputere). urm˘rirea vremii. 95. NT 40 % Calculatoare industriale (procesoare Intel). a Segmentarea este procesul de descompunere a unei imagini (sau scene) în elementele (obiectele) sale constituente. bus VLB. Imaginile preluate de c˘tre a a a sateli¸i pot fi folosite la descoperirea resurselor terestre. .. nu neap˘rat bine separate ¸i nu neap˘rat a s a prezente împreun˘: îmbun˘t˘¸irea. al c˘ror scop este de a realiza m˘sur˘tori cantitative sau evalu˘ri calitative asupra a a a a a unor anumite categorii de obiecte. urm˘rirea dezvolt˘rii urbane. cartografiere geografic˘. Compresia imaginilor se refer˘ la reducerea volumului de date (num˘rului de bi¸i) cu a a t care este reprezentat˘ imaginea. Restaurarea imaginilor se refer˘ la eliminarea sau minimizarea efectelor unor perturba¸ii a t ¸i a unor degrad˘ri.

tomografiile. în fi¸iere. Aplica¸iile transmisiei s t s t s t ¸i compresiei imaginilor se reg˘sesc în televiziunea digital˘. controlul calit˘¸ii .inclusiv defectoscopie nedistructiv˘). pentru a permite accesul rapid direct la informa¸ia fiec˘rui pixel. imaginile de rezonan¸a magnetic˘ nuclear˘. discuri. în form˘ a a a necomprimat˘. Din acest punct de vedere este interesant˘ compara¸ia între câteva caracteristici ale sisa t temului vizual ¸i de prelucrare uman ¸i un sistem de prelucrarea ¸i analiza imaginilor [8].doar pe durata prelucr˘rii efective) ¸i stocarea de lung˘ durat˘ imaginilor. sisteme de securitate cu cira t t cuit închis. precum ¸i alte aplica¸ii ecologice ¸i militare. comunica¸ia pe re¸ele distribuite. etc. Diferen¸a esen¸ial˘ între cele dou˘ t t a a tipuri de stocare este aceea c˘ în memorie imaginea va fi reprezentat˘ complet.ilor ¸i inunda¸iilor. prezentat˘ în tabelul 1. s O larg˘ clas˘ de aplica¸ii sunt cele industriale.3.3 Stocarea imaginilor Se poate considera c˘ exist˘ dou˘ moduri de stocare a imaginilor: stocarea în memoria a a a de lucru a unit˘¸ii de prelucrare a imaginii de lucru (care este o stocare de scurt˘ durat˘ at a a . puternic legate de procesul de fabrica¸ie urm˘rit ¸i tind s˘ devin˘ din t a s a a ce în ce mai utilizate odat˘ cu impunerea normelor de “calitate total˘” ale standardului a a a t ISO9000 (se poate urm˘ri [10] pentru aplica¸ii specifice ale diferitelor firme germane). sistemele de teleconferin¸a. t˘ a a Acestea pot fi utilizate pentru monitorizarea pacien¸ilor ¸i pentru descoperirea ¸i identit s s ficarea de boli ¸i tumori. s a a t˘ transmisiile fax. s s s folosite pentru aplica¸ii industriale. birotic˘. angiogramele. t a Criterii Om Sistem de prelucrarea imaginilor Obiectivitate NU DA Control 100% NU DA ˘ Rat˘ de eroare a MARE MICA ˘ Rat˘ de lucru a MICA MARE ˘ Rezisten¸a la oboseal˘ t˘ a MICA MARE Iluzie optic˘ a DA NU Prelucrare statistic˘ a Greu realizabil DA Reproductibilitate Greu realizabil DA M˘surare geometric˘ a a Cu instrumente auxiliare DA Recunoa¸tere de forme s DA DA Tabel 1. pe a s a a s suporturi externe de memorie (benzi. aplica¸ii militare. în care componentele de prelucrarea ¸i a a t s analiza imaginilor sunt folosite în sisteme mai mari de asigurare a calit˘¸ii produselor at (metrologie. În aplica¸iile medicale sunt prelucrate radiografiile cu raze t t X. Solu¸iile sunt exat a t trem de specifice.). echografiile. a t a 12 .3: Compara¸ia între caracteristici esen¸iale ale sistemului vizual uman ¸i sistemele t t s de prelucrarea ¸i analiza imaginilor s 1.

2c.contor++) imagine[contor]=(tip*) malloc(nr_coloane*sizeof(tip)). Se remarc˘ folosirea constantelor nr_linii ¸i nr_coloane (cu semnifica¸ie evident˘) ¸i a a s t a s tipului generic tip pentru valoarea pixelilor. Orice variabil˘ Matlab este a creat˘ în momentul folosirii sale în membrul stâng al unei expresii (deci nu este necesar˘ a a declararea prealabil˘ folosirii). Particularitatea s a a este dat˘ de memorarea separat˘ a fiec˘rei linii (sau coloane) a matricii într-un vector a a a alocat dinamic. la s care se va re¸ine adresa de început (deci un alt pointer). Linia a 3-a aloc˘ spa¸iul pentru un masiv de a t pointeri la date de tip pointer.nr_coloane). to¸i a t t pixelii (toate valorile matricii imagine) sunt ini¸ializa¸i cu 0. Valoarea imagine[contor] este adresa de început a spa¸iului t s t de memorie la care încep valorile pixelilor de pe linia contor. for (contor=0. Exist˘ un singur tip de a a date. reprezentate pe 8 octe¸i (caracteristic˘ ce se schimb˘ începând cu versiunea 5. ¸i deci este necesar˘ o declarare dinamic˘. la compilare.1 Stocarea imaginilor în memorie Principalul limbaj de programare utilizat pentru aplica¸ii cu calcule intensive r˘mâne înc˘ t a a limbajul C (C++). ace¸tia sunt stoca¸i întrun vector declarat de malloc(nr_coloane*sizeof(tip)). Func¸iile returneaz˘ matrici. declarate explicit). spa¸iul de memorie necesar (argumentul func¸iei malloc) t t este dat de num˘rul de pointeri la liniile imaginii ce înmul¸e¸te dimensiunea unui astfel a t s de pointer (sizeof(tip*)). Stocarea imaginilor se va face.3. unsigned int contor. imagine=(tip**) malloc(nr_linii*sizeof(tip*)). 3 Codurile Matlab prezentate în lucrare corespund versiunii Matlab 4. Ceea ce este deosebit este modul de a declarare a acestora: declararea static˘ nu este convenabil˘ din cauza dimensiunilor în a a general mari ale imaginilor. Secven¸a C anterioar˘ este echivalent˘ s a t a t a a cu: imagine=zeros(nr_linii. sau real). De asemenea se observ˘ c˘ secven¸a anterioar˘ nu face nici a a t a un fel de verificare a succesului opera¸iei de alocare de memorie (verificarea faptului c˘ t a valoarea returnat˘ de func¸ia malloc nu este NULL). t t Spre deosebire de C.0. ce t a a admite valori reale. atunci o secven¸a t˘ C de declarare a unui imagini poate fi: tip ** imagine.1. prin intermediul unor variabile ce implementeaz˘ structuri de date bidimensionale. ¸i gruparea adreselor de început a acestora într-un vector de pointeri. Trebuie remarcat˘ conversia de a tip (cast) obligatorie ce înso¸e¸te fiecare alocare de memorie (se ¸tie c˘ func¸ia malloc t s s a t întoarce un pointer la void). În mod implicit. Dac˘ consider˘m un tip generic t a a de date pentru componentele matricii (caracter.contor<nr_linii. limbajul Matlab3 aduce mari simplific˘ri. orice variabil˘ este o matrice (scalarul este o matrice de o a a linie ¸i o coloan˘). sau întreg. evident. 13 . întregi sau caracter.

TIF. PCX..4. ¸i este alc˘tuit˘ din dou˘ componente: antetul structurii de s s a a a informa¸ii (BITMAPINFOHEADER). de la stânga la dreapta). Fiecare pixel al imaginii este codat cu num˘rul corespunz˘tor de a a t bi¸i (4. c˘p˘tând denumirea de formate de imagini. 8. dac˘ este sau nu indexat˘. etc.). Structura de informa¸ie a imaginii (BITMAPINFO) con¸ine informa¸ii asupra dimensiut t t nilor ¸i culorilor unui DIB. s Un fi¸ier RAW con¸ine imagini indexate cu nivele de gri. dac˘ este sau nu comprimat˘ ¸i dup˘ ce metod˘. WORD bfReserved2. WORD bfReserved1. s 14 .3. de form˘ p˘trat˘. a c˘rui componente sunt descrise în tabelul 1. DW bfOffBits. format din structuri RGBQUAD. Formatele a a de imagini s-au f˘cut cunoscute mai ales dup˘ extensia standard a fi¸ierelor ce con¸in a a s t imaginile stocate dup˘ formatul respectiv: BMP. DWORD bfType. }BITMAPFILEHEADER. o structur˘ de informa¸ie a imaginii(BITMAPINFO) ¸i codarea pixelilor. În cele a ce urmeaz˘ ne vom referi la formatele RAW(cunoscut ¸i ca IMG). imaginea este baleiat˘ în ordinea normal˘ (începând cu prima linie a a a imaginii. GIF. t reprezentând griuri). Fi¸ierul nu s t a a a s are antet (dimensiunile imaginii fiind deduse din dimensiunea fi¸ierului ce o con¸ine) ¸i s t s nu con¸ine nici tabel de culoare (acesta are toate componentele liniei i egale între ele. semnifica¸iile componentelor sunt date în tabelul 1. s s care este unul dintre cele mai larg recunoscute formate de fi¸iere. t typedef struct tagBITMAPFILEHEADER{ WORD bfType. . ¸i Windows Bitmap -BMP al firmei Microsoft.1. dimensius t t nii ¸i reprezent˘rii fi¸ierului Bitmap independent de dispozitiv (DIB . a t s Antetul de fi¸ier (BITMAPFILEHEADER) con¸ine informa¸ii asupra tipului. Anumite structuri s a a a s a a de fi¸iere au fost impuse de-a lungul timpului de firme produc˘toare de software sau s a de organisme de standardizare.. s s Un fi¸ier BMP4 are trei componente consecutive: un antet de fi¸ier (BITMAPFILEHEADER).Device Independent s a s Bitmap).5 ¸i t a s tabelul de culoare. 4 Denumirile componentelor logice ale fi¸ierului sunt cele standardizate de Microsoft. unul dintre cele mai a s rudimentare formate de fi¸iere imagine.2 Stocarea imaginilor în fi¸iere s Un fi¸ier este entitatea logic˘ de organizare a informa¸iei înscrise pe mediile magnetice s a t de stocare ¸i se compune dintr-un ¸ir de octe¸i. JPG . dac˘ are sau nu o tabel˘ de a a a a culoare ata¸at˘. Pentru stocarea imaginii este necesar s s t ca ace¸ti octe¸i s˘ con¸in˘ informa¸ia aferent˘ pixelilor precum ¸i informa¸ie despre tipul s t a t a t a s t imaginii: dimensiunile acesteia.

8 sau 24 a t a Tipul de compresie utilizat˘: BI_RGB f˘r˘ compresie. DWORD biClrUsed. DWORD biClrImportant. BI_RLE8 a aa sau BI_RLE4 pentru compresie de tip RLE cu cuvinte de respectiv 8 sau 4 bi¸i t biSizeImage Dimensiunea imaginii în octe¸i t biXPelsPerMeter Rezolu¸ia pe orizontal˘ a dispozitivului ¸int˘ (în pixeli pe metru) t a t a biYPelsPerMeter Rezolu¸ia pe vertical˘ a dispozitivului ¸int˘ (în pixeli pe metru) t a t a biClrUsed Num˘rul de culori utilizate în imagine. poate fi 1. 4. în pixeli at Num˘rul de plane de culoare ale dispozitivului de afi¸aj (1) a s Num˘rul de bi¸i cu care se codeaz˘ un pixel. trebuie s˘ con¸in˘ caracterele BM a s a t a Specific˘ lungimea fi¸ierului în DWORD a s Câmp rezervat. dac˘ este 0. DWORD biCompression. } BITMAPINFOHEADER. în pixeli at În˘l¸imea imaginii. DWORD biSizeImage. DWORD biWidth. WORD biPlanes.4: Descrierea câmpurilor structurii BITMAPFILEHEADER Câmp biSize biWidth biHeight biPlanes biBitCount biCompression Descriere Num˘rul de octe¸i ai structurii BITMAPINFOHEADER a t L˘¸imea imaginii. DWORD biHeight.5: Descrierea câmpurilor structurii BITMAPINFOHEADER typedef struct tagBITMAPINFOHEADER{ DWORD biSize. 15 .Câmp bfType bfSize bfReserved1 bfReserved2 bfOffBits Descriere Specific˘ tipul de fi¸ier. toate a a culorile sunt luate în considerare Tabel 1. DWORD biYPelsPerMeter. valoare 0 Câmp rezervat. dac˘ este 0. DWORD biXPelsPerMeter. imaginea a a folose¸te toate culorile disponibile ale paletei s biClrImportant Num˘rul de culori considerate importante. WORD biBitCount. valoare 0 Specific˘ deplasamentul în octe¸i de la sfâr¸tul structurii a t s BITMAPFILEHEADER pân˘ la zona din fi¸ier ce con¸ine pixelii coda¸i a s t t Tabel 1.

verde ¸i albastru ale culorii respective. 4 sau 8. aceast˘ imagine se nume¸te True Color ¸i s s a s s nu mai are un tabel de culoare asociat. imaginea va fi indexat˘ ¸i fi¸ierul con¸ine tabela de culoare a as s t asociat˘ imaginii. ce reprezint˘ componentele de a t a ro¸u. a t dac˘ biBitCount este 1. s typedef struct tagRGBQUAD{ BYTE rgbBlue. Codurile pixelilor se grupeaz˘ pe octe¸i (deci pentru o codare de 4 bi¸i a a t t per pixel. în mod evident. Dac˘ acest˘ t t a t a a a a constrângere nu este respectat˘. s s ¸i un câmp rezervat având valoarea 0. 16 . fiecare octet de cod va corespunde la doi pixeli al˘tura¸i). linia respectiv˘ se completeaz˘ cu num˘rul necesar de a a a a bi¸i (care. BYTE rgbGreen. Codurile (indexurile) a tuturor pixelilor unei linii sunt concatenate. BYTE rgbRed. verde ¸i albastru. BYTE rgbReserved. Denumirea de True Color (culoare adev˘rat˘) a a provine din faptul c˘ num˘rul total de culori ce se pot astfel reprezenta (224 ) dep˘¸e¸te a a as s limita sensibilit˘¸ii umane de discernere a culorilor. at Codarea se face independent pe fiecare linie orizontal˘ a imaginii. ¸i pentru fiecare linie baleiajul este normal (de la stânga s la dreapta).Structura RGBQUAD descrie o culoare prin componentele sale de ro¸u. }RGBQUAD. pentru fiecare pixel se asociaz˘ direct trei octe¸i. Dac˘ biBitCount a t a este 24. Fiecare pixel va fi codat pe biBitCount bi¸i. Codarea t t s imaginii începe cu ultima linie. ¸irul rezultat trebuie s˘ fie multiplu de 32 s a de bi¸i (sau de 4 octe¸i. nu vor fi utiliza¸i la citirea imaginii din fi¸ier). sau s˘ con¸in˘ un num˘r întreg de DWORD’s). Codarea pixelilor se face dup˘ câteva reguli.

calitatea subiectiv˘ a unei a a a imagini poate fi apreciat˘ pe baza contrastului sau accentu˘rii elementelor de contur a a (muchii. t A¸adar criteriile de evaluare ale calit˘¸ii unei imagini sunt subiective ¸i specifice aplica¸iei. margini) ¸i pe baza netezimii în regiunile uniforme. putem distinge mai multe tipuri de opera¸ii t de îmbun˘t˘¸ire: a at 17 . s at s t t a at at În [2] se face analogia opera¸iilor de îmbun˘t˘¸ire a imaginilor cu reglajul tonalit˘¸ii a muzicii ascultate. a a Din punctul de vedere al metodelor utilizate. linii. În general. procesul de îmbun˘t˘¸ire va fi interactiv. Principiul (aproape unanim acceptat) este c˘ îmbun˘t˘¸irea calit˘¸ii unei imagini se face a a at at f˘r˘ a lua în considerare nici o informa¸ie asupra imaginii originale sau asupra procesului aa t de degradare (prin care imaginea nu este suficient de bun˘). opera¸ie denumit˘ în mod clasic filtrare. Filtrarea ce are ca scop t a eliminarea zgomotului va fi studiat˘ în urm˘toarele capitole. frontiere. se vor favoriza componentele înalte sau joase. t sau nici unele.Capitolul 2 ˘ ˘ TIRE A TEHNICI DE ÎMBUNATA¸ IMAGINILOR Îmbun˘t˘¸irea imaginilor este o sintagm˘ general˘ ce se refer˘ la o clas˘ larg˘ de opera¸ii a at a a a a a t al c˘ror scop este m˘rirea detectabilit˘¸ii componentelor imaginii. Ca o consecin¸a. Conform acestui punct a de vedere chiar ¸i o imagine original˘ (nedegradat˘) poate fi îmbun˘t˘¸it˘. s Cre¸terea uniformit˘¸ii regiunilor este îns˘ asimilat˘ elimin˘rii unui eventual zgomot s at a a a suprapus imaginii. dar subiectiv preferabil˘ [18]. transform˘rile t˘ a at a efectuate trebuind s˘ fie validate (cel pu¸in în etapa de proiectare sau prob˘) de c˘tre un a t a a utilizator uman. Percep¸ia vizual˘ de referin¸a este cea a unui expert uman a a a t a t˘ în domeniul aplica¸iei din care provine imaginea. în func¸ie de ascult˘tor. ob¸inând o s a a a at a t imagine falsificat˘. Detectabilitatea coma a at ponentelor este legat˘ mai mult de percep¸ia vizual˘ a unui observator uman decât de o a t a analiz˘ automat˘ cantitativ˘.

atunci 0 T (u) L − 1. • opera¸ii integrale. nu poate fi t a a folosit˘. pentru fiecare pixel al s imaginii. putem g˘si m˘car dou˘ s a t a a a a obiec¸ii (sau contraexemple) la aceast˘ formulare: a t • din punctul de vedere al utilizatorului. prin care se realizeaz˘ o coresponden¸a de tip “unu la unu” între t a t˘ vechea valoare a nivelului de gri ¸i noua valoare a acestuia. prin care noua valoare a nivelului de gri într-un t a pixel este ob¸inut˘ din vechea valoare a pixelului repectiv ¸i din valorile unor pixeli t a s vecini pixelului considerat. Entropia se modific˘ îns˘ la orice transformare ce afecteaz˘ distribu¸ia a a a t nivelelor de gri din imagine. care a s t se refer˘ la afi¸area imaginii folosind o palet˘ de culoare modificat˘. L − 1] În [5] se stabilesc ca necesare condi¸iile ca: t • transformarea T s˘ p˘streze gama admisibil˘ de valori ale imaginii (dac˘ nivelele a a a a de gri au fost reprezentate pe L nivele de cuantizare. De¸i la o examinare superficial˘ afirma¸ia este corect˘. ∀u ∈ [0. în englez˘) ce leag˘ nivelul de gri original de noua sa valoare. Tot în acest˘ categorie vom include ¸i opera¸iile de pseudocolorare.1 Opera¸ii punctuale de modificare a contrastului t Opera¸iile punctuale de modificare a contrastului (numite ¸i transform˘ri ale nivelului de t s a gri) sunt asocieri (mapping. ce prezint˘ un contrast foarte slab (imagini subexpuse sau supraexpuse) [5]. Acesta este cazul imaginilor ob¸inute în condi¸ii a a t t a extreme de iluminare. în care noua valoare a unui pixel este dependent˘ de valorile t a tuturor pixelilor imaginii În acest capitol vom studia doar opera¸iile punctuale ¸i de pseudocolorare. t s Prin îmbun˘t˘¸ire. 2. L − 1]) 18 (2. unei imagini nu i se adaug˘ nici o informa¸ie nou˘ fa¸a de cea ce exista a at a t a t˘ ini¸ial [9] (deci nu se adaug˘ nimic imaginii). chiar dac˘ exist˘. deci este asimilabil nul˘. • din punctul de vedere al teoriei informa¸iei. a s a a • opera¸ii locale (sau de vecin˘tate).1) . informa¸ia. u ∈ [0. informa¸ia din imagine poate fi asimilat˘ t t a entropiei procesului aleator ale c˘rui realiz˘ri particulare sunt valorile de gri ale a a pixelilor. a a O asemenea asociere nu este altceva decât o func¸ie: t v = T (u). ci doar este prezentat altfel con¸inutul ini¸ial t a t t al acesteia.• opera¸ii punctuale.

iar al˘turat imaginea ob¸inut˘ cu o modificare liniar˘ pe por¸iuni t a t a a t 19 .i++) for (j=0. Rezultatul aplic˘rii unei asemenea opera¸ii punctuale se ob¸ine modificând a t t valoarea (nivelul de gri) fiec˘rui pixel al imaginii ini¸iale. în figura 2.impuse de defini¸ia de tip “acolad˘” . fie noile valori ale contrastului se calculeaz˘ a de la început pentru toate nivelele de gri posibile (între 0 ¸i L−1) ¸i apoi aceste modific˘ri s s a a a a a se aplic˘ imaginii. Aceste dou˘ puncte de control.i<NRLIN.gri_vechi<L.2) 2 −T  L−1−β β + L−1−T2 (u − T2 ) . L − 1) vor defini cele trei segmente de dreapt˘ ce apar în s a formula (2. parametrii de control sunt T1 .gri_vechi.gri_vechi++) gri_nou[gri_vechi]=alfa*gri_vechi/T1. T1 ≤ u < T2 v= (2. gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int)). baleind imaginea. 0 ≤ u < T1 α + Tβ−α1 (u − T1 ) . Transformarea poate fi f˘cut˘ în dou˘ moduri: fie se repet˘ calculele de la a a a a (2.j++) imagine_noua[i][j]=gri_nou[imagine_veche[i][j]].2).1. for (gri_vechi=0.j<NRCOL.α) ¸i (T2 .• transformarea T s˘ fie monoton˘ (cresc˘toare sau descresc˘toare) pentru a p˘stra a a a a a ordinea între nivelele de gri 2. Vom prezenta în cele ce urmeaz˘ un exemplu. 0) ¸i (L − 1.i. Codul C urm˘tor implementeaz˘ a doua variant˘ de calcul. T2 . for (i=0.gri_vechi++) gri_nou[gri_vechi]=beta+(L-1-beta)*(gri_vechi-T1)/(L-1-T2).1 este prezentat˘ pe de o parte a a imaginea original˘ “lena” (una dintre fotografiile impuse ca standard de fapt în raportarea a rezultatelor ob¸inute).gri_vechi++) gri_nou[gri_vechi]=alfa+(beta-alfa)*(gri_vechi-T2)/(T2-T1).β). α ¸i β.gri_vechi<T2.1 Modificarea liniar˘ a contrastului a Cea mai des folosit˘ tehnic˘ de modificare liniar˘ a contrastului este o transformare liniar˘ a a a a pe por¸iuni. T2 ≤ u < L În formula anterioar˘.alfa. dat˘ de: t a  α  T1 u.prin t t a separarea domeniilor de calcul în trei cicluri). unsigned int T1.j. for (gri_vechi=T2. u. ace¸tia sunt grupa¸i a s s t câte doi. care este mai rapid˘ (calculele nivelelor de gri au fost separate de ciclul de baleiere al imaginii ¸i a s au fost eliminate structurile condi¸ionale if . for (gri_vechi=T1. definind punctele (T1 . ceea ce creaz˘ posibilitatea folosirii unui num˘r de nivele a a de gri mai mare de 256 (pentru care ar fi fost suficient un unsigned char).beta. Trebuie remarcat˘ de asemenea definirea a nivelului de gri ca unsigned int. ob¸inând noul a t t nivel de gri v. conform (2.gri_vechi<T1.2) pentru fiecare pixel. împreun˘ cu s a a punctele fixe (0.2).T2.

a t Fig. Pentru a putea prevedea deci efectele unei opera¸ii de îmbun˘t˘¸ire de tipul prezentat asupra contrastului este deci suficient˘ t a at a studierea diferen¸elor de nivele de gri între o aceea¸i pereche de pixeli înainte ¸i dup˘ t s s a a a a a efectuarea transform˘rii.1: Imagine original˘ ¸i imagine cu contrastul modificat as Fig.20).200). 2. determinat˘ de parametrii T1 = 30. În figura a 2. 2.255) Vizibilitatea componentelor scenei este în general determinat˘ în cea mai mare parte de a contrastul zonei din imagine. definit˘ de punctele (0.2 este prezentat˘ func¸ia de transformare a nivelelor de gri (T (u)).a contrastului. (30. α = 20. este posibil ca pixelii s˘ aib˘ nivelul de gri original diferit cu doar o unitate (cuanta minim˘). (100. T2 = 100.2: Îmbun˘t˘¸ire liniar˘ pe por¸iuni. a at a t a (255.0). contrastul este o m˘sur˘ propor¸ional˘ cu diferen¸a dintre a a t a t luminozitatea anumitor pixeli (nivelul lor de gri). La limit˘. β = 200. ¸i atunci modificarea contrastului va fi dat˘ a s a 20 .

3: Imagine original˘ ¸i imagine binarizat˘ cu pragul 125 as a Dac˘ T 1 = T 2 ¸i α = 0.2. iar s pe intervalele [0. având valoarea egal˘ cu panta segmentului de dreapt˘. În func¸ie de alegerea celor patru parametri.100] (deci a aa s griuri închise) este vizibil în zona penei de p˘l˘rie.4) C= T2 −T  L−1−β 1 . a Pentru func¸ia liniar˘ pe por¸iuni este evident c˘ derivata va fi constant˘ pe acelea¸i t a t a a s intervale. dac˘ din contr˘. panta dreptei este s supraunitar˘.dac˘ u ∈ [T1 . adic˘ de derivata func¸iei de transformare: t a t C= ∆v T (u2 ) − T (u1 ) dT (u) = = = T (u) ∆u u2 − u1 du (2. atunci diferen¸a între nivelele al˘tua a a a t a as a a rate de gri se mic¸oreaz˘ ¸i deci contrastul scade. 2. se pot ob¸ine câteva cazuri particulare de t t interes ce poart˘ denumiri specifice.3) Dac˘ pe un interval aceast˘ pant˘ este subunitar˘. L − 1] a L−1−T2 Fig. în imaginea rezultat˘ nu exist˘ decât alb ¸i negru (figura 2. în transformarea din figura 2. diferen¸a dintre nivelele de gri al˘turate se m˘re¸te ¸i contrastul va cre¸te. Aceste efecte sunt u¸or vizibile pe imas s ginile din figura 2. pe intervalul [30.100] contrastul cre¸te. ale c˘rei detalii sunt acum mult mai aa a sesizabile. T1 ] a  T1 β−α .1: de exemplu sc˘derea contrastului pentru nivelele de gri de la cap˘tul a a superior al gamei admise (dinspre alb) se observ˘ prin dispari¸ia detaliilor luminoase din a t imagine (panglica lat˘ de la p˘l˘rie).4). toate a a s 21 . a a  α . T2 ] a (2.30] ¸i [100.255] contrastul scade.3). β = L − 1. dac˘ u ∈ [0.de diferen¸a valorilor transformate. se ob¸ine pr˘guirea sau binarizarea (“thresholding”) a s t a (vezi figura 2. dac˘ u ∈ [T2 . a t a a s s s Spre exemplu. cre¸terea contrastului pe intervalul [30.

fie cu negru. Fig.5) pentru intervalul [T1 . T2 ]. În urma acestei transform˘ri. 2.5: Transformarea de întindere maxim˘ a contrastului a 22 . Nivelele de gri care se g˘sesc în afara a acestui interval vor fi înlocuite fie cu alb. 2. contrastul este maximizat la nivelul a întregii imagini.nivelele de gri ini¸iale a c˘ror valoare era mai mic˘ decât T1 fiind negre ¸i toate nivelele t a a s de gri ini¸iale mai mari ca T1 devenind albe. aceasta este ¸i una dintre tehnicile cele mai a s simple de segmentare. Dup˘ cum se va vedea la capitolul de t a segmentare orientat˘ pe regiuni (capitolul 8). Fig.4: Transformarea de binarizare Dac˘ α = 0 ¸i β = L − 1 se ob¸ine opera¸ia de întindere maxim˘ a contrastului (contrast a s t t a streching) (vezi figura 2.

0) ¸i (L − 1.2 Modificarea neliniar˘ a contrastului a Principalul dezavantaj al tehnicii liniare pe por¸iuni prezentate este faptul c˘ modificarea t a contrastului este aceea¸i pe un întreg interval de nivele de gri. a Exist˘ îns˘ ¸i o variant˘ la care se mai adaug˘ un punct fix (T. T ). Trebuie remarcat c˘ legile de varia¸ie t a t ale contrastului vor fi îns˘ diferite. T ] a L−1−u r a L − 1 − (L − 1 − T ) L−1−T . m˘rindu-se la cap˘tul supea a rior (alb) ¸i mic¸orându-se la cap˘tul inferior (negru). at O prim˘ variant˘ este compandarea domeniului [9]. a a cunoscute sub numele de legea A în Europa ¸i legea µ în America). L − 1): s v = T (u) = L−1 lg(1 + u) lg L (2. ¸i deci având o alur˘ a s a exponen¸ial˘: t a eu − 1 v = T (u) = (L − 1) L−1 (2. ¸i nu este posibil˘ o s s a modificare neuniform˘ a contrastului pe întregul interval de nivele de gri sau în jurul a unui anume nivel de gri. func¸ia devenind cu a as a a t dou˘ intervale de defini¸ie: a t v = T (u) = u T T .7) Dup˘ valorile parametrului-putere r se pot ob¸ine dou˘ comport˘ri diferite: pentru r < 1 a t a a comportarea este de acela¸i tip cu al func¸iei de compandare logaritmice. L − 1] r (2. m˘rindu-se la cap˘tul inferior a a (negru) ¸i mic¸orându-se la cap˘tul superior (alb).2. iar pentru r > 1 s t comportarea este de tipul func¸iei de expandare. dac˘ u ∈ [T. care a a a r˘mâne [0. O prim˘ s a a variant˘ este func¸ia putere: t v = T (u) = (L − 1) u L−1 r (2. a Alte transform˘ri neliniare pot fi ob¸inute prin folosirea unor func¸ii de tip putere. ¸i a t t s acestea au nivelele de gri extreme ca puncte fixe ((0.5) Contrastul va varia neuniform de-a lungul scalei de gri.1.6) e −1 Contrastul va varia neuniform de-a lungul scalei de gri. În mod reciproc se poate defini exs s a pandarea domeniului. Termenii de compandare ¸i de s s a s expandare au fost da¸i prin asem˘nare cu transform˘rile folosite în teoria cod˘rii ¸i cuant a a a s tiz˘rii (ce intervin în metodele de cuantizare a semnalului vocal pentru telefonia digital˘. Tehnicile neliniare au aceste propriet˘¸i. ca transformare invers˘ celei de compandare. 0) ¸i (L − 1. L − 1]. L − 1)). t a 23 .6. Trebuie îns˘ subliniat s a c˘ în prelucrarea imaginilor aceste transform˘ri nu afecteaz˘ domeniul de valori. definit˘ de o curb˘ logaritmic˘ ¸i cu a a a a as punctele fixe (0. dac˘ u ∈ [0.8) Func¸ia are o alur˘ de tipul celei prezentate în figura 2.

7. 2. în cadrul opera¸iilor punctuale de îmbun˘t˘¸ire a imaginilor sunt prezentate ¸i t a at s opera¸ii aritmetice simple. cu trei puncte fixe a În [9].9) Efectul acesteia de modificare a contrastului se bazeaz˘ doar pe caracteristicile sistemua t lui vizual uman. 2.Fig. dar de mai mic˘ semnifica¸ie practic˘) sunt repret a t a 24 . ca de exemplu negativarea. respectiv fundalului. pentru care contrastul depinde de diferen¸a de luminozitate între pixeli t a t apar¸inând unui obiect. raportat˘ la luminan¸a medie a fundalului.6: Modificare neliniar˘ a contrastului. a Fig. Negativarea este descris˘ de: t a v = T (u) = L − 1 − u (2. O categorie aparte de aplica¸ii în care sunt utile asemenea inversiuni este analiza imagit nilor medicale. care pentru o analiz˘ automat˘ trebuiesc inversate. un astfel de exemplu a a este imaginea angiografic˘ din figura 2.7: Imagine original˘ ¸i negativat˘ (dintr-o aplica¸ie medical˘) as a t a Alte opera¸ii posibile (tratate în [9].

alfa. afi¸area s a a a a s nu se va mai face cu culoarea a c˘rei componente sunt toate egale cu indexul (nivelul de a gri). Aceasta înseamn˘ c˘ pentru anumite nivele de gri.gri_vechi++) gri_nou[gri_vechi]=alfa*gri_vechi/T1. Spre exemplu. for (gri_vechi=0. Ideea de baz˘ în pseudocolorare este de a folosi culori pentru a pune în eviden¸a zone a t˘ de interes din imagini cu nivele de gri (exist˘ ¸i varianta color˘rii false .(color) gri_nou[gri_vechi]). s t a 25 .gri_vechi<T1. codul t s a modific˘rii neliniare de contrast devine: unsigned int T1.gri_vechi<L. Ultima bucl˘ for a codului modific˘ paleta de culoare pentru fiecare index (intrare) a a a acesteia.zentarea planelor de bit (pentru fiecare pixel al imaginii. Acest˘ idee este normal˘ dac˘ se are în t s a a a vedere faptul c˘ ochiul (sistemul vizual) uman distinge ceva mai pu¸in de 256 nuan¸e de a t t gri. for (gri_vechi=T2. dar cu un contrast mult mai a a pronun¸at ¸i artificial între elementele sale). for (gri_vechi=T1. Remarca¸i cast-ul (schimbarea de tip) la tipul t color. as a care transform˘ o imagine color într-o alt˘ imagine color.gri_vechi++) setpalette(gri_vechi. de¸i diferen¸iaz˘ câteva milioane de culori [9].imaginea rezultat˘ con¸inând obiectele de interes pe s a a t fond negru) ¸i transformarea de t˘iere slicing (care transform˘ nivelele de gri dintr-un s a a interval fixat în alb ¸i tot restul în negru.gri_vechi++) gri_nou[gri_vechi]=alfa+(beta-alfa)*(gri_vechi-T2)/(T2-T1). for (gri_vechi=0. conform noilor valori calculate.beta.gri_vechi<T2.gri_vechi. func¸ia v = T (u) nu este altceva decât o func¸ie de t t construc¸ie a unei noi palete de culoare pentru aceea¸i imagine. transformarea de lipire clipping (care p˘streaz˘ nemodificate nivelele de gri dintr-un anumit a a interval ¸i le anuleaz˘ pe celelalte .gri_vechi++) gri_nou[gri_vechi]=beta+(L-1-beta)*(gri_vechi-T1)/(L-1-T2). Acest˘ defini¸ie acoper˘ îns˘ ¸i cazul opera¸iilor de modificare a a t a as t a contrastului prezentate anterior.false coloring. s 2. gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int)). fiecare bit al reprezent˘rii binare a a nivelului de gri este considerat ca valoarea unui pixel al unei imagini binare). nu este altceva decât un alt tip de binarizare). acesta este inserat mai mult ca o m˘sur˘ de aten¸ionare: culoarea (deci variabila de a a t tip color) trebuie ob¸inut˘ din scalarul nivel de gri în conformitate cu regulile de descriere t a a culorilor valabile în respectivul mod grafic.T2.gri_vechi<L.2 Pseudocolorarea Pseudocolorarea este o tehnic˘ de îmbun˘t˘¸ire a vizibilit˘¸ii anumitor componente ale a a at at imaginii (sau a imaginii în ansamblu) prin modificarea paletei de culoare cu care imaginea este afi¸at˘ (reprezentat˘). ci cu o alt˘ culoare.

calculul histogramei unei imagini înseamn˘ parcurgerea a punct cu punct a imaginii ¸i contorizarea num˘rului de nivele de gri întâlnite.10) Din punct de vedere statistic. dup˘ care redu curentul pân˘ când culoarea ro¸ie dispare.. M−1 N−1 m=0 n=0 h(i) = 1 MN δ(i − f(m. s a a s Rezultatul acestei tehnici simple au fost mii de imagini digitizate corect. t Fiind o func¸ie de densitate de probabilitate. putem considera valoarea fiec˘rui pixel al imaginii ca o a a a realizare particular˘ a unei variabile aleatoare asociat˘ nivelelor de gri. histograma oric˘rei imagini verific˘ condi¸ia t a a t L−1 de normare i=0 h(i) = 1. care o utilizeaz˘ adesea în demonstra¸iile produselor [software]. Pres a supunând L nivele de gri posibile în imaginea de dimensiuni NRLIN ¸i NRCOL. În final merit˘ poate amintit˘ remarca (destul de acid˘) din [2]: a a a “De¸i prin natura sa este un detaliu al tehnicilor de afi¸are. la începuturile t a a a erei digitale în tehnicile de achizi¸ie a imaginilor.O aplica¸ie interesant˘ a pseudocolor˘rii este prezentat˘ în [2]. histograma este definit˘ (2. a t s Atunci instruc¸iunile pentru operator erau: cre¸te curentul prin lamp˘ (iluminarea) pân˘ t s a a când în imagine apare ro¸u. pseudocolorarea s s a fost adesea glorificat˘ prin termeni ca prelucrare prin pseudocolorare sau a analiz˘ prin pseudocolorare. Din punct de vedere practic. pentru care iluminarea era reglat˘ manual.L − 1 (2. 1. La NASA. unde s-a inserat ro¸u. codul s 26 . Pseudocolorarea r˘mâne un accesoriu favorit al a a vânz˘torilor. era necesar˘ digitizarea unor imagini de t a microscopie.10) este func¸ia de densitate de probabilitate a acestei variabile aleatoare. pân˘ la o vizibilitate maxim˘ a a a a tuturor detaliilor. n)) . i = 0. . la afi¸area în timp real a imaginii achizi¸ionate pe monitoarele de s t control. a a t deoarece poate stârni interesul în ochii clien¸ilor mult mai repede decât orice t alt˘ metod˘ de afi¸are cunoscut˘. caz în care histograma (2.10) s a ca probabilitatea (frecven¸a relativ˘) de apari¸ie în imagine a diferitelor nivele de gri t˘ a t posibile. paleta de griuri a fost modificat˘ pe ultima pozi¸ie (alb).3 Opera¸ii de contrastare bazate pe histograma imat ginii Pentru o imagine f de M × N pixeli ¸i L nivele de gri. Pentru c˘ operatorul nu putea distinge clar ¸i precis care era iluminarea a s cea mai potrivit˘ (care nici nu producea suprailuminare ¸i nici nu l˘sa umbre mai mari a s a decât era necesar).. Cercet˘rile mele au adus la lumin˘ o list˘ a a s a a a a dureros de scurt˘ a aplica¸iilor demonstabil productive a pseudocolor˘rii” a t a 2.

Ceea a t a ce rezult˘ în final difer˘ de histograma descris˘ de (2. histo=(unsigned int*)malloc(L*sizeof (unsigned int)). În Matlab.urm˘tor aloc˘ pentru fiecare nivel de gri posibil câte un unsigned int.i++) histo[i]=0. implementarea oric˘rei func¸ii este cu atât mai eficient˘ (din punctul de vedere a t a al timpului de rulare) cu cât sunt evitate structurile repetitive (în particular buclele for).i<NRLIN. este evident c˘ a a valorile ob¸inute pot fi normate pentru a ob¸ine o func¸ie de densitate de probabilitate t t t prin împ˘r¸irea cu NRLIN*NRCOL ¸i definirea histogramei ca fiind format˘ din real sau at s a float. Pentru fiecare punct al imaginii se a t incrementeaz˘ pozi¸ia din histogram˘ ce corespunde valorii de gri din acel pixel.10) prin constanta de normare a a a “num˘rul total de puncte ale imaginii” (deci M N sau NRLIN*NRCOL). for (i=0.j++) histo[imagine[i][j]]++.j<NRCOL. end Func¸ia find (func¸ie standard a pachetului Matlab) returneaz˘ pozi¸iile (indicii) la care t t a t este g˘sit˘ valoarea i în matricea imagine (adic˘ întoarce pozi¸iile punctelor ce au valoarea t a a a i). La majoritatea imaginilor exist˘ o distribu¸ie neuniform˘ a a t a nivelelor de gri.i++) for (j=0. se alege varianta care implic˘ repetarea a minim˘ a cicl˘rii: a a histo=zeros(1. iar func¸ia s t a a find este rapid˘. % histo(i)=length(p)/prod(size(imagine)). histo(i)=length(p). Normarea histogramei se poate a s a face f˘r˘ a modifica declara¸iile de definire a structurilor (pentru Matlab este indiferent aa t dac˘ se stocheaz˘ întregi sau numere cu parte zecimal˘). Cum.i<L. fiind o func¸ie precompilat˘.8). ciclarea nu poate fi evitat˘ (deci trebuie parcurse fie a toate punctele imaginii. ce va contoriza a a num˘rul de apari¸ii ale nivelului de gri respectiv.L). pentru calculul histogramei. num˘rând aceste puncte (deci calculând lungimea vectorului în care sunt stocate) se a g˘se¸te num˘rul de puncte ce au respectivul nivel de gri. exist˘ nivele de gri predominante ¸i exist˘ nivele de gri folosite pu¸in sau a s a t 27 . Acest˘ structur˘ este mai rapid˘ a a a a a a decât cea prin care se parcurgea toat˘ imaginea deoarece se folose¸te o singur˘ bucl˘ de a s a a lungime L (¸i nu dou˘ bucle imbricate. a t a Histograma imaginii ofer˘ informa¸ii asupra plasamentului în “nuan¸a” a con¸inutului a t t˘ t imaginii (vezi figura 2. for i=1:L p=find(imagine==i). de lungime total˘ NRLIN*NRCOL). for (i=0. fie toate nivelele de gri).

Func¸ia de densitate de probabilitate fX (x) este histograma [normat˘] a imaginii t a x iar func¸ia de transformare devine y = g(x) = t 0 fX (t)dt. y) legate prin Y = g(X). Opera¸iile de îmbun˘t˘¸ire a imaginilor (pentru îmbun˘t˘¸irea percep¸iei vizuale) t a at a at t au ca scop redistribuirea nivelelor de gri. distribuit a a at regulat în întreaga gam˘ dinamic˘ a nivelelor de gri.8: Imagine cu nivele de gri ¸i histograma acesteia s Scopul egaliz˘rii de histogram˘ este deci ob¸inerea unei distribu¸ii uniforme a nivelelor de a a t t gri. variabila aleatoare X ia valori naturale . integrala se transform˘ în sum˘ ¸i acest˘ form˘ nu este altceva decât a as a a 28 . Tinând seama c˘ valorile de ¸ a gri sunt discrete. astfel ca acestea s˘ ocupe întreaga gam˘ de a a varia¸ie disponibil˘. 2. Considerând variabilele aleatoare a t t X(ξ.nivelele de gri. −∞ Pentru cazul particular al imaginilor. Rezolvarea acestei ecua¸ii produce solu¸ia y = g(x) = t t x fX (t)dt. [18]. a a egalizarea de histogram˘ înseamn˘ transformarea unei distribu¸ii oarecari (descris˘ de hisa a t a tograma imaginii ini¸iale) într-o distribu¸ie uniform˘. Din punct de vedere matematic. atunci înseamn˘ c˘ vom t a a a 1 avea (g −1 (y)) = k fX (g −1 (y)). imaginea rezultat˘ va prezenta cea mai mare îmbun˘t˘¸ire a contrastului. în mod uniform: aceasta este egalizarea de histogram˘ [9]. atunci între func¸iile de densitate de probabilitate s t a celor dou˘ variabile aleatoare exist˘ rela¸ia [16]: a a t fY (y) = fX (x) 1 |x=g−1 (y) (g −1 (y)) Dac˘ dorim ca func¸ia de densitate de probabilitate fY (y) s˘ fie uniform˘ (în condi¸iile a t a a t în care func¸ia de densitate de probabilitate fX (x) este dat˘). x) ¸i Y (ξ.deloc. t a a Fig.

for (i=0. ce se poate deduce imediat din (2. Trebuie remarcat c˘ modul de calcul al histogramei cumulative este de tip iterativ. Mai trebuie de asemenea remarcat c˘ se folose¸te o histogram˘ nenormat˘. a bazându-se pe formula H(x) = H(x − 1) + h(x). histo_cum[0]=histo[0].i<L. Ceea ce se remarc˘ a s s a cu u¸urin¸a este diferen¸a dintre histograma ob¸inut˘ ¸i histograma perfect uniform˘ s t˘ t t a s a dorit˘. histo_cum=(unsigned int *) malloc (L*sizeof(unsigned int)).i++) gri_nou[i]=round((histo_cum[i]-histo_cum[0])*(L-1)/(tot-histo_cum[0])). Unul dintre efectele secundare notabile este introducerea de nivele de gri lips˘ în a a histograma egalizat˘ (aspectul “în pieptene” al acesteia). ceea ce t a duce la deducerea formulei care exprim˘ noile valori de gri: a v= H(u) − H(0) (L − 1) + 0. a s a a gri_nou=(unsigned int *) malloc (L*sizeof(unsigned int)).11). for (i=1.11) Valorile func¸iei trebuie îns˘ redistribuite în intervalul permis de valori de gri.9).5 M N − H(0) (2.12) O variant˘ de cod care realizeaz˘ egalizarea de histogram˘ este prezentat˘ în continua a a a are. atunci a a x g(x) = H(x) = i=0 h(i) (2. precum ¸i histogramele originale ¸i egalizate (figura 2.i++) histo_cum[i]=histo_cum[i-1]+histo[i]. Figurile urm˘toare prezint˘ o imagine original˘ (“lena”) ¸i rezultatul egaliz˘rii de hisa a a s a togram˘. dac˘ h este histograma imaginii. a Imagine original˘ a Imagine dup˘ egalizarea de histogram˘ a a 29 .i<L. tot=NRLIN*NRCOL.histograma cumulativ˘ a imaginii.

a O ultim˘ remarc˘ se poate referi la validitatea introducerii tehnicilor de îmbun˘t˘¸ire a a a a at histogramei în categoria de opera¸ii punctuale.9: Histograma imaginii “lena”. t 30 . noile valori de gri ale fiec˘rui punct sunt calculate pe a s a a baza histogramei imaginii. înainte ¸i dup˘ egalizare s a Alte variante de egalizare a histogramei [18] folosesc histograme modificate ale imaginii (prin contabilizarea doar a anumitor pixeli) sau limiteaz˘ amplitudinea vârfurilor hisa togramei. redistribuind uniform pixelii în exces.800 600 400 200 0 0 50 100 150 200 250 300 Fig. deci pe baza unei m˘suri ce ia în calcul valorile din întreaga a imagine. [5]. 2. din acest punct de vedere. aceast˘ metod˘ este denumit˘ specificare a a a a a de histogram˘ [9]. egalizarea de histogram˘ poate fi inclus˘ în categoria a a opera¸iilor integrale. Majoritatea autorilor consider˘ c˘ orice t a a opera¸ie care este echivalent˘ cu modificarea paletei de culoare a imaginii este o opera¸ie t a t punctual˘. În acela¸i timp îns˘. Tehnica de egalizare a histogramei poate fi extins˘ prin realizarea unei histograme de a form˘ impus˘ (dar oarecare) a imaginii rezultat.

(1. doi scalari a1 ¸i a2 ¸i operatorul liniar L avem at a s s s L(a1 f1 + a2 f2 ) = a1 L(f1 ) + a2 L(f2 ) (3. to¸i coeficien¸ii vor avea valoarea 1/9 ¸i masca de filtrare W t t s va fi: W = {(0. (0. n − l) 9 k=−1 l=−1 31 1 1 (3. n − l) (3. −1). Filtrarea se cheam˘ liniar˘ pentru c˘ opera¸ia verific˘ principiul superpozi¸iei a a a t a t (liniarit˘¸ii): pentru dou˘ imagini f1 ¸i f2 . Spre exemplu. Pentru acest caz particular. n) = f (m − k. 0). Scalarii wkl sunt ata¸a¸i pozi¸iilor (k.Capitolul 3 ˘ FILTRAREA LINIARA A IMAGINILOR Odat˘ cu opera¸iile de filtrare liniar˘. centrat˘ în pixelul a a a a a curent. (−1. −1). l) din fereastra de filtrare s t t ¸i poart˘ numele de coeficien¸i ai filtrului. pentru acest caz. 1)}.1) Opera¸ia de filtrarea liniar˘ calculeaz˘ noua valoare a unui pixel al imaginii (din pozi¸ia t a a t (m. (−1. (−1. 1). (1. descris˘ ca o mul¸ime de puncte din spa¸iul a s a a a t t cartezian. 0). 1). cât a t ¸i de valorile unui num˘r de alte puncte vecine (nu neap˘rat topologic) punctului curent s a a de calcul. o masc˘ simpl˘ de mediere este s a t a a media aritmetic˘ a valorilor dintr-o vecin˘tate p˘trat˘ de 3 x 3 pixeli. (0. n) = (k. (1.2) devine: v(m. n)) ca o combina¸ie liniar˘ (medie ponderat˘) a unui num˘r de valori din imaginea t a a a original˘: a wkl f (m − k. în coordonate relative (deci în alt sistem de coordonate decât sistemul de coordonate a imaginii). expresia (3.2) v(m. W este numit˘ masc˘ sau a a a fereastr˘ de filtrare ¸i este o form˘ plan˘.3) . se începe studiul operatorilor de vecin˘tate: opea t a a ratorii al c˘ror rezultat depinde atât de valoarea punctului în care au fost aplica¸i.l)∈W W este vecin˘tatea punctului curent în care se face calculul. 0). −1).

O alt˘ variant˘ de evitare a efectelor de margine este bordarea (completarea) imaginii la capete cu câte o linie ¸i o coloan˘ cu valori nule.) . Aceast˘ sum˘ de produse se calculeaz˘ pentru fiecare punct al imaginii. Descrierea algoritmului nu este îns˘ altceva decât descrierea plastic˘ a a a unei opera¸ii de convolu¸ie bidimensional˘.Formula de defini¸ie (3. Acela¸i lucru se poate exprima ¸i prin specificarea s s 9 9 9   1/9 1/9 1/9 matricial˘ a m˘¸tii de filtrare ¸i marcarea originii acesteia. Calculul valorilor pixelilor din imaginea filtrat˘ s-a f˘cut decupând câte un rând a a ¸i o coloan˘ de la extremit˘¸ile imaginii originale (pentru a evita efectele de margine. De s a asemenea.n+1) + f (m.i<NRLIN. img_out=(int**)malloc(NRLIN*sizeof(int*)). având originea în centru a a a (deci fiind p˘trate de dimensiuni impare: 3 x 3.n−1) + f (m. desf˘¸urat. prin conven¸ie. astfel încât indicele minim s˘ fie 0.n) + f (m+1. în care. ca W =  1/9 1/9 1/9 . 5 x 5. masca de filtrare t t a t este considerat˘ nucleul de convolu¸ie.n−1) + f (m+1. Se remarc˘ alocarea static˘ a coeficien¸ilor w ai filtrului a a t (numere reale) ¸i alocarea dinamic˘ a imaginii rezultat (considerat˘ aici ca având valori s a a întregi).n) f (m+1. într-o anumit˘ pozi¸ie a acesteia a a a a valorile selectate din imagine sunt valorile punctelor ce se “v˘d” prin apertur˘).de tipul celei prezentate a în exemplul anterior. v(m. acestea fiind completate în imaginea rezultat a a a prin copierea valorilor originale. etc. se poate constata c˘ în expresia de calcul efectiv indicii tabelului de coeficien¸i a t ai m˘¸tii au fost deplasa¸i. a as s 1/9 1/9 1/9 .n+1) + a as 9 9 9 9 9 9 f (m+1. Deplasarea m˘¸tii (ferestrei de filtrare) a condus a t as la adoptarea denumirii de tehnic˘ a ferestrei glisante. aplicarea acesteia se poate descrie a simplu: • se plaseaz˘ originea ferestrei de filtrare (pe rând) în fiecare punct al imaginii ¸i se a s selecteaz˘ punctele imaginii situate în interiorul ferestrei (putem imagina fereastra a t de filtrare ca fiind o apertur˘ într-o plac˘ opac˘. a a a a deplasând masca. Codul care urmeaz˘ exemplific˘ aceast˘ cea mai simpl˘ filtrare.n+1) + + . cu un t a a a a nucleu de dimensiune 3 x 3. a a t s t Cele mai simple ferestre de filtrare sunt cele de form˘ p˘trat˘. f˘când referin¸a la opera¸ia s a t˘ t de convolu¸ie).n) + f (m.n−1) f (m+1. ¸i nu negativ.i++) 32 adic˘. Fereastra de filtrare este deci definit˘ de form˘ (mul¸imea W ) ¸i valori (coeficien¸ii wkl ).2) nu este altceva decât suma produselor punct cu punct a cot eficien¸ilor m˘¸tii ¸i a valorilor pixelilor imaginii din zon˘ de imagine peste care a fost t as s a suprapus˘ masca. as t a s real w[3][3]. Fereastra de filtrare are în general o dimensiune mult mai mic˘ a decât dimensiunile imaginii (mai sunt numite ¸i nuclee mici. for (i=0. n) = f (m+1. a a • pentru fiecare pozi¸ie se face suma produselor punct cu punct coeficient masc˘ t a valoare pixel. în s a at care masca “debordeaz˘” în afara imaginii).

j++) img_out[i][j]=round(w[1][1]*img[i][j]+w[1][0]*img[i][j-1]+ w[1][2]*img[i][j+1]+w[0][1]*img[i-1][j]+w[0][0]*img[i-1][j-1]+ w[0][2]*img[i-1][j+1]+w[2][1]*img[i+1][j]+w[2][0]*img[i+1][j-1]+ w[2][2]*img[i+1][j+1]). În a t figurile urm˘toare se prezint˘ efectul unei opera¸ii de mediere cu un nucleu de 7 x 7: se a a t a a as t a remarc˘ faptul c˘ imaginea rezultat este mai neclar˘ ¸i ce¸oas˘ (efect de blur) ¸i c˘ toate s a contururile au devenit mai vagi. atât fa¸a de dimensiunile imaginii cât a a t˘ ¸i fa¸a de dimensiunile ferestrei de filtrare.img_out[i]=(int*)malloc(NRCOL*sizeof(int)). img_out[NRLIN-1][i]=img[NRLIN-1][i].i<NRLIN. care necesit˘ doar 18 opera¸ii pentru fiecare pixel).i<NRCOL. Imagine original˘ a Rezultatul unei filtr˘ri de mediere a 33 . Pentru o imagine p˘trat˘ de dimensiune N ¸i o masc˘ de filtrare p˘trat˘ de dimensiune a a s a a a n.i++) for (j=1.i<NRLIN-1. Aceasta duce la constrângerea practic˘ de a s t˘ a folosi ferestre de filtrare cât mai mici (¸i de a încerca descompunerea ferestrelor mari de s filtrare într-o succesiune de ferestre mai mici .spre exemplu o filtrare cu un nucleu de 5 x 5. for (i=0.j<NRCOL-1.i++) { img_out[i][0]=img[i][0]. care ar necesita 25 de opera¸ii pentru fiecare pixel.} for (i=0. poate fi echivalat˘ cu dou˘ filtr˘ri t a a a succesive cu nuclee de 3 x 3 pixeli. adic˘ complexitatea de calcul este O[N 2 ]. num˘rul de opera¸ii necesare unei filtr˘ri liniare este de N 2 n2 înmul¸iri ¸i N 2 (n2 − 1) a t a t s adun˘ri.} for (i=1.i++) { img_out[0][i]=img[0][i]. img_out[i][NRCOL-1]=img[i][NRCOL-1].

7) n=1 m=1 34 . pentru un zgomot de medie nul˘ a (a¸a cum este zgomotul alb gaussian aditiv) puterea este identic˘ cu varian¸a. m)| (3. m)) 2 NM P SN R = 10 log N M max f (n.SNR) (3. m) dB 2 SN R = 10 log N n=1 m=1 M (3. a t a M˘surile de calitate folosite pentru a caracteriza în mod obiectiv calitatea unei imagini a (sau rezultatul unei prelucr˘ri) sunt extensii bidimensionale ale m˘surilor de calitate a a folosite pentru caracterizarea semnalelor unidimensionale.5). rapoartele de calitate cele mai a utilizate sunt: raportul semnal zgomot (Signal to Noise Ratio .m dB 2 (3. m) n. n) − f (n.6) (3.4) n=1 m=1 (g(m.3.7).PSNR) (3. N M f 2 (n. varian¸a este redus˘ de n ori (ai = n ). eroare p˘tratic˘ medie a a (Mean Squared Error .MSE) (3. Aceasta înseamn˘ c˘ se elimin˘ micile diferen¸e dintre at a a a t valorile pixelilor apar¸inând unei aceleia¸i regiuni (zone cu intensitate luminoas˘ relativ t s a constant˘). Deci.6) ¸i eroarea medie absolut˘ (Mean Absolute Error s a MAE) (3. n) − f (n. n) − f(n. n) − f (n. varian¸a noii variabile aleatoare este propor¸ional˘ cu varian¸a t t a t n i=1 variabilei aleatoare din care au provenit realiz˘rile particulare: σ 2 = a y a2 σ 2 . Acesta este fundamentul metodelor de reducere a zgomotului alb aditiv a gaussian (normal) suprapus imaginii: un asemenea zgomot ce afecteaz˘ o regiune absolut a uniform˘ (în care to¸i pixelii ce o formeaz˘ au aceea¸i valoare) produce varia¸ia valorilor a t a s t din interiorul acesteia. m)) 1 M SE = NM 1 M AE = NM N M n=1 m=1 N M (g(m. Dac˘ consider˘m f imaginea a a original˘ (corect˘) ¸i g imaginea a c˘rei calitate trebuie determinat˘ (g este considerat˘ a a s a a a c˘ provine din f prin suprapunerea unui zgomot aditiv). deci mic¸oreaz˘ uniformitatea. raportul semnal de vârf zgomot (Peak Signal to Noise Ratio . Teoria s a t a a a a proceselor aleatoare [16] arat˘ c˘.5) n=1 m=1 (g(m. pentru o combina¸ie liniar˘ de realiz˘ri ale unei variabile t n aleatoare y = i=1 ai xi .4). Varia¸iile introduse sunt cu atât s a t mai mari cu cât puterea zgomotului este mai mare. prin i x 1 medierea a n realiz˘ri ale unei variabile aleatoare. m))2 |g(m.1 Filtrarea liniar˘ de netezire a Efectul de înce¸o¸are a unei imagini poate fi considerat ¸i ca un efect de îmbun˘t˘¸ire t s s a at a uniformit˘¸ii regiunilor [18].

opera¸ia de filtrare de netezire trebuie s˘ p˘streze a at a s t a a aceast˘ valoare constant˘ a pixelilor (pe care o vom nota cu µ). PSNR=24. ¸i deci uniformitatea nu mai t s s poate fi îmbun˘t˘¸it˘.97 dB. alb. PSNR=22. 3. cu fereastr˘ 3 x 3 (figura 3. a a a de medie nul˘ (figura 3. În acela¸i timp.Fig. 3.79 dB.31). gaussian. Se poate observa atât o calitate vizual˘ mai bun˘ a a (regiuni mai uniforme) cât ¸i factori de calitate mai buni (SNR ¸i PSNR mai mari.43 dB. MAE=9.33 a a a dB. Un caz particular de interes este considerarea regiunilor constante (absolut uniforme) ale imaginii.1: Imagine degradat˘ de un zgomot aditiv gaussian a Fig. MAE s s mai mic). în aceste regiuni to¸i pixelii vor avea aceea¸i valore. înlocuind în formula de a a 35 .22) ¸i imaginea a s filtrat˘ cu un filtru liniar de mediere aritmetic˘.2: Reducerea zgomotului prin filtrarea de mediere Figurile urm˘toare prezint˘ o imagine degradat˘ cu un zgomot aditiv.1 SNR=16.2 SNR=19. MAE=15.

2 Filtrarea liniar˘ de contrastare a Contrastarea unei imagini are ca obiectiv îmbun˘t˘¸irea perceperii vizuale a contururilor a at obiectelor (îmbun˘t˘¸irea detectabilit˘¸ii componentelor scenei de-a lungul frontierelor a at at acestora). spre exemplu. în acela¸i timp îns˘. pentru cazul unidimensional . W4 = W3 = . t 3.8) Aceast˘ condi¸ie (suma coeficien¸ilor m˘¸tii de filtrare s˘ fie unitar˘) se nume¸te condi¸ia a t t as a a s t de normare a nucleelor de filtrare de netezire ¸i define¸te un astfel de nucleu. centrate) pent a a tru masc˘. la fel s-a procedat ¸i cu m˘¸tile W2 ¸i W3 . vom ob¸ine c˘ t a t a µ= (k. centrat˘ în punctul considerat. s s Nucleele de filtrare folosite nu trebuie limitate strict la nucleele ce realizeaz˘ media arita metic˘ într-o vecin˘tate p˘trat˘. M˘¸tile urm˘toare reaa a a a  a a a  s  1/16 1/16 1/16 0 1/5 0 lizeaz˘ medieri ponderate: W1 =  1/16 1/2 1/16 .l)∈W wkl µ adic˘: a wkl = 1 (k.2)). acest deziderat se poate realiza prin modificarea valorilor pixelilor afla¸i de o parte ¸i de alta a unei frontiere comune. a t a efectul global poate fi descris ca sc˘derea din semnalul original a unei derivate secunde a a a s a s a acestuia. În principiu.l)∈W (3. t s O experien¸a de percep¸ie vizual˘ subiectiv˘ (“benzile lui Mach”) a pus în eviden¸a faptul t˘ t a a t˘ c˘ sistemul vizual uman are tendin¸a de a adânci profilul zonelor de tranzi¸ie dintre regiuni a t t uniforme. t 36 . Orice masc˘ poate fi extins˘ cu puncte ce au ata¸at un coeficient nul.3 ¸i 3. ponderat˘ corespunz˘tor (a¸a cum prezint˘ figurile 3.2). Nucleul de filtrare poate avea orice 1/6 1/6 0 1/8 0 form˘ (deci exist˘ o libertate total˘ în definirea mul¸imii W (3.sec¸iunea unei frontiere între regiunile imaginii). Studiul fiziologiei sistemului vizual a demonstrat c˘ acesta se realizeaz˘ prin a a prelucr˘ri de tip derivativ ce apar în diferitele etape pe care le parcurge informa¸ia vizual˘. masca W4 poate fi scris˘ ¸i ca a  a a a a s  0 0 0  0 1/2 1/6 . W2 =  1/5 1/5 1/5 .defini¸ie a filtr˘rii liniare (3. Trebuie remarcat s W4 = s as 0 1/6 1/6 a as a c˘ toate aceste m˘¸ti respect˘ condi¸ia de normare a unui nucleu de netezire (3.4. a a a t s a practica a demonstrat suficien¸a consider˘rii unor forme regulate (p˘trate.8). pena a a s tru a rezulta o masc˘ p˘trat˘ centrat˘. a 1/16 1/16 1/16 0 1/5 0   0 1/8 0 1/2 1/6  1/8 1/4 1/8 .

3. n) = f (m.1.4: Derivata secund˘ a profilului original prezentat anterior a Implementarea unei derivate secunde pentru cazul discret va trebui s˘ ia în considerare a existen¸a a dou˘ direc¸ii de derivare de baz˘ ¸i modul de definire a derivatei în cazul discret t a t as (de exemplu prima derivat˘ pe direc¸ia orizontal˘ poate fi f (m. −1/8 −1/8 −1/8 Pentru un astfel de operator de derivare este esen¸ial ca r˘spunsul s˘u pentru pixeli din t a a interiorul unei regiuni absolut uniforme (de valoare µ) s˘ fie nul (derivata unei constante a este nul˘).1 0 50 100 150 200 250 Fig. [19]. 3.5 1 0.1 0. n) = f(m. pentru aceasta. n+1)−f(m.05 0 -0. n − 1)). n) − f(m.2) avem c˘ 0 = a t a a 37 .5 0 -0. n − 1) sau f (m.5 0 50 100 150 200 250 Fig.05 -0. din formula de defini¸ie a filtr˘rii liniare (3. M˘¸ti as obi¸nuite de implementare  unei derivate secunde bidirec¸ionale (operator Laplacian) s a t    0 −1/4 0 1/4 −1/2 1/4 pot fi [9]. n + 1) − f (m. W6 =  −1/2 1 −1/2 . [5]: W5 =  −1/4 1 −1/4 . n) a t a sau f (m. n) = f (m. 0 −1/4 0 1/4 −1/2 1/4   −1/8 −1/8 −1/8  −1/8 W7 = 1 −1/8 .3: Profilul original de tranzi¸ie ¸i profilul adâncit prin sc˘derea derivatei secunde t s a 0.

1)). t Adaptarea filtrelor liniare nu poate urm˘ri decât dou˘ variante: modificarea formei fea a restrei de filtrare. maximizarea raportului semnal zgomot).wkl µ.3 Filtrarea liniar˘ adaptiv˘ a a Termenul de adaptiv se refer˘ la capacitatea filtrului de a-¸i ajusta comportarea (care este a s determinat˘ de caracteristicile sale de defini¸ie) în func¸ie de anumite criterii. Figurile urm˘toare prezint˘ o imagine slab contrastat˘ ¸i varianta sa îmbun˘t˘¸it˘ a a as a at a prin contrastare cu nucleul laplacian W5 . pentru care suma t a coeficien¸ilor m˘¸tii trebuie deci s˘ fie nul˘.l)∈W (3. sau mai bine decât o a a alta.9) Aceasta este condi¸ia de normare a unui nucleu de filtrare derivativ˘. pentru care imaginea dat˘ arat˘ bine. t a a 38 . adic˘: a (k. Imagine original˘ a Contrast îmbun˘t˘¸it a at 3. urm˘rind a t t a optimizarea unor m˘suri de calitate. filtrarea global˘ nu mai este liniar˘ (nu mai respect˘ a a a principiul superpozi¸iei (3. corespunz˘tor. Prin procesul de adaptare.9). prelucrarea imaginilor adaug˘ ¸i o m˘sur˘ subiectiv˘: confortul a s a a a vizual al unui observator. optimizarea m˘surilor de calitate a a se traduce în prelucrarea semnalelor unidimensionale prin minimizarea erorii p˘tratice a medii (sau. în fiecare nou punct prelucrat structura filtrului este alta. Se remarc˘ faptul c˘ nucleele de derivat˘ t as a a a a a secund˘ (operatori laplacieni) prezentate anterior verific˘ acest˘ condi¸ie de normare a a a t (3. sau modificarea coeficien¸ilor unei ferestre de filtrare de form˘ fixat˘.l)∈W wkl = 0 (k. luând în considerare caracteristicile locale pixelului curent prelucrat. Pe lâng˘ m˘surile a a a obiective de calitate. Atâta timp cât (cel pu¸in teoretic) în fiecare punct al imaginii opera¸ia este diferit˘ t t a (deoarece se face cu un filtru diferit). În mod curent.

se remarc˘ folosirea a patru variabile a suplimentare out0.i++) for (j=1. ci va a a a avea o form˘ liniar˘. out45. else img_out[i][j]=val_temp1.out90.Exemplul cel mai folosit de modificare a modificare a formei ferestrei de filtrare este filtrul de netezire direc¸ional˘ adaptiv˘ [9]. out135 care primesc valorile ob¸inute prin filtrarea dit rec¸ional˘ cu masca orientat˘ la 0◦ .out135. t˘ a int val_temp1.i<NRLIN-1. out45=round((img[i][j]+img[i-1][j+1]+img[i+1][j-1])/3). 45◦ . Pentru fiecare punct al imaginii a a a a a t se pot considera mai multe orient˘ri (deci mai multe direc¸ii) posibile pentru masca de a t mediere. if (abs(val_temp1-img[i][j])>abs(val_temp2-img[i][j])) img_out[i][j]=val_temp2.out0. Variabilele val_temp1 ¸i val_temp2 t a a s s sunt folosite apoi pentru a calculul valorii celei mai apropiate de valoarea original˘. În mod t t a ideal. out90. a Ideea de a accepta valoarea produs˘ de medierea valorilor selectate de fereastra filtrului a 39 . for (i=1. 45◦ .j++) { out0=round((img[i][j]+img[i][j-1]+img[i][j+1])/3). vertical ¸i cele dou˘ diagonale. } În cod nu a mai fost inclus˘ alocarea de memorie pentru imaginea de ie¸ire img_out ¸i s s a nici partea de copiere a valorii marginilor imaginii. a t a Fragmentul de cod urm˘tor prezint˘ un caz particular de filtrare direc¸ional˘ adaptiv˘: a a t a a ferestrele direc¸ionale au trei puncte ¸i sunt alese dup˘ cele patru direc¸ii principale t s a t (orizontal. if (abs(out0-img[i][j])>abs(out90-img[i][j])) val_temp1=out90. dorim ca valoarea ob¸inut˘ prin filtrare s˘ nu difere în mod semnificativ de valoarea t a a ini¸ial˘ din pixelul considerat. O diferen¸a semnificativ˘ poate însemna c˘ punctul curent t a t˘ a a este situat pe un contur. if (abs(out45-img[i][j])>abs(out135-img[i][j])) val_temp2=out135. 90◦ ¸i 135◦ . 90◦ ¸i 135◦ a a s s t fa¸a de orizontal˘). Pentru fiecare dintre direc¸iile alese se ob¸ine în urma filtr˘rii o valoare. Termenul de filtrare direc¸ional˘ se refer˘ la forma t a a t a a puternic orientat˘ a ferestrei de filtrare (deci fereastra de filtrare nu mai este p˘trat˘. adic˘ direc¸iile orientate la 0◦ .j<NRCOL-1. else val_temp1=out0.out45. Solu¸ia adus˘ t s a a t a de filtrul adaptiv este de a alege din setul de valori ob¸inute pentru diferitele ferestre t de filtrare pe aceea care este cea mai apropiat˘ de valoarea ini¸ial˘ din punctul curent. ¸i acceptarea acestei valori mult diferite de cea ini¸ial˘ produce s t a efectul de înce¸o¸are a imaginii (caracteristic oric˘rei filtr˘ri de netezire). orientat˘ dup˘ o anumit˘ direc¸ie). out90=round((img[i][j]+img[i-1][j]+img[i+1][j])/3). out135=round((img[i][j]+img[i-1][j-1]+img[i+1][j+1])/3). else val_temp2=out45.val_temp2.

numai dac˘ acest˘ valoare este suficient de apropiat˘ de valoarea original˘ se poate aplica a a a a ¸i pentru filtrarea de netezire cu fereastr˘ ¸i coeficien¸i fic¸i [5]. Acest filtru este as a o combina¸ie liniar˘ convex˘ a imaginii zgomotoase ¸i a imaginii ob¸inute din aceasta t a a s t ¯ printr-o filtrare liniar˘ de mediere (cu fereastr˘ constant˘). acesta este calculat local impunând s optimizarea unei m˘suri de calitate obiective .l)∈W  (k. m) = (k.14) .12) arat˘ c˘ eroarea p˘tratic˘ medie este suma ponderat˘ dintre varian¸a a a a a a t 2 2 (puterea) zgomotului σ n ¸i varian¸a imaginii originale σ g . în rest O variant˘ clasic˘ de filtrare liniar˘ adaptiv˘.10) Imaginea zgomotoas˘ f provine dintr-o imagine corect˘ g. n − l) < T g(n. deci anularea derivatei acestuia. înseamn˘ g˘sirea minimului lui ε a a dε2 = 2ασ 2 + 2(α − 1)σ 2 = 0 n g dα α= σ2 σ2 g =1− n σ2 + σ2 σ2 g n f σ2 n σ2 f 40 σ2 n f σ2 f (3. adic˘: f = αf + β f . a Atunci ˆ (3. a s a ε2 = f − g 2 = (αn + (α − 1)(g − g))2 = α2 n2 +2α(α−1)ng−2α(α−1)ng+(α−1)2 (g−g)2 ε2 = α2 σ 2 + (α − 1)2 σ 2 n g (3.13) De aici rezult˘ expresia final˘ a filtrului: a a f= 1− f+ (3.11) f = α(g + n) + (1 − α)(g + n) = αg + αn + (1 − α)g Ceea ce define¸te filtrul adaptiv este coeficientul α. la care s-a ad˘ugat un zgomot a a a s alb aditiv de medie nul˘ n (n = 0) ¸i necorelat cu imaginea (ng = ng = 0): f = g + n. În acest caz rezultatul s as t s netezirii într-un punct va fi acceptat doar dac˘ diferen¸a fa¸a de valoarea original˘ este a t t˘ a mai mic˘ decât un prag impus: a    wkl f (m − k. O a a a a ˆ combina¸ie liniar˘ convex˘ se ob¸ine doar dac˘ α + β = 1. Deci t a a t a ˆ f = αf + (1 − α)f (3. n) − a wkl f (m − k. realizat˘ prin recalcularea coeficien¸ilor a a a a a t m˘¸tii de filtrare în fiecare punct al imaginii este prezentat˘ în [18].eroarea p˘tratic˘ medie între imaginea a a a original˘ g ¸i rezultatul filtr˘rii f. dac˘ f(m. n).12) ε2 = α2 n2 + 2α(α − 1)ng − 2α(α − 1)ng + (α − 1)2 (g − g)2 = α2 n2 + (α − 1)2 (g − g)2 Formula (3. n − l). G˘sirea coeficientului α optim s t a 2 .l)∈W  f (m.

Se observ˘ c˘ trebuiesc cunoscute puterea de zgomot ¸i varian¸a local˘ (în fiecare punct) a a s t a al imaginii zgomotoase. Adaptarea se face între dou˘ cazuri limit˘: dac˘ puterea de a a a 2 zgomot este mult mai mare decât varian¸a valorilor imaginii originale (σ n t σ 2 ) atunci, g din prima parte a formulei (3.13) rezult˘ α = 0 ¸i deci filtrul optim este un simplu filtru a s de mediere; dac˘ varian¸a valorilor din imagine este mult mai mare decât puterea de a t σ 2 , deci este de presupus c˘ punctul curent considerat este situat pe un a zgomot (σ 2 n f contur) atunci α = 1 ¸i filtrul optim este un filtru identitate (trece tot). Prezent˘m în s a continuare codul Matlab ce implementeaz˘ acest˘ filtrare adaptiv˘: a a a [NRLIN,NRCOL]=size(img); for i=2:NRLIN-1 for j=2:NRCOL-1 temp=img(i-1:i+1,j-1:j+1); temp=temp(:); varianta_img=std(temp); alfa=1-varianta_zg/varianta_img; img_out(i,j)=alfa*img(i,j)+(1-alfa)mean(temp); end end Se folosesc func¸iile Matlab mean (pentru a calcula media valorilor selectate de fereastra t de filtrare p˘trat˘ de 3 x 3) ¸i std (pentru a calcula varian¸a local˘ a imaginii). Se a a s t a presupune c˘ puterea de zgomot varianta_zg este un parametru cunoscut. a a a a În capitolul urm˘tor se va introduce o nou˘ posibilitate de caracterizare a efectelor filtr˘rii liniare a imaginilor: reprezentarea în domeniul frecven¸elor spa¸iale (o extensie direct˘ t t a a spectrului semnalelor unidimensionale). De asemenea vom ar˘ta c˘ r˘mâne valabil˘ a a a a t s a teorema convolu¸iei, prin care vom introduce ¸i o nou˘ modalitate de implementare a filtrelor liniare: filtrarea în domeniul de frecven¸a. t˘

41

Capitolul 4 ˘ TRANSFORMARI INTEGRALE UNITARE DISCRETE
4.1 Generalit˘¸i at

Aceast˘ categorie de prelucr˘ri include opera¸ii de tip integral — totalitatea pixelilor a a t imaginii ini¸iale contribuie la ob¸inerea valorii fiec˘rui pixel din imaginea rezultat. În t t a [9] se consider˘ c˘ termenul de transform˘ri de imagine se refer˘ în mod uzual la o a a a a clas˘ de matrici unitare folosite pentru reprezentarea imaginilor. Orice imagine poate fi a reprezentat˘ ca o serie de matrici de baz˘ ortonormale. Pentru o imagine p˘trat˘ U1 de a a a a dimensiune N, o dezvoltare în serie este
N−1 N−1

U=
m=0 n=0

A∗ V (k, l) kl

(4.1)

a t unde A∗ sunt matricile de baz˘2 (de dimensiuni N × N) iar V (k, l) sunt coeficien¸ii kl dezvolt˘rii în serie. Exprimând rela¸ia (4.1) la nivelul fiec˘rui pixel al imaginii U ob¸inem a t a t
N−1 N−1

U(m, n) =
k=0 l=0

a∗ (m, n)V (k, l) kl

(4.2)

Calculul coeficien¸ilor V (k, l) ai transform˘rii se poate face în condi¸iile impuse de ortot a t
În acest capitol vom folosi nota¸iile matriciale ¸i vectoriale clasice: litere mari, drepte ¸i groase pentru t s s matrici (A este o matrice), litere mici, drepte ¸i groase pentru vectori (v este un vector) ¸i litere înclinate s s pentru elementele vectorilor ¸i matricilor (A(i, j), v(m)). s 2 Numite uneori ¸i imagini de baz˘. s a
1

42

gonalitate ¸i completitudine a matricilor de baz˘ A∗ prin: s a kl V (k, l) =
N −1 N−1 m=0 n=0

akl (m, n)U (m, n)

(4.3)

Mul¸imea coeficien¸ilor transform˘rii V (k, l) formeaz˘ matricea V, transformata imaginii. t t a a Atunci rela¸ia (4.2) este transformarea direct˘ a imaginii, iar rela¸ia (4.3), prin care se t a t ob¸ine imaginea din transformata sa, este transformata invers˘. Se poate remarca faptul t a t t s c˘ ambele transform˘ri (direct˘ ¸i invers˘) necesit˘ N 4 opera¸ii de înmul¸ire, ¸i deci o a a as a a 4 complexitate O(N ). Condi¸ia de ortonormalitate a matricilor de baz˘ se exprim˘ ca t a a
N−1 N−1

m=0 n=0

akl (m, n)a∗ l (m, n) = δ(k − k , l − l ), ∀k, l, k , l k

(4.4)

¸i asigur˘ faptul c˘ orice dezvoltare în serie truncheat˘ minimizeaz˘ eroarea p˘tratic˘ de s a a a a a a aproximare. Condi¸ia de completitudine a matricilor de baz˘ se exprim˘ ca t a a
N−1 N −1 k=0 l=0

akl (m, n)a∗ (m , n ) = δ(m − m , n − n ), ∀m, n, m , n kl

(4.5)

¸i asigur˘ faptul c˘ baza de matrici folosit˘ este complet˘. s a a a a O transformare de tip (4.2) este deci caracterizat˘ de cei N 4 coeficien¸i akl (m, n), ce pot fi a t interpreta¸i ca valori ai unei func¸ii de patru variabile (k, l, m, n), câte dou˘ pentru fiecare t t a imagine (ini¸ial˘ ¸i transformat˘). Aceast˘ func¸ie se nume¸te nucleul transform˘rii. Prin t as a a t s a defini¸ie, o transfomare se zice separabil˘ dac˘ nucleul ei este separabil dup˘ perechi de t a a a variabile corespondente: akl (m, n) = ak (m)bl (n) = a(k, m)b(l, n) (4.6)

Impunând condi¸iile (4.4) ¸i (4.5) acestei noi forme a coeficien¸ilor transform˘rii, rezult˘ t s t a a c˘ matricile A = {a(k, m)} ¸i B = {b(l, n)} trebuie s˘ fie matrici unitare: a s a AA∗T = AT A∗ = IN BB∗T = BT B∗ = IN Pentru o transformare separabil˘, rela¸iile de defini¸ie (4.2) ¸i (4.3) pot fi rescrise sub a t t s form˘ matricial˘ ca: a a V = AUBT (4.8) U = A∗T VB∗ 43 (4.9) (4.7)

11) (4. 4. u(N − 1)) ¸i a s transformata sa v. . Energia medie a semnalului se conserv˘ printr-o transformare unitar˘. t a 2. Energia semnalului se conserv˘ printr-o transformare unitar˘. ob¸inut˘ prin folosirea matricii unitare A. Astfel. a a Ev = v 2 = v∗T v = (Au)∗T Au = u∗T A∗T Au = u∗T u = u 2 = Eu (4. pentru care.Num˘rul de înmul¸iri necesare pentru a realiza oricare dintre transform˘rile (4. dac˘ not˘m cu C matricea de t a a a covaria¸ie atunci: t Cu = (u − u)(u − u)∗T (4. Aceasta înseamn˘ c˘ baza de reprezentare a lui u este rotit˘. Proprietatea de separabilitate conduce deci la reducerea complexit˘¸ii calculelor cu un ordin de m˘rime. a rela¸ia (4. Rela¸iile de transformare t a t (direct˘ ¸i invers˘) sunt v = Au ¸i u = A∗T v. în practic˘ se folosesc at a a numai transform˘ri separabile.8) sau a t a 3 3 (4.2 Propriet˘¸ile transformatelor unitare unidimenat sionale În cele ce urmeaz˘ vom considera semnalul de intrare u = (u(0). transform˘rile practic utilizate în prelucrarea imaginilor (matricilor) sunt a (paradoxal ?) unidimensionale. Aceste observa¸ii ne conduc la concluzia c˘ pentru acoperirea cazurilor utilizate în mod t a curent este suficient˘ studierea propriet˘¸ilor transformatelor integrale unitare unidimena at sionale.12) Corela¸iei componentelor semnalului se modific˘. A = B.9) este doar N (deci o complexitate O(N )). iar v este a a a proiec¸ia lui u pe noua baz˘.10) Energia vectorului semnal este de fapt lungimea (Euclidian˘) a acestuia în spa¸iul a t N-dimensional de reprezentare. as a s 1.8) se poate scrie ca t V = AUAT = A(AUT )T = (UT AT )T AT ceea ce înseamn˘ c˘ se poate face o transformare unidimensional˘ pe fiecare linie sau a a a coloan˘ a lui U urmat˘ de aceea¸i transformare pe fiecare coloan˘ sau linie a rezultaa a s a tului.. u(1).. deci transformarea unitar˘ este o rota¸ie în spa¸iul t t semnalului. în plus.. Conservarea energiei este deci echivalent˘ cu cona a servarea lungimii vectorului. În acest caz particular.13) 44 . a a v=Au= Au Ev = v∗T v = (Au)∗T Au = u∗T A∗T Au=u∗T u = Eu (4.

k = 0. spa¸iul de frecven¸a marcheaz˘ frecven¸e propriu-zise sau frecven¸e t t˘ a t t spa¸iale. n) = √ e−j N kn = √ wN N N Separabilitatea ne permite deci s˘ studiem majoritatea propriet˘¸ilor transform˘rii pe a at a cazul unidimensional. N − 1 (4. în care nua a a a cleul se poate descompune în termeni identici A = B = F. a a 3. coeficien¸ii transform˘rii vor fi t decorela¸i (termenii matricii de covaria¸ie care nu sunt pe dioagonala principal˘ vor t t a avea valori mici comparativ cu valorile de pe diagonal˘). ce a a a asigur˘ trecerea între spa¸iul semnalului ¸i spa¸iul de frecven¸e ale semnalului. putem scrie deci transformata Fourier t t unidimensional˘ direct˘ ca: a a N−1 v(k) = n=0 kn u(n)wN .14) Majoritatea transform˘rilor unitare au tendin¸a de a aglomera o mare parte a a t energiei medii a semnalului în relativ pu¸ini coeficien¸i ai transform˘rii. Dup˘ a t s t t a cum semnalul este “clasic” (temporal.15) Deoarece entropia este o m˘sur˘ a cantit˘¸ii de informa¸ie (informa¸ia medie) a a at t t înseamn˘ ca transform˘rile unitare p˘streaz˘ informa¸ia con¸inut˘ în semnal. mul¸i coeficien¸i ai transform˘rii vor a a t t a con¸ine foarte pu¸in˘ energie.2. Elementele matricii transform˘rii sunt expoa a a nen¸ialele complexe: t 2π 1 1 kn (4. Entropia unui vector cu componente aleatoare se conserv˘ printr-o transformare unitar˘ a H(u) = N N log2 (2πe |Cu |1/N ) = log2 (2πe |Cv |1/N ) = H(v) 2 2 (4.C v = (v − v)(v − v)∗T = A(u − u)(u − u)∗T A∗T = ACu A∗T (4. a a a a t t a 4. urmând ca rezultatele s˘ fie u¸or extinse pentru cazul bidimena s sional. Energia medie a coeficien¸ilor transform˘rii va avea t t a t a o distribu¸ie neuniform˘. ce verific˘ (4. Deoarece t t a energia total˘ se conserv˘ prin transfomare.16) F (k.17) 45 . chiar dac˘ în secven¸a de intrare aceasta era uniform t a a t distribuit˘. ¸i deci unidimensional) sau cu suport spa¸ial bidis t mensional (imagine).3 Transformata Fourier discret˘ a Transformata Fourier este poate cea mai important˘ transformare integral˘ unitar˘. a a a Dac˘ componentele lui u sunt puternic corelate. Matricea F a transform˘rii este o matrice unitar˘.7). t Transformata Fourier discret˘ bidimensional˘ este o transformare separabil˘. Folosind nota¸iile introduse în sec¸iunea 4.

n = 0. s 4. l = 0. m.20) Trebuie totu¸i remarcat c˘ formele prezentate ale transform˘rilor nu mai sunt unitare s a a (apare o asimetrie între transformarea direct˘ ¸i cea invers˘ prin factorul de scalare de as a tip 1/N). k. Dar singura valoare real˘ din spectre este cea ce corespunde componentei a a de fecven¸a nul˘ (componenta medie).3. Matematic. n) = 1 N2 N−1 N−1 v(k.21) N N N N N − k. k = 0.1 Propriet˘¸ile fundamentale ale transformatei Fourier at Dintre numeroasele propriet˘¸i ale transformatei Fourier [9]. Aceasta înseamn˘ c˘ a a a v( v( N N N − k) = v∗ ( + k). (4. n = 0. ¸i deci este necesar˘ o interschimbare a jum˘t˘¸ilor t˘ a s a a at de spectru (în cazul secven¸elor unidimensionale) sau a sferturilor de spectru (în cazul t imaginilor). n)wN . în centru aflându-se t a a a a t˘ o valoare real˘. inclusiv t 46 . fie imaginea propriu-zis˘) ¸i teorema convolu¸iei cira s t culare (care face leg˘tura între filtrarea în domeniul spa¸ial ¸i în domeniul de frecven¸a).19).18) ¸i (4.iar transformarea invers˘ ca a 1 u(n) = N N−1 −kn v(k)wN . k.18) k=0 Rela¸iile se extind imediat la cazul bidimensional: t N−1 N−1 v(k. astfel încât componenta de frecven¸a nul˘ s˘ fie în centru. N − 1 (4. a t s t˘ Transformata Fourier a unei secven¸e (matrici) reale este complex conjugat˘ fa¸a de t a t˘ mijlocul s˘u [9]. reprezentat cu 256 nivele t˘ de gri (valorile au fost scalate dup˘ o reprezentare logaritmic˘) astfel încât valorile mai a a a a mari corspund unei nuan¸e mai deschise. [19] ne vom referi doar at la dou˘ propriet˘¸i fundamentale: simetria central˘ a spectrului de frecven¸a (având a at a t˘ drept consecin¸a important˘ faptul c˘ este necesar acela¸i spa¸iu de memorie pentru a t˘ a a s t reprezenta fie spectrul unei imagini. 2 2 2 (4. l) = m=0 n=0 kn+ml u(m. 2 2 2 2 2 Rela¸iile arat˘ c˘ exist˘ o simetrie central˘ a spectrelor de frecven¸a. în care valorile maxime (corespunzâd frecven¸elor cele mai mici. l = 0. l)wN k=0 l=0 −(kn+ml) . (4. Se observ˘ în partea dreapt˘ spectrul cent tral simetrizat.16) este corect˘. N − 1 (4. N − 1 (4. În figura 4.1 este t˘ a a reprezentat modulul spectrului de frecven¸a al imaginii “lena”. dar în practic˘ se folosesc formele t a a neunitare prezentate în (4. − l) = v ∗ ( + k. + l).19) u(m.20). defini¸ia (4.17).

t t Fig.Fig. 4.2: Spectrul de frecven¸a al imaginii “lena” degradat˘ de zgomot impulsiv. obiectelor mici. În figura 4. zgomotului. înainte ¸i dup˘ aranjarea t˘ s a cu simetrie central˘.1: Spectrele de frecven¸a (Fourier) ale imaginii “lena”.2 este prezentat spectrul de frecven¸a al imaginii “lena” degradat˘ de zgomot impulsiv de tip sare ¸i piper t˘ a s (figura 5. 4. Efectul evident este acela de m˘rire s t a a valorilor din spectru corespunz˘toare frecven¸elor înalte ¸i. t˘ a 47 . diminuarea a t s a importan¸ei relative a frecven¸elor joase. ¸i pentru imagini leg˘tura dintre frecven¸ele spa¸iale ¸i s s t t s a obiectele din domeniul spa¸ial (imagine) se p˘streaz˘: frecven¸ele spa¸iale ridicate cot a a t t respund detaliilor.1). în care maximele se g˘sesc pe cele patru col¸uri. t Ca ¸i în cazul unidimensional. iar în partea stâng˘ spectrul original ob¸inut în urma a a t a a transform˘rii Fourier. zgomotul impulsiv corespunde apari¸iei a numeroase detalii (obiecte mici — t punctele de zgomot) ¸i varia¸ii ale nivelului de gri. a zero) se g˘sesc în centrul imaginii. contururilor. corespunz˘tor.

Description Out). 1995) t t Filtrul este un dispozitiv destinat favoriz˘rii sau inhib˘rii trecerii anumitor componente de frecven¸a a a t˘ a unui semnal electric. t a a s t˘ Aceasta înseamn˘ c˘ un nucleu mic de convolu¸ie (masc˘ de filtrare) este bordat cu zea a t a rouri pân˘ la ob¸inerea dimensiunii imaginii (teorema convolu¸iei circulare se refer˘ la a t t a Prin prisma acestei defini¸ii. etc. Func¸ia unui filtru este de a transforma un semnal dat într-un alt semnal. Descrierea ac¸iunii filtrului este descrierea unei opera¸ii t t liniare efectuate în domeniul frecven¸elor. ¸i este operatorul de a t s s s t a convolu¸ie circular˘ (definit în (4.23)) atunci: Fourier(x N−1 y) = Fourier(x) Fourier(y) (4. 1995) Filtrul este un dispozitiv ce amortizeaz˘ selectiv oscila¸iile cu anumite frecven¸e ¸i nu afecteaz˘ osa t t s a cila¸iile având alte frecven¸e. teoria transformatelor unitare s [9] arat˘ c˘ o asemenea opera¸ie este echivalent˘ unui produs între spectrul Fourier al a a a t imaginii ¸i spectrul Fourier al nucleului de filtrare. a t˘ Filtrarea liniar˘ a imaginilor se bazeaz˘ pe convolu¸ia [circular˘] între imaginea de prea a t a lucrat ¸i un nucleu de filtrare (a se vedea capitolul 3). respectiv eliminate. mai potrivit unei anume aplica¸ii date. 1994) 3 48 . spectrul unei imagini. aceasta este teorma convolu¸iei. sonore. prin intermediul unui bloc func¸ional ce poate fi presupus ini¸ial de tip “cutie neagr˘”. a unei t t a opera¸ii de tip Image In.Prelucrarea imaginilor (fie ele scalare sau vectoriale) presupune executarea. (Webster Encyclopedic Unabridged Dictionary. t Defini¸iile filtr˘rii (sau ale dispozitivului care o realizeaz˘. filtrul) ce se reg˘sesc în dict a a a ¸ionarele lingvistice de uz general fac apel la no¸iunea de semnal electric ¸i de frecven¸e t t s t asociate componentelor acestuia.22) (4. Transformarea imaginii de intrare t în imaginea rezultat de ie¸ire (ce prezint˘ acelea¸i caracteristici majore. cu care se selecteaz˘ dintr-un complex a de oscila¸ii cu frecven¸e diferite. de¸i este echivalent acesteia din punct de vedere infora s ma¸ional. (Larousse. În practic˘.23) x y(n) = k=0 x ((n − k) mod N ) y(k). simbolice ¸i pers a s s s t ceptuale3 ) se nume¸te în mod generic filtrare4 . Extinderea acestor defini¸ii la cazul imaginilor t t presupune în primul rând definirea spectrului de frecven¸a asociat unui semnal cu suport t˘ t s t t˘ t a [spa¸ial] multidimensional ¸i. introducerea no¸iunii de frecven¸a spa¸ial˘. care apoi este transformat prin transformata Fourier invers˘ în t a imaginea filtrat˘ — aceasta este filtrarea în domeniul frecven¸a. dac˘ secven¸ele x ¸i y au aceea¸i lungime. (Dic¸ionarul t t t t t Explicativ al Limbii Române. asociere t˘ a at a a a a ce nu este întotdeauna simpl˘. N − 1 Teorema convolu¸iei ofer˘ deci instrumentul prin care se pot echivala opera¸iile de filtrare t a t realizate în domeniile spa¸ial (filtrarea liniar˘. prezentat˘ în capitolul 3) ¸i de frecven¸a. În s t cazul unidimensional. aceasta înseamn˘ determinarea unui spectru de frecven¸e transformat. Utia lizarea unei prelucr˘ri în domeniul frecven¸elor presupune apoi identificarea benzilor de t frecven¸a corepunz˘toare entit˘¸ilor ce se doresc p˘strate. Image Out [2] (spre deosebire de tehnicile de analiz˘ ce pot fi t a caracterizate ca opera¸ii Image In. transfom˘rile unitare ale imaginilor (deci reprezentarea într-un spa¸iu t a t spectral) nu sunt filtr˘ri. n = 0. t s 4 Filtrul este un sistem de circuite electrice. implicit. oscila¸iile cu frecven¸ele cuprinse între anumite limite. nu are acelea¸i caracteristici perceptuale.

2 Transformata Fourier rapid˘ a Implementarea direct˘ a rela¸iei de defini¸ie a transform˘rii Fourier discrete unidimena t t a 2 sionale (4. se remarc˘ comportamentul de a a a tip filtru trece jos. centrat de 3 x 3.3. ceea ce duce la a t s a o complexitate O(N 2 ). pus în eviden¸a prin reducerea vizibilit˘¸ii contururilor imaginii.secven¸e de aceea¸i lungime) ¸i apoi transformat Fourier. Tehnica ini¸ial˘ a fost divizarea în a t a timp: cele N e¸antioane ale secven¸ei se împart în dou˘.3 prezint˘ r˘spunsul în frecven¸a a filtrului de mediere t˘ a a t˘ aritmetic˘ realizat cu un nucleu p˘trat. dup˘ indicii pari ¸i respectiv s t a a s impari: N−1 2π u(n) exp(−j kn) = v(k) = N n=0 N/2−1 = n=0 N/2−1 u(2n) exp(−j 2π k · 2n) + N N/2−1 u(2n + 1) exp(−j n=0 N/2−1 2π k(2n + 1)) = N 2πk 2n) = N/2 = n=0 2πk 2πk 2πk u(2n) exp(−j 2n) exp(j 2n)+exp(−j ) N/2 N N u(2n+1) exp(−j n=0 49 . Realizarea unei implement˘ri mai rapide a transform˘rii Fourier a a (FFT . Figura 4. t Fig.17) necesit˘ evident N înmul¸iri complexe ¸i N(N −1) adun˘ri. Acest comportament este leagt de efectul de “blur” al filtrului de mediere. a t˘ a 4. ¸i deci înl˘turarea t˘ at s a frecven¸elor înalte ce le sunt asociate. ceea ce se ob¸ine este r˘spunsul t s s t a în frecven¸a al filtrului.3: R˘spunsul în frecven¸a a unui nucleu 3 x 3 de mediere aritmetic˘.Fast Fourier Transform) a constituit unul dintre momentele cele mai importante pentru domeniul prelucr˘rii digitale a semnalelor. 4.

dezvoltând ecua¸ia recurent˘ din (4. k = 0. t a a a 5 caracterizat de o opera¸ie de înmul¸ire-adunare (figura 4. Dac˘ not˘m cu T (N) timpul de calcul al transformatei Fourier a secven¸ei de lungime a a t N . t t k v(k) = vpar (k) − wN vimpar (k). când i este ales astfel ca N = 2i vom avea: a T (N ) = NT (1) + N log2 N = N log2 N + N ceea ce este echivalent cu o complexitate de O(N log N ).26) = . a a t˘ Rela¸ia de implementare de baz˘ (4. Aceast˘ t t a t t a rela¸ie exprim˘ posibilitatea construirii transform˘rii Fourier a secven¸ei u de lungime t a a t N prin transform˘rile Fourier ale unor jum˘t˘¸i de secven¸a (de lungime N/2) — vpar ¸i a a at t˘ s vimpar . .25) ob¸inem: t t a t T (N ) = 2T N 2 + N = 2 2T N 4 + N 2i N 2 + N = 4T N 4 + 2N = (4... simetrice fa¸a de centru. t t a t t iar cu uimpar secven¸a ob¸inut˘ din toate valorile impare ale secven¸ei ini¸iale. Sporul de vitez˘ ob¸inut prin a t FFT fa¸a de implementarea clasic˘ este deci propor¸ional cu N/ log2 N (deci aproape un t˘ a t ordin de m˘rime pentru o lungime tipic˘ de secven¸a N = 256).4). atunci avem: N T (N) = 2T +N (4....27) N . 5 50 . .. ale a a t˘ secven¸ei originale..25) 2 În mod evident T (1) = 1 (transformata Fourier a secven¸ei de lungime 1 este identic˘ cu t a secven¸a).. k = Opera¸ia de îmul¸ire-adunarte este una dintre opera¸iile de baz˘ (cablate) din setul de instruc¸iuni t t t a t al procesoarelor de semnal (DSP).24) am notat cu upar secven¸a ob¸inut˘ din toate valorile pare ale secven¸ei ini¸iale. = 2i T + iN La limit˘. N −1 2 (4.24) mai poate fi scris˘ ¸i ca: t a as k v(k) = vpar (k) + wN vimpar (k).24) N În (4. N − 1 2 ceea ce semnific˘ faptul c˘ dou˘ valori ale transform˘rilor Fourier ale secven¸elor pe a a a a t jum˘tate sunt combinate liniar pentru a genera dou˘ valori. Blocul ce realizeaz˘ aceste prelucr˘ri este numit celul˘ “butterfly”.N/2−1 = n=0 2πk 2πk upar (n) exp(−j n) + exp(−j ) N/2 N = vpar (k) + exp(−j N/2−1 uimpar (n) exp(−j n=0 2πk n) = N/2 2πk )vimpar (k) (4.

4. 4.vpar(k) +wk N v(k) v(N/2+ k) vimpar (k) -wNk Fig. prin interschimb˘ri) pentru numere complexe (scrise în ordinea s t a parte real˘. parte imaginar˘).4: Celula de baz˘ butterfly a Construind etapele succesive de înjum˘t˘¸ire a lungimii secven¸ei. Se remarc˘ reordonarea e¸antioanelor a s secven¸ei de intrare dup˘ ordinea de bit invers˘ bit-reverse (forma binar˘ a noului indice t a a a este forma binar˘ a vechiului indice reflectat˘). Acela¸i cod este folosit atât pentru transformata direct˘ a a s a cât ¸i pentru transformata invers˘. doar prin modificarea unui parametru de semn ce s a intervine la calculul coeficien¸ilor Fourier wN .5: Schema FFT pentru o secven¸a de lungime 8. a a u(0) u(4) u(2) u(6) u(1) u(5) u(3) u(7) w80 w84 w83 w80 w80 w84 w81 w80 v(0) w80 w80 v(1) v(2) v(3) v(4) w82 v(5) v(6) v(7) w80 Fig. pentru o secven¸a de a at t t˘ lungime N = 8 se ajunge la schema din figura 4.5. Rezultatul (transformata) ia locul datelor t 51 . t˘ Implement˘rile clasice ale FFT folosesc o reordonare in-place a secven¸ei de intrare (în a t acela¸i spa¸iu de memorie.

n=nn<<1. data[i]+=tempr. În s t continuare prezent˘m codul C din [13]. wr=1. for (i=1.integer nn. wpr=-2*wtemp*wtemp.isign) integer m.m<mm1x.i<=n.i+=2){ if (j>i) { swap(data[j].} j+=m.de intrare. data[j+1]=data[i+1]-tempi.j. data[i+1]+=tempi. m>>=1.m+=2) { for (i=m. tempr=wr*data[j]-wi*data[j+1]. wi=wi*wpr+wtemp*wpi+wi. wtemp=sin(teta/2).mmax. for (m=1.n. swap(data[j+1]. tempi=wr*data[j+1]+wi*data[j].} mmax=2.}} m=n>>1. În a t a partea a doua a codului se realizeaz˘ calculul efectiv al celulelor butterfly.[data[i]).} Prima parte a codului realizeaz˘ reordonarea seceven¸ei în ordinea invers˘ de bit. a void fft(float data. corespunzând a transform˘rilor unor secven¸e de dimensiune mmax. wi=0.i.} wr=(wtemp=wr)*wpr-wi*wpi+wr. j=1. data[j]=data[i]-tempr.i<n. while (m>=2 && j>m) { j-=m.[data[i+1]).i+=step) { j=i+mmax. while (n>mmax) { step=2*mmax.step. wpi=sin(teta). ¸i deci prelu˘rii unor date situate la a t s a 52 .} mmax=step. în acela¸i spa¸iu de memorie (deci din nou o implementare in-place). teta=2*PI/(isign*mmax).

4 Alte transform˘ri a În cele ce urmeaz˘ vom prezenta pe scurt alte transform˘ri unitare folosite în prelucrarea a a imaginilor.4. caracterizat˘ de A = B = a a a a C. n = 0. s a 4. Fie N par.28) Transform˘rile direct˘ ¸i invers˘ a unei secven¸e u sunt definite ca: a as a t v(k) = α(k) n=0 N−1 u(n) cos (2n + 1)πk . N − 1 2 cos (2n+1)πk .distan¸a mmax între indici (vizibil ¸i în schema din figura 4.30) unde 1 α(k) = √ N (4. n = 0. n) = √ N 1. − 1 u1 (N − n − 1) = u(2n + 1) 2 53 (4. n = 0. s a at 2 aceasta conduce la o complexitate O(N log N). 4. t s Transformata rapid˘ bidimensional˘ implic˘ realizarea câte unei transform˘ri unidimena a a a sionale pentru fiecare linie ¸i coloan˘ a imaginii (conform principiului separabilit˘¸ii).5). ¸i definim s N u1 (n) = u(2n) . apari¸ia acestora s-a datorat adapt˘rii mai bune decât transformata Fourier t a la compactarea energiei ¸i decorelarea spectral˘ a anumitor clase de semnale. Elementele matricii C sunt date de 1 C(k. N − 1 2N 1.31) Una dintre propriet˘¸ile importante ale transformatei cosinus se refer˘ la leg˘tura acesteia at a a cu transformata Fourier: transformata cosinus a unei secven¸e nu este partea real˘ a t a transformatei Fourier a aceleia¸i secven¸e.1 Transformata cosinus Transformata cosinus este o transformat˘ unitar˘ separabil˘. dac˘ k = 0 a √ . N − 1 2N (2n + 1)πk . Transformata cosinus se poate ob¸ine prin s t t transformarea Fourier a unei secven¸e rearanjate sau a unei secven¸e dublate ¸i simetrizate t t s central. k = 0.29) u(n) = k=0 α(k)v(k) cos (4. k = 0 √ 2. dac˘ k = 1. N − 1 a 2N N−1 (4. k = 0 (4.32) .

k..u2 (n) = u(N − n − 1).. u(N − t 2). referitoare la compresia s t a t imaginilor cu transformate). N − 1 N +1 N +1 54 (4. 0   −ρ 1 − ρ −ρ 0 .. u(N − 2). .. n = 0. N − 1 (4.35) 2N O consecin¸a imediat˘ a acestor rela¸ii este posibilitatea realiz˘rii unei transform˘ri cot˘ a t a a sinus rapide (de complexitate O(N log N )) folosind transformata Fourier rapid˘.36) Q=   ... a a a a Elementele matricii S sunt date de S(k....... N n < 2N (4. a a t u(3). u(1).. Atunci: COS(u) = Re α(k) exp(− COS(u) = Fourier(u2 ) exp(− jπk ) Fourier(u1 ) 2N (4. . . . . 4.. u(N − 2).... Dar aceast˘ form˘ este tipic˘ secven¸elor sta¸ionar Markov de ordinul 1. . u(n − 3). 0 −ρ 1−ρ Dac˘ not˘m cu ck coloana k a matricii transform˘rii cosinus... caracterizat˘ de A = B = S. .    0 .2 Transformata sinus Transformata sinus este o transformat˘ unitar˘ separabil˘.. u(4).. 0 −ρ 1 − ρ −ρ  0 .37) .. k = 0. .. n) = 2 π(k + 1)(n + 1) sin .. model adeseori folosit în cazul imaginilor......... Deci t transformata cosinus este similar˘ transform˘rii optime de decorelare Karhunen-Loeve a a pentru o clas˘ larg˘ de imagini naturale (alte comentarii referitoare la aceast˘ propria a a etate ¸i la aplica¸iile ei practice se g˘sesc în sec¸iunea 7. u(n − 1). u(1). .. 0  (4.. . . atunci: a a a Qck = λk ck Aceast˘ proprietate revel˘ faptul c˘ transfomata cosinus se comport˘ precum transfora a a a mata Karhunen-Loeve pentru orice clas˘ de semnale a c˘ror matrice de covaria¸ie este de a a t forma (4. . a O alt˘ proprietate important˘ a transformatei cosinus este accea c˘ vectorii bazei cosinus a a a (coloanele matricii C) sunt vectori proprii pentru orice matrice simetric˘ tridiagonal˘ de a a forma:   1 − ρ −ρ 0 .4.2.. 0 n < N u(n − N ). iar secven¸a u2 este u(N − 1). a a a t t cu parametru de corela¸ie mare (ρ → 1).36). u(1). u(N − 1)...2.33) Aceasta înseamn˘ c˘ secven¸a u1 este u(0).. 0    0  −ρ 1 − ρ −ρ . u(0).. u(2). u(0).34) πk )...

41) O consecin¸a imediat˘ a acestei rela¸ii este posibilitatea realiz˘rii unei transform˘ri sinus t˘ a t a a rapide (de complexitate O(N log N)) folosind transformata Fourier rapid˘.. −u(0). −u(N−1).5].. 0  −ρ 1 0 .. Transformata sinus se poate ob¸ine prin s t t transformarea Fourier a extensiei antisimetrice a secven¸ei.. . cu a a a t t parametru de corela¸ie ρ ∈ [−0... a a t u(N − 1).      0 ..... .. k = 0.. N u(N + 2 + n) = u(n) (4.Transform˘rile direct˘ ¸i invers˘ a unei seceven¸e u sunt definite ca: a as a t v(k) = 2 N +1 2 N +1 N−1 u(n) sin n=0 N−1 π(k + 1)(n + 1) . Atunci SIN(u) = Im −j(−1)k Fourier(u) (4.5. ..42) Q =  .. u(0).. . 0 −ρ 1 a Dac˘ not˘m cu sk coloana k a matricii transform˘rii sinus. 0 1 −ρ 0 . N − 1 N +1 π(k + 1)(n + 1) . ¸i definim t s u(0) = u(N + 1) = 0 u(n) = −u(N − n) ... atunci: a a Qsk = λk sk Aceast˘ proprietate revel˘ faptul c˘ transfomata sinus se comport˘ precum transformata a a a a Karhunen-Loeve pentru orice clas˘ de semnale a c˘ror matrice de covaria¸ie este de forma a a t (4. Dar aceast˘ form˘ este tipic˘ secven¸elor sta¸ionar Markov de ordinul 1.. t 55 .39) Una dintre propriet˘¸ile importante ale transformatei sinus se refer˘ la leg˘tura acesteia at a a cu transformata Fourier: transformata sinus a unei secven¸e nu este partea imaginar˘ t a a transformatei Fourier a aceleia¸i secven¸e... . a O alt˘ proprietate important˘ a transformatei sinus este aceea c˘ vectorii bazei sinus a a a (coloanele matricii S) sunt vectori proprii pentru orice matrice simetric˘ tridiagonal˘ de a a forma:   1 −ρ 0 . n = 1.. n = 0.40) Aceasta înseamn˘ c˘ secven¸a u este 0.42). u(1). . N − 1 N +1 (4.. −u(N −2).. 0. −u(1).. Fie N par. 0    (4.38) u(n) = v(k) sin k=0 (4. 0.

mai mult. Limit˘rile opera¸iilor a t a t liniare de filtrare apar îns˘ în momentul în care se consider˘ zgomote ce nu au distribu¸ie a a t normal˘. nu mai sunt aditive. Aceasta a a a s înseamn˘ c˘ imaginea va fi uniform acoperit˘ de puncte foarte închise (negre) ¸i foarte deschise (albe).deci care asigur˘ probabilit˘¸i nenule de t a a a at apari¸ie a unor valori mult diferite de medie. a s Exemplul cel mai simplu de astfel de zgomot este zgomotul impulsiv. Asemenea erori apar în por¸iunile de achizi¸ie ¸i transmisiune ale sistemut t s lui de prelucrarea ¸i analiza imaginilor (din cauza erorilor în convertorul analog-digital. având mai multe t s caracteristici utile. s din cauza erorilor de înregistrare pe mediile magnetice de stocare sau de pe canalul de transmisiune). caracterizat de impulsuri pozitive ¸i negative de amplitudine maxim posibil˘ (relativ la num˘rul de nivele de s a a a cuantizare ale imaginii) care afecteaz˘ prin înlocuire o parte din pixelii imaginii. Zgomotul impulsiv nu este singurul model de degradare neliniar˘: exist˘ zgomote dea a 56 . acestea au a at t fost primele opera¸ii utilizate. Dac˘ o asemena imagine ar fi filtrat˘ liniar (cu un filtru de mediere sau poate cu un filtru a a de reliefare) rezultatul ar fi o accentuare a punctelor de zgomot ¸i o corupere a punctelor s cu valori corecte din jurul lor.Capitolul 5 ˘ FILTRAREA NELINIARA A IMAGINILOR Opera¸iile de filtrare studiate pân˘ în prezent au fost caracterizate esen¸ial (din punct de t a t vedere matematic) de c˘tre principiul liniarit˘¸ii (sau superpozi¸iei). având un suport teoretic solid ¸i desigur. Istoric. O mare parte a aplica¸iilor curente de prelucrare a imaginilor probabil t c˘ se pot rezolva suficient de precis folosind doar opera¸ii liniare. rezultatul fiind ceea ce se nume¸te zgomot de tip sare ¸i piper (vezi s s figura 5. Aceste valori aberante (mult mai mari sau t mai mici decât valorile normale ale regiunii în care apar) sunt numite ”outlier”: valori extreme sau erori grosiere. ¸i. este posibil ca asemenea valori s˘ apar˘ ¸i ca urmare a unui zgomot aditiv a as caracterizat de o distribu¸ie “cu coad˘ lung˘” .1).

x(1) . x(n) }.1 Filtrarea de ordine Filtrele de ordine sunt operatori locali: filtrul este definit de o fereastr˘ (masc˘). . permi¸ând astfel identificarea ¸i eliminarea s a a t s acestora. ordonate cresc˘tor este {x(1) .1) În mod evident statistica de ordinul 1. 5.2) .... .. xn } = x(k) 57 (5. x(n) (5. Valorile selectate de fereastra de filtrare sunt apoi ordonate cresc˘tor. n]: s rankk {x1 . 5.. . Valorile x(i) se numesc statistici de a ordine de ordinul i ¸i au proprietatea s x(1) x(2) . 10% dintre pixeli au valorile modificate a pendente de valoarea imaginii din pixelul afectat. x2 . O clas˘ esen¸ial˘ de astfel de a t s a t a metode de filtrare sunt cele bazate pe ordonare . x(n) . a a a Este deci evident c˘ se impune considerarea ¸i a altor metode de filtrare. Ideea esen¸ial˘ t a este aceea c˘ opera¸ia de ordonare plaseaz˘ valorile aberante (extremale) la capetele a t a ¸irului de valori (deci într-o zon˘ bine definit˘). este valoarea maxim˘. întâlnit ¸i la filtr˘rile liniare în s s a domeniul spa¸ial). Ie¸irea filtrului de ordine de ordin k este statistica de ordinul k. care nu mai a s respect˘ principiul superpozi¸iei.. este valoarea minim˘. iar statistica de ordinul a a n. precum ¸i compuneri neaditive ale s zgomotului cu imaginea original˘ (multiplicativ˘. cu k ∈ [1. x2 . convolutiv˘) [9]..1: Imagine afectat˘ de zgomot impulsiv.Fig.. ¸i deci sunt neliniare. xn }. care a a selecteaz˘ din imaginea de prelucrat un num˘r de vecini ai pixelului curent (se respect˘ a a a deci acela¸i model de prelucrare al ferestrei glisante.rank order filtering [12]... x(2) .. t a s dac˘ valorile selectate de o fereastr˘ cu n pozi¸ii sunt {x1 . atunci acela¸i set a a t de valori.

ce trebuie apoi rotunjite sau truncheate la numere naturale). Modelul folosit în general se bazeaz˘ pe a ipoteza de independen¸a ¸i distribu¸ie identic˘ a valorilor selectate de fereastra filtrului t˘ s t a (ceea ce conduce..4) Din punct de vedere statistic. intereseaz˘ func¸iile de distribu¸ie ale ie¸irii filtrului (func¸ie a t t s t de densitate de probabilitate. .... În acest caz. y2 . ie¸irea unui filtru de ordine este una dintre valorile selectate de fereastra de s filtrare. xi2 . xin (5. in }). xik−1 t xik t + dt xik+1 . 1 58 . s a cât ¸i din punctul de vedere al simplific˘rii calculelor (nu mai sunt necesare opera¸ii cu s a t numere reale.În acest fel. . probabilitatea ca n − k valori s˘ fie mai mari a a Aceast˘ ipotez˘ a mai fost f˘cut˘ ¸i pentru deducerea transform˘rii de egalizare a histogramei a a a a s a imaginilor.. xn } t + dt (5.6) Statisticile de ordine sunt ob¸inute prin ordonarea cresc˘toare a valorilor xi .6) este realizat prin mai multe evenimente elementare de tipul: xi1 . x2 . atunci probat bilitatea evenimentului ca ie¸irea filtrului de ordine s˘ se g˘seasc˘ în intervalul [t.. .7) rankk {x1 ..7) este dat˘ de probabilitatea ca k − 1 a k−1 valori s˘ fie mai mici decât t (deci F (t)).... i2 . n} a a −→ {i1 .. . xn } + rankk {y1 . fk (x). x2 + y2 . t + dt] s a a a este fk (t)dt.. evenimentul de interes exprimat de (5. Filtrele de ordine nu sunt liniare din cauza opera¸iei de ordonare (ce nu respect˘ principiul t a superpozi¸iei). s a s s a a acesta este un avantaj atât în ceea ce prive¸te p˘strarea valorilor originale din imagine. αx2 + β. . atunci ceea ce intereseaz˘ este a a func¸ia de densitate de probabilitate a ie¸irii filtrului de ordine. 2.... ¸i deci nu se creaz˘ la ie¸ire valori noi (a¸a cum se întâmpl˘ la filtrarea liniar˘)... yn } (5.3) Filtrele de ordine comut˘ îns˘ cu opera¸iile de modificare liniar˘ a valorilor: a a t a rankk {αx1 + β. x2 . . x2 ...5) Probabilitatea evenimentului elementar din (5... .. identic distribuite1 ). . ordonare t a cresc˘toare care poate fi interpretat˘ ca o permutare oarecare a indicilor valorilor ({1. t s Fie t o valoare oarecare din domeniul de varia¸ie al variabilelor aleatoare. xn + yn } = rankk {x1 . xn } + β (5. implicit. Dac˘ not˘m cu f (x) ¸i F (x) func¸iile de densitate a a s t de probabilitate ¸i respectiv reparti¸ie a valorilor pixelilor din imaginea ce se filtreaz˘ cu s t a un filtru de ordine de ordin k cu fereastr˘ de n elemente.... .... . func¸ie de reparti¸ie) atunci când func¸iile de distribu¸ie t t t t ale valorilor de intrare sunt presupuse cunoscute. la ipoteza c˘ valorile pixelilor imaginii sunt variabile aleatoare a independente. αxn + β} = α rankk {x1 . în general putem scrie: t rankk {x1 + y1 .. Evenimentul de interes este deci t adic˘ a t x(k) t + dt (5..

cu un filtru de a a ordine de ordin 2.10) 1 1 x + 2 x( n +1) dac˘ n este par a 2 (n) 2 2 59 .1. 1} pe care o vom filtra cu o fereastr˘ de filtrare de dimensiune 3.4 prezint˘ secven¸ele x. filtrele de ordine comut˘ cu orice func¸ie monoton˘ g: a t a rankk (g(xi )) = g(rankk (xi )) Pe lâng˘ metodele analitice de construire a semnalelor r˘d˘cin˘ [12]. 3.semnale ce nu sunt modificate prin filtrare. 2. 3.9) În [12] sunt prezentate diferite utiliz˘ri ale func¸iei de densitate de probabilitate a ie¸irii a t s filtrelor de ordine. 1. Figura t a a a s a a a a 5. Atunci: a a P = F k−1 (t)(1 − F (t))n−k f (t)dt Pr t x(k) k−1 t + dt = nCn−1 F k−1 (t)(1 − F (t))n−k f (t)dt (5. 3. Orice secven¸a {xi } monoton˘ (cresc˘toare sau descresc˘toare) este un semnal r˘d˘cin˘ t˘ a a a a a a pentru filtrele de ordine. centrat˘. 3. Filtrele de ordine nu a a a s a a afecteaz˘ contururile (zonele de pant˘ abrupt˘) ¸i p˘steaz˘ valoarea zonelor uniforme. 1. Propriet˘¸ile deterministe ale filtrelor de ordine se refer˘ la comportamentul acestora at a t s în zonele tipice ale unei imagini: por¸iuni netede ¸i contururi. adic˘: a k−1 Num˘rul total de evenimente de tipul (5. 3. Aceast˘ a t t a secven¸a este invariant˘ la filtr˘rile urm˘toare ¸i este deci un semnal r˘d˘cin˘. mai ales pentru determinarea comport˘rii asimptotice (n −→ ∞) a a filtrelor. xn } = (5. x2 .7) este nCn−1 (n moduri de alege o valoare din a k−1 cele n. 3. 3. S˘ consider˘m spre exemplu secven¸a unidimensional˘ x = {0. 1. t + dt] (deci f (t)dt). 2.1 Filtrul median Filtrul median este un filtru de ordine a c˘rui ie¸ire este statistica de ordine de ordin a s central a setului de valori selectate de fereastra de filtrare. a t t iar dup˘ a doua filtrare se ob¸ine secven¸a x2 = {0. x1. 0}. semnalele a a a a a r˘d˘cin˘ se ob¸in prin filtrarea repetat˘ a unui semnal oarecare. 3. . x2.. 1. t a a t a 1. 1. 1. Aceste comport˘ri au fost extinse la investigarea clasei mai generale de semnale r˘d˘cin˘ a a a a . la fiecare dintre aceste alegeri corespunzând Cn−1 moduri de a alege din cele n − 1 valori r˘mase k − 1 valori care s˘ fie mai mici ca t). 1. 1... 2. 2. 0}. 1. 1.ca t + dt (deci (1 − F (t))n−k ) ¸i probabilitatea ca o valoare s˘ fie cuprins˘ în intervalul s a a [t. 2. 1. 1. 1. în practic˘. 3. t 5. 2. 3. 3.8) ¸i deci func¸ia de densitate de probabilitate a ie¸irii filtrului de ordine de ordin k este: s t s k−1 fk (x) = nCn−1 F k−1 (x)(1 − F (x))n−k f(x) (5. pân˘ la ob¸inerea invaria a a t a a t an¸ei. x( n+1 ) dac˘ n este impar a 2 median{x1 . În plus. 3. Dup˘ prima filtrare se ob¸ine secven¸a x1 = {0.

a a a 4 2 0 0 2 4 6 8 10 12 14 Fig. 5. 5.3: Rezultatul primei filtr˘ri a secven¸ei ini¸iale. a 60 . 5. ob¸inut dup˘ dou˘ itera¸ii ale a a a t a a t filtr˘rii.4: Semnal r˘d˘cin˘ al filtrului de ordine considerat. a t t 4 2 0 0 2 4 6 8 10 12 14 Fig. prin filtr˘ri de ordine repetate acesta se va transforma t a într-un semnal r˘d˘cin˘.2: Semnal ini¸ial oarecare.4 3 2 1 0 2 4 6 8 10 12 14 Fig.

a a Efectele de filtrare a zgomotului impulsiv (de tip sare ¸i piper) sunt evidente.. filtrul a a a median se folose¸te doar cu ferestre de filtrare de dimensiune impar˘. ie¸irea filtrului median. x2 . s spunem c˘ în acele pozi¸ii filtrul a fost str˘puns de impulsuri (care deci au ajuns la a t a ie¸irea filtrului). x2 ..5: Imagine filtrat˘ cu filtru median cu fereastr˘ de 3 x 3. xn } 2 (5.5 prezint˘ rezultatul filtr˘rii cu un filtru median cu fereastr˘ p˘trat˘ de 3 x 3 a a a a a puncte a imaginii degradate cu zgomot impulsiv din figura 5. ¸i atunci a a t a a s este definit˘ ca media aritmetic˘ a valorilor vecine centrului imaginar. valorile s punctelor de zgomot sunt 0 sau 255 ¸i deci. a iar pentru o fereastr˘ de filtrare de 25 de puncte. În practic˘.. 2 61 .1. medianul este statistica de a a a 2 ordinul 2 . În imaginea filtrat˘ median (figura 5. s Str˘pungerea filtrului median se produce atunci când în fereastra de filtrare avem m˘car a a n+1 impulsuri de zgomot de aceea¸i valoare. a Figura 5. medianul este statistica de ordinul 5. în cazul secven¸elor s t t (ferestrelor de filtrare) de dimensiune par˘. medianul este statistica de ordinul 13. a a a a Separabilitatea semnific˘ (ca ¸i în cazul transform˘rilor unitare) realizarea opera¸iei întâi a s a t Aceasta înseamn˘ deci c˘ exemplul de construire a semnalului r˘d˘cin˘ prezentat anterior este reaa a a a a lizat pentru un filtru median. aceast˘ pozi¸ie central˘ nu exist˘. . Fig.5) se observ˘ totu¸i existen¸a a a s t unor puncte albe ¸i negre (puncte de zgomot) ce nu au putut fi eliminate prin filtrare. dup˘ ordonare se vor afla la “capetele” ¸irului s a s de valori.Ie¸irea filtrului median este deci valoarea din centrul secven¸ei ordonate.. 5. ceea ce conduce la s a posibilitatea de a scrie: median{x1 . pentru o fereastr˘ filtrare cu 9 puncte. .. xn } = rank n+1 {x1 .. fiind statistica de ordin central.11) Aceasta înseamn˘ c˘ dac˘ fereastra de filtrare are 3 puncte. este situat˘ departe s a de valorile extreme. Probabilitatea de str˘pungere a unui filtru median este dependent˘ de s a a procentul de puncte de zgomot din imagine ¸i de dimensiunea ferestrei de filtrare folosite. s 2 O variant˘ a filtrului median cu fereastr˘ de filtrare p˘trat˘ este filtrul median separabil.

t t s Filtrul de minim (filtrul de ordine de ordin 1) ¸i filtrul de maxim (filtrul de ordine de ordin n) sunt s singurele filtre de ordine separabile. Prelucr˘rile realizate asupra valorilor selectate de aceast˘ fereastr˘ de filtrare a a a sunt evident diferite.5). 62 . a a a 5. Singurul factor de s a t reglaj al filtrelor de ordine este ordinul statisticii selectate la ie¸ire4 .1. a a a Fig.pe linii. ¸i apoi pe coloanele imaginii. prin varierea coeficien¸ilor de ponderare). a¸a ca în cazul filtrelor liniare. de¸i prezint˘ avantaje din punctul a a a a s a de vedere al timpului de calcul necesar. Este s evident c˘ rezultatul acestei opera¸ii de filtrare nu coincide cu rezultatul filtr˘rii mediane a t a 3 cu fereastr˘ p˘trat˘ (figura 5. se str˘punge mai u¸or decât filtrul median cu a s fereastr˘ p˘trat˘ din care a derivat. s Este evident c˘ ponderarea filtrelor de ordine nu se poate face prin multiplicarea valoria lor selectate de fereastra de filtrare cu diferi¸i coeficien¸i.2 Filtrele de ordine ponderate ¸i structurile multietaj s Atât filtrele liniare cât ¸i filtrele de ordine se bazeaz˘ pe acela¸i principiu al ferestrei s a s glisante.6 prezint˘ rezultatul filtr˘rii mediane separabile cu ferestre a a a a a de dimensiune 3 a imaginii cu zgomot impulsiv din figura 5. a Se remarc˘ faptul c˘ aceast˘ structur˘ de filtrare. pe baza unor ferestre de filtrare liniare. 5.6: Rezultatul filtr˘rii cu un filtru median separabil. rezultatul filtr˘rii mediane a cu fereastr˘ p˘trat˘ 3 x 3 este prezentat în figura 5.1. 4 Zamperoni a propus adaptarea ordinului statisticii folosite ca ie¸ire a filtrului de ordine prin k = s 1 2 n 3 + i=1 x(i) −x(1) x(n) −x(1) . dar se poate totu¸i remarca faptul c˘ structura de filtrare liniar˘ s a a permite o flexibilitate mai mare (se pot realiza un num˘r infinit de filtre liniare pentru o a aceea¸i fereastr˘ de filtrare.

1. cu excep¸ia coeficientului ce corespunde pixelului curent prelucrat. 2. multisetul rezultant este 1. ponderaa s rea filtrelor de ordine se refer˘ la repetarea de un num˘r fixat de ori a valorilor selectate a a de fereastra de filtrare. 2. 3. 1. 2. Dac˘ consider˘m t 3. 2. 3. 1. 3. 4. reprezentat în figura 5. valorile de pe pozi¸iile vecinilor imedia¸i (orizontali ¸i verticali) a t t s sunt repetate de câte 2 ori. iar ordinul statisticii mediane este wi + 1 j=1 (presupunând un num˘r impar de valori în multiset). Mul¸imea de valori ce rezult˘ se nume¸te multiset. 1 2 1 3. 63 . maxim) aplicate succesiv. ¸i deci ordinul statisticii s 1 2 n maxime este j=1 wi . median pe vertical˘ ¸i valoarea a a s curent˘). 3.8 ¸i max/min-median (maxim sau minim din medianele a s pe vertical˘. a Structurile multietaj grupeaz˘ câteva filtre de ordine (median. statistica median˘ ce corespunde a a 4 3 5 acestei situa¸ii este 3 (setul ordonat de valori fiind 1. Ponderile wi t a s ata¸ate fiec˘rei pozi¸ii de filtrare vor fi numere naturale nenule. 3. Cele mai r˘spândite structuri sunt cele de tip a median multietaj (median din median pe orizontal˘. a a  1 2 1 acum filtrul median ponderat cu masca W =  2 3 2 . 1. t a Spre exemplu s˘ consider˘m por¸iunea de imagine  a a t selectat˘ de o fereastr˘ de filtrare de a a  1 3 3 dimensiune 3 x 3. cu ferestre de filtrare diferite. a a a modalitatea de a înt˘ri influen¸a unei anume valori este de a o repeta de mai multe ori.care ar fi de a¸teptat ca s˘ aib˘ o influen¸a s a a t˘ mai puternic˘ asupra rezultatului filtr˘rii decât vecinii s˘i). 5) ceea ce face ca medianul s˘ fie 2 (¸i deci o valoare mai apropiat˘ de valoarea original˘ din a s a a punctul curent prelucrat). 4. ce exprim˘ num˘rul de s a t a a repeti¸ii al valorii corespunz˘toare în multiset. reprezentat în figura 5. 3. 3. 4. 2. A¸adar. 2. în care to¸i coeficien¸ii de ponderare (repeti¸ie) sunt t t t 1.curent prelucrat . 3. 2. Un caz particular destul de des utilizat este acela al a filtrelor de ordine central ponderate. 2. 5 (sau ordonat 1. iar valorile de pe pozi¸iile vecinilor de pe diagonal˘ sunt t a considerate o singur˘ dat˘. 3. 3. 1. 2. 5). 2. Masca de ponderare W semnific˘ faptul c˘ valoarea central˘ a a a este repetat˘ de 3 ori.Ponderarea are ca scop înt˘rirea influen¸ei anumitor pixeli din fereastra de filtrare (de a t exemplu pixelul central . ce are o valoare mai t mare ca 1. orizontal˘ ¸i cele dou˘ diagonale ale ferestrei de filtrare p˘trate centrate în a as a a punctul curent prelucrat). minim. a t crescând astfel probabilitatea de a o reg˘si ca statistica de ordin dorit. 3. 2.7. Filtrul de ordine rezultat se poate scrie ca: a a rankk (xi wi ) = x(k) n Este evident c˘ multisetul de valori con¸ine a t j=1 n wi termeni. 2. Având în vedere c˘ rezula a a a tatul filtr˘rii (deci valoarea unei anumite statistici) este determinat˘ în urma ordon˘rii. ale c˘rei valori sunt  2 2 1  .

median. 5. 5. Fig. a a 64 .8: Structur˘ de filtrare de tip median .Fig. bazat˘ pe o fereastr˘ de filtrare a a a p˘trat˘ de dimensiune 3.7: Structr˘ multietaj de tip max / min .median. bazat˘ pe o fereastr˘ de filtrare a a a de dimensiune 3.

iar l este t parametrul de reglaj al filtrului. iar dac˘ k = 2 . Valoarea k este un întreg din intervalul [0. în rest (5. iar k este t parametrul de reglaj al filtrului. Valoarea k este un întreg din intervalul [0.5. dac˘ a 2 l = 0 filtrul de comport˘ ca un filtru de reliefare extrem˘.1 t 65 .. iar dac˘ l = n+1 . n+1 ]. iar restul nuli).14) t Este evident c˘ prin varierea coeficien¸ilor wi se pot ob¸ine diferite filtre.13) 5. în rest (5.2 Filtre de ordine de domeniu Filtrele de ordine de domeniu (filtre LUM — Lower-Upper-Middle [18]) introduc o posibilitate de adaptare ¸i reglare a filtrelor de ordine. xn }) = wi x(i) i=1 (5.12) unde x∗ este valoarea ce corespunde originii ferestrei de filtrare cu n pozi¸ii. Ie¸irea unui L-filtru este s s o combina¸ie liniar˘ a statisticilor de ordine: t a n L({x1 .. s Valoarea y de ie¸ire a filtrului LUM de netezire este definit˘ ca: s a  a  x(k) . dac˘ x(l) < x∗ < (l) 2 x +x(n−l+1) y= x . 2 unde x∗ este valoarea ce corespunde originii ferestrei de filtrare cu n pozi¸ii. dac˘ x∗ < x(k) x(n−k+1) .3 L-filtre L-filtrele [12] au fost introduse din dorin¸a de a oferi o mai mare flexibilitate opera¸iilor t t de filtrare neliniar˘ bazate pe ordonare. n+1 ]. Valoarea y de ie¸ire a filtrului LUM de conturare este definit˘ ca: s a  x +x(n−l+1) a  x(l) . dac˘ x∗ > x(n−k+1) a y=  ∗ x . inclusiv filtrele a t de ordine (un singur coeficient egal cu 1.. filtrul este a a a 2 un filtru trece tot (y = x∗ ). . pasul firesc de dezvoltare a fost combinarea a tuturor statisticilor de ordine în valoarea de la ie¸irea filtrului. Coeficien¸ii celor mai uzuale t L-filtre sunt prezenta¸i în tabelul 5. dac˘ (l) 2 a < x∗ < x(n−l+1)  (n−l+1) x∗ . filtrul este un a a filtru median (y = x( n+1 ) ). dac˘ a 2 n+1 ∗ k = 0 filtrul de comport˘ ca un filtru trece tot (y = x ). x2 .

n − αn] / Tabel 5. i ∈ [αn + 1.. Toate s filtrele prezentate în tabelul 5.5. n − αn] ai = 0.8)) ¸i suma 0 pentru un filtru de reliefare (conform (3.9). t Se poate demonstra cu u¸urin¸a c˘ coeficien¸ii L-filtrelor trebuie s˘ îndeplineasc˘ acelea¸i s t˘ a t a a s condi¸ii de normare ca ¸i coeficien¸ii filtrelor liniare: s˘ aib˘ suma 1 pentru un filtru de t s t a a netezire (conform (3. i ∈ {k. i ∈ {1. x2 . ai = 0.9)) a a a este gradientul morfologic — diferen¸a între valoarea maxim˘ ¸i minim˘ din fereastra de t as a filtrare curent˘: a grad{x1 . n + 1 − k} / ak = 1/n(1 − 2α). maxim.Filtru Filtru de ordine de ordin k.. minim) mediere aritmetic˘ a tip medie α-reglabil˘ a mijloc Tabel 5. .. al c˘ror scop este m˘rirea a a uniformit˘¸ii regiunilor imaginii prin eliminarea diferitelor zgomote suprapuse acesteia.2: L-filtre utilizate pentru reducerea diferitelor tipuri de zgomote. rankk Filtru de mediere aritmetic˘ a Filtru de mijloc Filtru de cvasi-mijloc Medie α-reglabil˘ a Coeficien¸i t ak = 1.9)).4 Aspecte de implementare Implementarea filtrelor neliniare de ordine sau a L-filtrelor urmeaz˘ acelea¸i principii a s ca ¸i oricare tehnic˘ de tip fereastr˘ glisant˘ (ca filtrarea liniar˘) în ceea ce prive¸te s a a a a s 66 . i ∈ [αn + 1.5. xn } = x(n) − x(1) Folosirea unui asemenea operator produce o imagine în care valoarea fiec˘rui pixel este a invers propor¸ional˘ cu gradul de uniformitate (netezime) al vecin˘t˘¸ii acestuia (vezi t a a at figura 5. n} / ak = an+1−k = 0.2 prezint˘ filtrele cele mai potrivite pentru eliminarea diferitelor tipuri de zgoa mote.1: Coeficien¸ii celor mai uzuale L-filtre. i = k ai = 1/n a1 = an = 0. Tip zgomot impulsiv (sare ¸i piper) s gaussian impulsiv + gaussian uniform Filtru filtru de filtru de filtru de filtru de ordine (median. care s˘ satisfac˘ deci (3. at Tabelul 5.1 sunt deci filtre de netezire. ai = 0. Un exemplu de filtru de reliefare (cu comportare derivativ˘. ai = 0. 5.

Fig. Codul Matlab ce urmeaz˘ implementeaz˘ un L-filtru cu o fereastr˘ p˘trat˘ de dimensiune a a a a a 3 x 3.5. for i=2:nrlin-1 for j=2:nrcol-1 temp=in(i-1:i+1. Sort˘rile folosite în a a a implementarea filtrelor neliniare de ordine prelucreaz˘ seturi mici de date (s˘ nu uit˘m c˘ a a a a rareori o fereastr˘ de filtrare dep˘¸e¸te dimensiunea de 25 de pixeli). efectele de margine sunt evitate prin neprelucrarea primei s ¸i ultimei linii. respectiv coloane a imaginii. ponderile filtrului sunt stocate în vectorul w (1 linie. 67 . Trebuie îns˘ remars a cat c˘ o metod˘ de sortare de complexitate O(n2 ) nu este neap˘rat mai neeficient˘ decât a a a a o metod˘ de sortare O(n): complexitatea unui algoritm exprim˘ comportarea asimptoa a tic˘ a num˘rului de opera¸ii necesare. t În teoria algoritmilor au fost dezvolta¸i numero¸i algoritmi de sortare (ordonare cresc˘t s a toare). Ceea ce s este particular filtrelor din aceast˘ categorie este etapa de ordonare a valorilor selectate a de fereastra de filtrare în fiecare pozi¸ie. centrat˘. 5.j-1:j+1). în condi¸iile în care dimensiunea caracteristic˘ n a a a t t a setului de date ce se prelucreaz˘ este foarte mare (la limit˘ n −→ ∞). s [nrlin. 9 coloane. L-filtrul este aplicat imaginii in t (de dimensiuni nrlin ¸i nrcol). prima a pozi¸ie corespunzând coeficientului statisticii minime). sortare prin detera a minare succesiv˘ de extreme). ¸i deci complexitatea a as s s O() nu este un criteriu valid de alegere a unui algoritm de sortare. out=in. problemele legate de realizarea formei ferestrei de filtrare ¸i efectele de margine. a c˘ror complexitate de calcul variaz˘ de la O(n2 ) (bubble sort. Rezultatul este înscris în imaginea out.nrcol]=size(in). O(n log n) (sortare prin interclasare sau inser¸ie) pân˘ la a t a O(n) (pentru determinare doar a extremelor ¸i a statisticii mediane).9: Operatorul gradient morfologic aplicat imaginii filtrate din figura 5. temp=sort(temp(:)).

} for (i=1. temp[k+1]=temp[k].dummy.k<9. while (! sortat) do { sortat=true.k++) if (temp[k]>temp[k+1])then { dummy=temp[k+1]. img_out=(int**)malloc(NRLIN*sizeof(int*)).i++) img_out[i]=(int*)malloc(NRCOL*sizeof(int)).j++) { for (k=0.} for (i=0. pentru filtrarea unei imagini a cu NRLIN linii ¸i NRCOL coloane. end end Se remarc˘ folosirea func¸iei standard sort ce realizeaz˘ opera¸ia de ordonare cresc˘toare a t a t a a valorilor. } 68 . prima ¸i ultima linie ¸i coloan˘ sunt identice cu cele s s s din imaginea ce se filtreaz˘ (remarca¸i buclele for de alocare a spa¸iului pentru imaginea a t t filtrat˘ ¸i ini¸ializarea valorilor acesteia). boolean sortat.i<NRLIN-1.i++) for (j=1. for (i=0.j<NRCOL-1. temp[k]=dummy.i<NRLIN.i<NRLIN.i++) { img_out[0][i]=img[0][i]. În cele ce urmeaz˘ vom considera un exemplu de implementare a unui filtru cu ordonare a a a a dup˘ rang relizat cu o fereastr˘ centrat˘ de 3 x 3 pixeli. img_out[i][NRCOL-1]=img[i][NRCOL-1]. img_out[NRLIN-1][i]=img[NRLIN-1][i].i<NRCOL. sortat=false.i++) { img_out[i][0]=img[i][0].k++) temp[k]=img[i-1+k/3][j-1+k%3].k<8.out(i. for (i=0. sortat=false. ie¸irea L-filtrului este produsul scalar al vectorului de coeficien¸i ai filtrului s t cu vectorul statisticilor de ordine. for (k=0. } } img_out[i][j]=temp[5].j)=fix(w*temp). as t unsigned char temp[9].

0. Sortarea implementat˘ este de tip bubble sort. 2. se modific˘ un num˘r relativ mic de valori (restul r˘mânând neschimbate). 5. S˘ consider˘m a a a urm˘torul exemplu: setul de valori selectate de fereastra de filtrare este {1. a 4. 1. 7. Aceasta poate conduce la ideea p˘str˘rii unei p˘r¸i a setului de valori ordonate. 0. temp[2]=img[i-1][j+1]. a a a a Structura de program folosit˘ anterior realizeaz˘ ordonarea vectorului de valori pentru fiecare pozi¸ie a ferestrei de filtrare. temp[4]=img[i][j]. Atunci statisticile de ordine de ordin 1—5 69 . fiecare pozi¸ie a vectorului ce con¸ine a t t valorile extrase de fereastra de filtrare este comparat˘ cu pozi¸ia urm˘toare. Filtrul de ordine folosit este medianul (se preia în imaginea rezultat statistica de ordine cu num˘rul 5. 1. 0}(valori din intervalul 0—7).temp[1]=img[i-1][j]. 1. temp[8]=img[i+1][j+1]. 7. Citirea t acestor valori se face printr-un ciclu. deci statistica median˘).temp[7]=img[i+1][j]. 0. 6. 5. 1. a¸adar putem asocia oric˘rei histograme t s a h o histogram˘ cumulativ˘ (5. ¸i deci necesitatea relu˘rii verific˘rii a a a s a a ordinii. 2. 3.temp[3]=img[i][j-1]. .10) reprezint˘ num˘rul de puncte ce au a a o anumit˘ valoare ¸i este echivalent˘ cu func¸ia de densitate de probabilitate a unei a s a t variabile aleatoare.temp[5]=img[i][j+1]. L − 1 (5.Valorile selectate de fereastra de filtrare sunt stocate în vectorul de 9 pozi¸ii temp. Pentru aceea¸i varibil˘ aleatoare exist˘ îns˘ ¸i func¸ia de reparti¸ie — s a a as t t primitiva func¸iei de densitate de probabilitate. cele dou˘ valori sunt interschimbate. indicatorul a a a sortat indic˘ efectuarea a m˘car unei interschimb˘ri. Determinarea valorii statisticilor de a a ordine pentru un set de valori pe baza histogramei acestora este imediat˘. 0. temp[6]=img[i+1][j-1].15) Histograma cumulativ˘ în punctul i va reprezenta deci num˘rul de puncte (pixeli) a a a c˘ror valoare (nivel de gri) este mai mic˘ decât i. 1. 2. 6. 1. 6. iar dac˘ a t a a ordinea cresc˘toare nu este respectat˘. a O alt˘ variant˘ de determinare a statisticilor de ordine se bazeaz˘ pe folosirea histogramei a a a valorilor din fereastra de filtrare. 3. Aceast˘ alocare este echivalent˘ cu liniile de t a a cod: temp[0]=img[i-1][j-1]...15): a a i H(i) = j=0 h(j). Histograma (2. o serioas˘ economie de timp se poate realiza dac˘ se t a a ¸ine seama c˘ la mutarea ferestrei de filtrare de la un pixel al imaginii la un pixel vecin t a a a a acestuia.. cu i = 0. 1. în care a a at s˘ se intercaleze valorile noi. bazându-se pe introducerea unei rela¸ii de echivalen¸a t t˘ între ordinea de baleiaj a ferestrei ¸i pozi¸ia valorilor în vector (economia nu este de timp s t de execu¸ie ci de timp de scriere a codului). Histograma acestui set este h = 5 7 3 2 1 2 3 2 iar histograma cumulativ˘ a este H = 5 12 15 17 18 20 23 25 .

iar histograma cumulativ˘ va avea. pentru o statistic˘ oarecare de ordin r. cu multe t s intr˘ri nule. a 70 . statisticile de ordine de ordin 6 (H(0) + 1) — 12 (H(1)) au valoarea 1. . statisticile de ordine de ordin 19 (H(4) +1) — 20 (H(5)) au valoarea 5..16).. corespunz˘tor. statisticile de ordine de ordin 21 (H(5) + 1) — 23 (H(6)) au valoarea 6. Regula de decizie general˘ este: statisticile de ordine de ordin H(j − 1) + 1 pân˘ la H(j) au valoarea j. 1. statisticile de ordine de ordin 13 (H(1) + 1) — 15 (H(2)) au valoarea 2. statisticile de ordine de ordin 24 (H(6) + 1) — 25 (H(7)) au valoarea 7. ¸i atunci histograma va fi un vector rar (sparse). statisticile de ordine de ordin 16 (H(2) + 1) — 17 (H(3)) au valoarea 3. L − 1 ¸i H(−1) = 0. 2. a a adic˘ doar memorarea histogramei. valoare) din histograma cumulativ˘. o reprezentare mai eficient˘ (atât ca memorie ocupat˘.. Se poate îns˘ observa c˘ histograma într-o fereastr˘ de filtrarea va selecta a a a a relativ pu¸ine valori diferite. multe por¸iuni constante. trebuie identificat num˘rul j astfel ca: a a H(j − 1) + 1 r H(j) (5. cu a a j = 0. cât ¸i ca timp de t a a s t t c˘utare) este memorarea doar a tranzi¸iilor (pozi¸ie. a a a t În aceste condi¸ii. statistica de ordine de ordin 18 (H(3) +1 = H(4)) are valoarea 4. timp ce este direct propor¸ional cu num˘rul a t a de nivele de gri din imagine (¸i deci lungimea vectorului histogram˘ sau histogram˘ s a a cumulativ˘).16) Problemele ce apar la o asemenea implementare sunt legate în primul rând de timpul de determinare a num˘rului j ce satisface (5. s Deci.(H(0)) au valoarea 0.

telemetriei. Scopul t t acestor transform˘ri este extragerea de forme mai simple din formele ini¸iale (complexe) a t ale imaginii. [2]). microscopiei electronice. Folosit˘ s t a a a a a a a a a corespunz˘tor. a t as t Ideea de baz˘ a oric˘rei prelucr˘ri morfologice este considerarea imaginii ca un ansamblu a a a (mul¸ime. De¸i aceste abord˘ri clasice sunt justificate ¸i dau rezultate în multe s a s cazuri. analizei de scen˘. p˘strând caracteristicile esen¸iale de form˘ ¸i eliminând irelevan¸ele.Capitolul 6 ELEMENTE DE MORFOLOGIE ˘ MATEMATICA În mod tradi¸ional. a a a Morfologia matematic˘ este utilizat˘ ca o abordare natural˘ a proceselor de vedere artificial˘. morfologia matematic˘ conduce la prelucr˘ri ce simplific˘ structura imaginii. deci a as a s t˘ ¸tiin¸a formelor). dupa cum indic˘ ¸i numele (morphos — form˘. deoarece tr˘s˘turile ¸i respectiv identificarea obiectelor sunt corelate cu forma. numite elemente structurante. Aplica¸iile t a t industriale sunt impulsionate ¸i de continua dezvoltare ¸i îmbunatatire a arhitecturilor s s de calcul ce implementeaz˘ transform˘ri morfologice. a aa s Principalele aplica¸ii sunt în domeniile roboticii. realizeaz˘ o abordare axat˘ pe form˘ a prelucr˘rii imaginilor. a a 71 . logos — ¸tiin¸a. aplicarea lor este limitat˘ de problema fundamental˘ impus˘ de semnalele de a a a tip imagine: modul de reprezentare a formei sau structurii geometrice existente într-un semnal. inspec¸iei automate a produselor. imagisticii biot medicale. Morfologia matematic˘. prelucrarea semnalelor multidimensionale (¸i a imaginilor în particut s lar) a fost bazat˘ pe exploatarea conceptelor ¸i teoriei sistemelor liniare ¸i a transformatei a s s Fourier ([9]. reuniune de p˘r¸i) asupra c˘ruia se aplic˘ transform˘ri a c˘ror esen¸a este t at a a a a t˘ compara¸ia cu mul¸imi (ansambluri) mai simple.

a a datorit˘ situ˘rii sale la baza construc¸iei morfologiei matematice. a recunoa¸te forma implic˘ identificarea local˘ a p˘r¸ilor sale t s a a at componente ¸i deci o opera¸ie simpl˘ de potrivire de m˘¸ti (pattern matching).1 Transform˘ri morfologice de baz˘ a a Transformarea Hit or Miss Transformarea Hit or Miss a fost introdus˘ în [14] ¸i reprezint˘ poate cea mai primar˘ a s a a ¸i evident˘ exemplificare a conceptului de studiu al formei. t s a a Figura 6. a plasate în diverse pozi¸ii. t Este evident c˘ {A. unde {Ai } formeaz˘ o parti¸ie t a t a spa¸iului. Se va ar˘ta îns˘ c˘ este a a t a a a posibil˘ exprimarea acesteia ¸i în func¸ie de transform˘rile morfologice fundamentale larg a s t a utilizate (erodarea ¸i dilatarea).2 prezint˘ o astfel de transformare.1 prezint˘ o exemplificare a transform˘rii Hit or Miss.6. s 72 . s t a Trebuie remarcat faptul c˘ oric˘rui element structurant trebuie s˘ i se ata¸eze o origine. a Transformarea Hit or Miss.1) t În (6. B este elementul structurant ¸i (Bi )x este mul¸imea Bi translatat˘ cu vectorul x. a at a Transformarea Hit or Miss se define¸te pe baza unei parti¸ii (B1 .1. AC este complementara mul¸imii t a a A. Astfel se pot cita a¸a numitele “cazuri”: cazul petrografic s (provenit din analiza hidrocarburilor ¸i a mineralelor). în care p componente nu ocup˘ înt aa a s a treg spa¸iul ¸i se pot întrep˘trunde (cazul zonelor de p˘dure cu diferite specii de copaci). în care p componente împart exact s spa¸iul (f˘r˘ a l˘sa locuri libere) ¸i cazul geografic.1) A este mul¸imea c˘reia i se aplic˘ transformarea. în forma prezentat˘. regiuni.1 6. scheme) individuale independente. dar aceasta nu este singura posibil˘. s t a as Rezultatul aplic˘rii acestei transform˘ri de identificare (numit˘ uneori ¸i transformarea a a a s “totul sau nimic”) este o mul¸ime ale c˘rei puncte satisfac criteriul de identificare a unei a t vecin˘t˘¸i cu masca aplicat˘. Orice form˘ poate fi consis a a derat˘ ca o reuniune de componente (blocuri. Anua a t a mite aplica¸ii practice pot impune îns˘ situa¸ii mai complexe. a c˘ror rezolvare dep˘¸e¸te t a t a as s cadrul morfologiei binare [14]. B2 ) a elementului s t structurant B: B = B1 ∪ B2 ¸i B1 ∩ B2 = ∅ ca: s A B = {x|(B1 )x ⊆ A} ∩ {x|(B2 )x ⊆ AC } (6. prezint˘ un interes mai mult teoretic. AC } formeaz˘ o parti¸ie. a a Se poate observa c˘ aceast˘ transformare produce ca rezultat o mul¸ime de puncte ce a a t satisfac concomitent un set de condi¸ii de tipul (Bi )x ⊆ Ai . a a a s Figura 6.

t 73 .2: Exemplu de transformare Hit or Miss extins˘ pentru o parti¸ie cu trei mul¸imi a t t a spa¸iului imaginii. 6. a t Fig. în particular exemplul prezint˘ determinarea punctelor de tip “col¸ dreapta-jos”.Fig.1: Exemplificare a transform˘rii de identificare a configura¸iilor locale (Hit or a t Miss). 6.

s t 74 . iar figura 6.2 Erodarea morfologic˘ a Erodarea morfologic˘ a mul¸imii A prin elementul structurant B se define¸te ca mul¸imea a t s t punctelor (elementelor) cu care se poate translata elementul structurant astfel încât acesta s˘ fie inclus în mul¸imea de prelucrat A: a t A B = {x|Bx ⊆ A} (6.1.4) A−b = b∈B S Figura 6. ∃a ∈ A astfel încât b + x = a} = = {x|∀b ∈ B.3) Ab (6.3 prezint˘ rezultatul erod˘rii unor mul¸imi discrete. ∃a ∈ A astfel încât x = a − b} = b∈B (6. 6. t ce î¸i con¸in (sau nu) originea.2) Erodare morfologic˘ a mul¸imii A este transformata Hit or Miss a mul¸imii cu un element a t t structurant B = B1 (B2 = ∅): A B = {x|(B1 )x ⊆ A} ∩ {x|(∅)x ⊆ AC } = {x|(B)x ⊆ A} Aceast˘ rela¸ie de defini¸ie se mai poate exprima ca: a t t A B = {x|Bx ⊆ A} = {x|∀b ∈ B. a t Fig.4 prezint˘ rezula a t a tatul erod˘rii unor mul¸imi continue.3: Exemple de erodare a unor mul¸imi discrete cu diferite elemente structurante.6.

3 Dilatarea morfologic˘ a Dilatarea morfologic˘ a mul¸imii A cu elementul structurant B se define¸te ca mul¸imea a t s t punctelor (elementelor) cu care se poate translata elementul structurant astfel încât acesta s˘ aib˘ puncte comune cu mul¸imea de prelucrat A: a a t A ⊕ B = {x|Bx ∩ A = ∅} (6.Fig.5) Erodare morfologic˘ a mul¸imii A este complementara transformatei Hit or Miss a mul¸imii a t t cu un element structurant B = B2 (B1 = ∅): (A⊕B)C = {x|(B1 )x ⊆ A}∩{x|(B2 )x ⊆ AC } = {x|(∅)x ⊆ A}∩{x|(B2 )x ⊆ AC } = {x|(B)x ⊆ AC } A ⊕ B = {x|(B)x ⊆ AC }C = {x|(B)x Rela¸ia de defini¸ie mai poate fi exprimat˘ ¸i ca: t t as A ⊕ B = {x|Bx ∩ A = ∅} = {x|∃b ∈ B. a t 75 .4: Rezultatul erod˘rii unor mul¸imi continue cu un element structurant de tip disc a t (originea elementului structurant este centrul discului).6) = {x|∃b ∈ B. ∃a ∈ A astfel încât x = a − b} = b∈B AC } = {x|Bx ∩ A = ∅} A−b = Ab (6.5 prezint˘ rezultatul erod˘rii unor mul¸imi discrete.1.6 prezint˘ rezula a t a tatul dilat˘rii unor mul¸imi continue. 6. ∃a ∈ A astfel încât b + x = a} = (6. iar figura 6. 6.7) b∈B S Figura 6.

s t Fig. 6. t ce î¸i con¸in (sau nu) originea. 6. 76 .Fig.6: Rezultatul dilat˘rii unor mul¸imi continue cu un element structurant de tip disc a t (originea elementului structurant este centrul discului).5: Exemple de dilatare a unor mul¸imi discrete cu diferite elemente structurante.

aceasta înseamn˘ c˘ a a a t a a va mic¸ora în acela¸i timp fundalul (complementara mul¸imii). deci o dilatare a acestuia. Modificarea dimensiunii obiectua a s lui este strict determinat˘ de forma elementului structurant: un element structurant a simetric (disc. Efectul erod˘rii a a s a este. în general.8) at Interpretarea dualit˘¸ii ca ob¸inerea acelora¸i efecte. pe baza propriet˘¸ilor matematice ale a s a at acestora. a a t a s “se umfl˘”. dar asupra unor mul¸imi complet s t mentare.9) B ¸i (A s B)C = AC ⊕ B (6. corespunz˘tor formei ¸i dimensiunii elementului structurant. efectele se vor manifesta a asupra obiectului pe direc¸ia elementului structurant ¸i în sens contrar acestuia. rezultatele opera¸iilor morfologice t vor fi “translatate” fa¸a de pozi¸ia la care ar fi fost de a¸teptat s˘ apar˘.12) .1. o mic¸orare a obiectului. Efectele t s erod˘rii ¸i dilat˘rii vor fi discutate în continuare.4 Propriet˘¸ile erod˘rii ¸i dilat˘rii at a s a Se observ˘ c˘. dup˘ cum am v˘zut. segment de dreapt˘ centrat în origine) provoac˘ o modificare simetric˘ a a a a dimensiunilor. de unde rezult˘ a (AC ⊕ B)C = {x|Bx ∩ AC = ∅}C = {x|Bx ∩ AC = ∅} = {x|Bx ⊆ A} = A ¸i A s a B = {x|Bx ⊆ A} de unde rezult˘ (AC B)C = {x|Bx ⊆ AC }C = {x|Bx AC } = {x|Bx ∩ A = ∅} = A ⊕ B (6. acesta cre¸te.10) B (6.6. Dac˘ erodarea mic¸oreaz˘ obiectul (mul¸imea). aceasta înseamn˘ a s a t a o m˘rire simultan˘ a fundalului (complementara mul¸imii). este corect˘: dac˘ dilatarea va m˘ri obiectul (mul¸imea). deci va fi echivalent˘ cu o s s t a erodare a fundalului. Dilatarea ¸i erodarea formeaz˘ o pereche de opera¸ii duale: s a t (A ⊕ B)C = AC Demonstra¸ia este imediat˘: t a A ⊕ B = {x|Bx ∩ A = ∅}.11) A ⊕ Bt = (A ⊕ B)−t ¸i A s 77 Bt = (A B)−t (6. Folosind un asemenea element structurant. dac˘ elementul structurant nu este simetric. t˘ t s a a Leg˘tura între transla¸ia elementului structurant (faptul c˘ acesta nu con¸ine originea a t a t poate fi interpretat ca o deplasare) sau a mul¸imii (obiectului) care se prelucreaz˘ ¸i t a s deplasarea rezultatului opera¸iilor morfologice este dat de propriet˘¸ile de invarian¸a la t at t˘ transla¸ie: t At ⊕ B = (A ⊕ B)t ¸i At B = (A B)t s (6. efectul opera¸iei de dilatare este de a m˘ri obiectul. a a t Un caz particular ce poate apare este acela al elementelor structurante ce nu con¸in t originea.

grosimea stratului ad˘ugat sau îndep˘rtat este s a t a a 78 . b ∈ B} = {x|x = a− b. t˘ a a iar erodarea este descresc˘toare: dac˘ B1 ⊆ B2 . ca o at a a a a îngro¸are. invarian¸a la transla¸ie a t t asigur˘ faptul c˘ forma rezultat˘ prin dilatarea sau erodarea unei mul¸imi este aceea¸i. b ∈ B} = λ λ λ λ 1 1 = A + BS = A ⊕ B λ λ 1 1 1 B) = (λAC ⊕ B)C = ( (λAC ⊕ B))C = (AC ⊕ B)C = A λ λ λ 1 B λ B) = A (6. at a Atât dilatarea cât ¸i erodarea sunt cresc˘toare fa¸a de mul¸imea ce se prelucreaz˘ (forma): s a t˘ t a dac˘ A1 ⊆ A2 . În al doilea rând. mul¸imea (forma) rezultat˘ în urma prelucr˘rii va trebui translatat˘ t t a a a în sens opus elementului structurant. atunci: t a 1 1 1 (λA ⊕ B) = A ⊕ B ¸i (λA s λ λ λ Într-adev˘r.13) 1 (λA λ 1 B λ Rela¸iile de invarian¸a la scalare afirm˘ c˘ rezultatul unei transform˘ri morfologice aplit t˘ a a a cate unei versiuni scalate a formei A este identic cu aceea¸i scalare aplicat˘ rezultatului s a transform˘rii morfologice a formei A prin acela¸i element structurant scalat invers. Dac˘ λ este parametrul nenul de scalare. atunci: a a A ⊕ B1 ⊆ A ⊕ B2 ¸i A s B2 ⊆ A B1 (6. a 1 1 1 1 (λA⊕B) = (λA+B S ) = {x|x = λa−b. În acela¸i grup de propriet˘¸i de invarian¸a a opera¸iilor morfologice se încadreaz˘ ¸i s at t˘ t a s invarian¸a la scalare (omotetie). a ∈ A. În primul rând. rela¸iile enun¸ate asigur˘ sut t t t a ficien¸a consider˘rii doar a elementelor structurante ce con¸in originea.15) Aceste propriet˘¸i subliniaz˘ corectitudinea interpret˘rii dilat˘rii ca o ad˘ugare.14) Monotonia fa¸a de elementul structurant folosit este diferit˘: dilatarea este cresc˘toare. iar a erod˘rii ca o sub¸iere. a a a t s indiferent de pozi¸ia mul¸imii prelucrate. atunci a s A1 ⊕ B ⊆ A2 ⊕ B ¸i A1 B ⊆ A2 B (6. un element struct a t turant ce nu con¸ine originea poate fi ob¸inut prin transla¸ie dintr-un element structurant t t t ce con¸ine originea. a ∈ A.Aceste propriet˘¸i de invarian¸a la transla¸ie (transla¸ia obiectului ¸i transla¸ia elementuat t˘ t t s t lui structurant) pot avea mai multe interpret˘ri. a s Propriet˘¸ile de monotonie a unei transform˘ri nu pot fi neglijate la descrierea acesteia.

8). {0n } ∈ B.19) Condi¸ia ca elementul structurant s˘ con¸in˘ originea nu este îns˘ ¸i o condi¸ie necesar˘ t a t a as t a (a se vedea figura 6.17) Condi¸ia ca elementul structurant s˘ con¸in˘ originea nu este îns˘ ¸i o condi¸ie necesar˘ t a t a as t a (a se vedea figura 6. rezultatul dilat˘rii include s s t a forma original˘.dat˘ de elementul structurant. a În general erodarea este antiextensiv˘. Deci cu cât elementul structurant este mai mare. Fig. a a s a În general. adic˘: a a A B⊆A (6.7). {0n } ∈ B. Atunci a t a A B= b∈B S Ab = A ∩ ( b∈B S −{0 n} Ab ) ⊆ A (6. 6.7: De¸i elementul structurant nu î¸i con¸ine originea. (6. Atunci a t a A⊕B = b∈B S Ab = A ∪ ( b∈B S −{0n } Ab ) ⊇ A (6. cu atât a corpul se va m˘ri mai mult în urma dilat˘rii sau se va mic¸ora mai mult în urma erod˘rii. dilatarea este extensiv˘.18) O condi¸ie suficient˘ pentru ca aceast˘ proprietate s˘ fie adev˘rat˘ este ca elementul t a a a a a structurant s˘ con¸in˘ originea. adic˘: a a A ⊆ A ⊕ B. 79 .16) O condi¸ie suficient˘ pentru ca aceast˘ proprietate s˘ fie adev˘rat˘ este ca elementul t a a a a a structurant s˘ con¸in˘ originea.

21) (A B) C = ((A B)C ⊕C)C = ((AC ⊕B)⊕C)C = (AC ⊕(B⊕C))C = A (B⊕C) (6.Fig. proprietate care se exprim˘ ca a a A ⊕ B = (B ⊕ A)S A ⊕ B = A + B S = (AS + B)S = (B + AS ) = (B ⊕ A)S Proprietatea de asociativitate a dilat˘rii se scrie ca a A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C S Într-adev˘r: a A⊕(B ⊕C) = A+(B ⊕C)S = A+(B +C S )S = A+B S +C = (A⊕B)+C = (A⊕B)⊕C S (6. dac˘ un element structurant poate fi considerat a ca descompus prin dilatare în X = B ⊕ C. 6. atunci opera¸ia morfologic˘ efectuat˘ prin t a a elementul structurant respectiv este echivalent˘ cu opera¸iile morfologice prin “p˘r¸ile” a t at descompunerii elementului structurant.8: De¸i elementul structurant nu î¸i con¸ine originea.23) Erodarea nu este nici comutativ˘ (sau pseudocomutativ˘) ¸i nici asociativ˘.20) (6.22) (6. t t a Dilatarea este pseudocomutativ˘. Mai mult. adic˘: a 80 .24) (6. efectuate succesiv. a a s a “asociativitatea” erod˘rii se scrie ca: a (A Într-adev˘r: a B) C=A (B ⊕ C) (6.25) Propriet˘¸ile de asociativitate ale dilat˘rii ¸i erod˘rii pot fi interpretate ¸i ca o “deat a s a s scompunere” a elementului structurant. rezultatul erod˘rii este inclus s s t a în mul¸imea ini¸ial˘.

s a a t (A B) ⊕ B = A ¸i (A ⊕ B) s B=A (6.28) S Ca ) = a∈A a∈A (B ∪ C)S = (B ∪ C)S + A = A + (B ∪ C)S = A ⊕ (B ∪ C) a 81 . Pentru dilatare avem: t t (A ∪ B) ⊕ C = (A ⊕ C) ∪ (B ⊕ C) (A ⊕ C) ∪ (B ⊕ C) = ( Ac ) ∪ ( Bc ) = ( c∈C S c∈C S (6. Dilatarea ¸i erodarea nu sunt opera¸ii inversabile (nu admit o transformare invers˘).A ⊕ X = (A ⊕ B) ⊕ C S ¸i A s X = (A B) C Dilatarea ¸i erodarea sunt transform˘ri (opera¸ii) ce nu p˘streaz˘ num˘rul de conexit˘¸i s a t a a a at (num˘rul de obiecte).9 ¸i 6. “g˘urile” con¸inute într-o form˘ pot fi a a a a t a umplute.27) (A ∪ B)c = (A ∪ B) ⊕ C c∈C S Ac ∪ Bc ) = c∈C S A ⊕ (B ∪ C) = (A ⊕ B) ∪ (A ⊕ C) (A ⊕ B) ∪ (A ⊕ C) = (A + B S ) ∪ (A + C S ) = (B S + A) ∪ (C S + A) = ( = a∈A S S (Ba ∪ Ca ) = a∈A S Ba ) ∪ ( (6. dilatarea nu este inversa erod˘rii ¸i erodarea nu este inversa dilat˘rii.26) O alt˘ categorie de propriet˘¸i se refer˘ la distributivitatea opera¸iilor morfologice fa¸a a at a t t˘ de opera¸iile cu mul¸imi.aplica¸iile ce ar putea folosi o asemenea comportare sunt separarea obiectelor t dup˘ form˘ ¸i dimensiune ¸i eliminarea zgomotului suprapus scenei. Aceste propriet˘¸i ale erod˘rii ¸i dilat˘rii sunt fundamentul folosirii practice a acestora: at a s a prin erodare se pot elimina dintr-o mul¸ime componentele conexe ce sunt mai mici decât t elementul structurant folosit (sau sunt mult diferite de acesta din punctul de vedere al formei) . Rezultatul unei erod˘ri poate fi o mul¸ime vid˘ (dac˘ elementul a a t a a structurant nu poate fi inclus în form˘ pentru nici o pozi¸ie) sau mai multe forme (coma t ponente conexe). a s a exemplele prezentate în figurile 6. Prin dilatare se a a s s pot grupa într-o singur˘ entitate obiecte apropiate ¸i se pot umple golurile înglobate în a s obiecte. Cu s t a atât mai mult. Rezultatul dilat˘rii unei mul¸imi formate din mai multe componente a t conexe poate fi o singur˘ component˘ conex˘.10 ilustreaz˘ aceast˘ afirma¸ie.

Fig. t Fig.10: Dilatarea ¸i erodarea nu sunt transform˘ri inverse una alteia. t 82 . 6.9: Dilatarea ¸i erodarea nu sunt transform˘ri inverse una alteia. 6. ilustrare pentru s a mul¸imi continue. ilustrare pentru s a mul¸imi discrete.

caz în care opera¸ia morfologic˘ efectuat˘ prin t a a elementul structurant respectiv este echivalent˘ cu opera¸iile morfologice prin “p˘r¸ile” a t at descompunerii elementului structurant.31) . a t t s Nota¸iile introduse în acest text sunt diferite pentru opera¸iile Minkowski (adunare + ¸i sc˘dere −) ¸i pentru opera¸iile morfologice (dilatare ⊕ ¸i erodare ). în esen¸a. [7]. adic˘: a A ⊕ X = (A ⊕ B) ∪ (A ⊕ C) Erodarea are propriet˘¸i asem˘n˘toare dilat˘rii fa¸a de intersec¸ia mul¸imilor: at a a a t˘ t t (6. efectuate succesiv.29) A (A B) ∩ (A C) = ( t∈B S (B ∪ C) = (A At ) ∩ ( At ) = t∈C S B) ∩ (A C) At = A t∈(B∪C)S (6. exist˘ o serie de inegalit˘¸i at t a at (rela¸ii de incluziune) de aceea¸i natur˘: t s a A ⊕ (B ∩ C) ⊆ (A ⊕ B) ∩ (A ⊕ C) ¸i (B ∩ C) ⊕ A ⊆ (B ⊕ A) ∩ (C ⊕ A) s A (B ∩ C) ⊇ (A B) ∪ (A C) ¸i (B ∩ C) s A ⊇ (B A) ∩ (C A) Aceast˘ tratare [aproape] exhaustiv˘ a propriet˘¸ilor opera¸iilor morfologice de baz˘ (dia a at t a latare. se impun câteva s t˘ at s preciz˘ri. erodare) se reg˘se¸te în majoritatea monografiilor de morfologie matematic˘. propriet˘¸ile tratate sunt acelea¸i. ca de a s a exemplu în [14].Aceast˘ din urm˘ rela¸ie poate fi interpretat˘ ¸i ca o descompunere prin reuniune a a a t a s elementului structurant X = B ∪ C.30) (B ∪ C) At = t∈B S ∪C S (A ∩ B) (A C) ∩ (B C) = ( c∈C S C = (A Bc ) = C) ∩ (B C) c∈C S Ac ) ∩ ( c∈C S c∈C S (Ac ∩ Bc ) = (A ∩ B)c = (A ∩ B) C Înrudite cu propriet˘¸ile de distributivitate deja enun¸ate. De¸i. Leg˘tura dintre a s t s a t aceste opera¸ii este dat˘ de: a A ⊕ B = A + B S ¸i A s 83 B = A − BS (6.

32) În [14] este preferat˘ definirea dilat˘rii unei mul¸imi ca adunarea Minkowski a mul¸imii a a t t cu elementul structurant simetrizat. rezultatul dilat˘rii este o “cre¸tere” s a a s a formei pe direc¸ia ¸i în sensul elementului structurant folosit.5 Aspecte de implementare Din punct de vedere practic (al implement˘rii). putem g˘si s t a o echivalen¸a intuitiv˘ simpl˘ opera¸iilor morfologice de erodare ¸i dilatare. dac˘ ¸i s as numai dac˘ toate valorile selectate de elementul structurant sunt nule. În cele ce urmeaz˘ a t t a prezent˘m codul pentru opera¸ia de erodare.1. a Conven¸ia de reprezentare a imaginilor binare este de a avea asociate valori nule punctelor t de fundal ¸i valori pozitive (1 sau 255) punctelor obiect1 . dac˘ ¸i numai s as dac˘ toate valorile selectate de elementul structurant sunt nenule. Avantajul unei asemenea formaliz˘ri este existen¸a propria t et˘¸ilor de comutativitate ¸i asociativitate a dilat˘rii (determinate direct de comutativiat s a tatea ¸i asociativitatea adun˘rii Minkowski). exist˘ abord˘ri diferite privind definirea opera¸iilor morfologice.În majoritatea lucr˘rilor de morfologie îns˘. B S ))C (6. 1 84 . aceasta înseamn˘ a a c˘ putem implementa opera¸ia de dilatare printr-o opera¸ie de maxim. ceea ce poate genera confuzii. aceasta înseamn˘ c˘ a a a putem implementa opera¸ia de erodare printr-o opera¸ie de minim. B))|B parametru = (Op(AC . Reprezentarea grafic˘ a acestei imagini. Chiar în condi¸iile p˘str˘rii acelora¸i not t a a s ta¸ii. a t # define SIZE_MAX_ES=16. ¸i deci. nu se face nici o distinc¸ie de nota¸ie între a a t t aceste opera¸ii. În plus. realizat˘ cu tabela de nivele de gri normal˘ va afi¸a deci a a a s obiecte albe pe un fundal negru. 6. În aceste condi¸ii. t s Dezavantajul acestei abord˘ri este acela c˘ trebuie redefinit conceptul de dualitate 6. respectiv sc˘derea Minkowski (deci f˘r˘ simetrizarea a aa elementului structurant). În [7] dilatarea ¸i t a a t s erodarea sunt identice cu adunarea. a s a at a s a dup˘ cum urmeaz˘: a a Dual(Op(A. ¸i deci. Rezultatul t˘ a a t s opera¸iei de erodare într-un pixel este nenul dac˘ ¸i numai dac˘ elementul structurant t as a plasat cu originea în acel punct este inclus în forma de prelucrat.8 a a (dac˘ se dore¸te p˘strarea propriet˘¸ii fundamentale de dualitate a dilat˘rii ¸i erod˘rii). Rezultatul opera¸iei t t t de dilatare într-un pixel este nul dac˘ ¸i numai dac˘ elementul structurant plasat cu a s a originea în acel punct nu are nici un punct comun cu forma de prelucrat. Va trebui îns˘ introdus a un mecanism de specificare a formei ferestrei de filtrare (elementului structurant) care s˘ permit˘ modificarea relativ simpl˘ a acesteia (puterea morfologiei matematice const˘ a a a a în alegerea a diferite tipuri de elemente structurante optime unei anumite prelucr˘ri). elementul structurant poate fi interpretat a analog suportului ferestrei de filtrare folosit˘ pentru orice opera¸ie bazat˘ pe principiul a t a ferestrei glisante: cu valorile selectate din imagine “se face ceva”.

0 0. for (k=0. pentru a putea evita efectele de margine la prelucrarea imaginii.max_j=0.k++) if (min > img[i+es[k][1]][j+es[k][2]]) then min=img[i+es[k][1]][j+es[k][2]].min_j=0. t a a a a s t 6. elementul structurant orizontal. } Elementul structurant folosit este reprezentat prin matricea de întregi es.j++) { min=MAXINT. min_i=0.int min. } for (i=-min_i.max_i. erodarea ¸i dilatarea nu sunt transform˘ri inverse una alteia (deci a a s a alternarea lor va produce un rezultat diferit de mul¸imea original˘ ce a fost prelucrat˘).min_i. De exemplu. reprezentat prin coordonatele fa¸a de originea elementului structurant: es[k][1] t˘ ¸i es[k][2].1 Deschiderea ¸i închiderea s Dup˘ cum s-a ar˘tat. img_out[i][j]=min. 0 1]T . for (k=0. având cel mult 16 linii ¸i 2 coloane.i<NRLIN-max_i. t a a Aceast˘ observa¸ie conduce la ideea utiliz˘rii unor iter˘ri ale opera¸iilor morfologice de a t a a t 85 .i++) for (j=-min_j.max_j. având trei puncte este s reprezentat prin es = [0 −1.2.max_i=0. Prima bucl˘ for determin˘ dimensiunile dreptunghiului de încadrare a a a elementului structurant. if (min_j > es[k][2]) min_j=es[k][2]. if (max_i < es[k][1]) max_i=es[k][1].k++) { if (min_i > es[k][1]) min_i=es[k][1].j<NRCOL-max_j. 6. integer es[SIZE_MAX_ES][2].k<dim_es.k<dim_es. if (max_j < es[k][2]) max_j=es[k][2]. Fiecare linie a matricii corespunde unui punct din elementul strucs turant.2 Transform˘ri morfologice derivate a Vom numi opera¸ie (transformare) morfologic˘ derivat˘ opera¸ia morfologic˘ construit˘ t a a t a a ca o combina¸ie de transform˘ri de baz˘: erod˘ri. Num˘rul de puncte ce compun elementul struca turant este dim_es. centrat.min_j. dilat˘ri ¸i opera¸ii clasice ansambliste.

a Deschiderea morfologic˘ a mul¸imii A prin elementul structurant B se define¸te ca eroa t s darea mul¸imii cu elementul structurant respectiv. urmat˘ de erodarea cu elementul structurant t a simetrizat: A • B = (A ⊕ B) BS (6. adic˘ A ⊆ A • B a a a Deci. s at (A B)C = AC • B ¸i (A • B)C = AC s B (6. ale c˘ror propriet˘¸i le fac mai adecvate a t t a at utiliz˘rii în scopuri practice. putem afirma c˘: a A B ⊆ A⊆ A•B 86 (6. Aceast˘ proprietate permite interpretarea rezultatelor unei opera¸ii s a t ¸i deducerea propriet˘¸ilor acesteia pe baza caracteristicilor dualei sale. Deschiderea morfologic˘ este antiextensiv˘. pentru a sintetiza. urmat˘ de dilatarea cu elementul t a structurant simetrizat: A B = (A B) ⊕ B S (6. Rela¸ia dintre rezultatul prelucr˘rii ¸i mul¸imea ini¸ial˘ este dat˘ de a t a s t t a a at a propriet˘¸ile de extensivitate ale transform˘rilor.34) Proprietatea de baz˘ a deschiderii ¸i închiderii morfologice este aceea c˘ sunt transform˘ri a s a a duale una alteia (proprietate ce deriv˘ din dualitatea blocurilor constituente de baz˘.36) B⊆A . rezultatul unei deschideri sau al unei închideri este diferit de mul¸imea t ce a fost prelucrat˘. adic˘ A a a a Închiderea morfologic˘ este extensiv˘. ob¸inând astfel opera¸ii mai complexe.35) Demonstra¸ia acestor propriet˘¸i este imediat˘: t at a (AC B)C = ((AC B) ⊕ B S )C = ((A ⊕ B)C ⊕ B S )C = (A ⊕ B) B S )C = ((A B)C B S )C = (A BS = A • B B (AC • B)C = ((AC ⊕ B) B) ⊕ B S = A În mod evident.33) Închiderea morfologic˘ a mul¸imii A prin elementul structurant B se define¸te ca dilatarea a t s mul¸imii cu elementul structurant respectiv. a a dilatarea ¸i erodarea).baz˘.

Deschiderea mai poate fi exprimat˘ ¸i ca t a a s mul¸imea elementelor structurante translatate ce sunt incluse în mul¸imea de prelucrat: t t A B= Bx ⊆A Bx (6. t Proprietatea de idempoten¸a a opera¸iilor introduce o limitare a modific˘rilor: mul¸imea t˘ t a t ob¸inut˘ dup˘ o deschidere sau închidere este invariant˘ la repetarea opera¸iei: t a a a t (A • B) • B = A • B ¸i (A s B) B=A B (6. t a a s a Pentru realizarea efectiv˘ a opera¸iilor de deschidere ¸i închidere este important˘ expria t s a marea acestora ca opera¸ii la nivelul elementelor mul¸imilor ce se prelucreaz˘ (¸i nu ca t t a s o iterare de opera¸ii morfologice de baz˘). invariant la a t s transla¸ie (ca rezultat a iter˘rii erod˘rii ¸i dilat˘rii cu elemente structurante simetrice).Rela¸iile pot fi interpretate ca o modificare sigur˘ a mul¸imii: prin deschidere se vor t a t elimina o parte dintre elementele mul¸imii ce se prelucreaz˘. iar prin închidere se adaug˘ t a a elemente noi mul¸imii. s at t a Închiderea ¸i deschiderea mo¸tenesc o parte dintre propriet˘¸ile opera¸iilor morfologice de s s at t baz˘: invarian¸a la transla¸ie ¸i la scalare.37) Rela¸iile se demonstreaz˘ folosind propriet˘¸ile deja enun¸ate ale deschiderii ¸i închiderii t a at t s (extensivitate) ¸i propriet˘¸ile de monotonie ale opera¸iilor morfologice de baz˘. a a a a At 1 (λA λ B = (A B) = A B)t ¸i At • B = (A • B)t s 1 B λ 1 ¸i λ (λA • B) = A • λ B s 1 Dac˘ A1 ⊆ A2 : A1 a Dac˘ B1 ⊆ B2 : A a B ⊆ A2 B2 ⊆ A B ¸i A1 • B ⊆ A2 • B. rezultatul opera¸iei este acela¸i. Din punctul de vedere al acestor propriet˘¸i. indiferent de pozi¸ia spa¸ial˘ a mul¸imii). În t s t t a t cazul translat˘rii elementului structurant. s B1 ¸i A • B1 ⊆ A • B2 s În ceea ce prive¸te propriet˘¸ile legate de comportarea fa¸a de transla¸ie a operatorilor s at t˘ t de deschidere ¸i închidere. monotonia fa¸a de mul¸imea prelucrat˘ ¸i fa¸a a t t s t˘ t a s t˘ de elementul structurant folosit. deschiderea at se comport˘ analog erod˘rii iar închiderea are o comportare analoag˘ dilat˘rii. merit˘ subliniat faptul c˘ proprietatea este identic˘ cu cea s a a a a erod˘rii ¸i dilat˘rii doar la transla¸ia mul¸imii prelucrate (rezultatul unei deschideri a s a t t sau închideri a unei mul¸imi este acela¸i.38) Închiderea mai poate fi exprimat˘ ¸i ca mul¸imea punctelor pentru care toate elementele as t structurante translatate ce le con¸in au puncte comune cu mul¸imea de prelucrat: t t 87 .

ce alterneaz˘ deschideri ¸i închideri dup˘ elemente structurante de dimensiune t a s a a cresc˘toare: F AS(A) = (((((A B) • B) 2B) • 2B) 3B) • .. se l˘rgesc golurile înglobate în obiecte. Cazul a a în care imaginea este binar˘ constituie o simplificare a metodelor ¸i calculelor. în cadrul teoriei algebrice a morfologiei matematice. În [14]..2 Filtrele alternate secven¸ial t Filtrele morfologice sunt transformari neliniare ale semnalului. Das at torit˘ propriet˘¸ii de dualitate.2. (6. se pot construi filtre ce actioneaz˘ asupra s a obiectelor ¸i detaliilor în mod gradat. neteze¸te contururile formelor prin umplerea concavit˘¸ilor ¸i une¸te obiectele s s s foarte apropiate (umple “strâmtorile”). în timp ce erodarea ¸i dilatarea nu sunt filtre.A•B = Bx Bx ∩A=∅ (6. închiderea va avea acelea¸i efecte asupra fundalului (coma at s plementarei obiectelor) pe care le are deschiderea asupra mul¸imilor.2. Închiderea umple t golurile înglobate în obiecte (dac˘ aceste g˘uri sunt mai mici decât elementul structurant a a at folosit).. pe masura iter˘rii: aceste sunt filtrele alternate s a secven¸ial. Teoria algebric˘ general˘ a filtrelor [14] define¸te o a a a s transformare ca filtru dac˘ aceasta este cresc˘toare ¸i idempotent˘. s s a 6. Totu¸i. formele mai mici ca elementul struct turant folosit vor fi eliminate. în sensul teoriei prelucr˘rii semnalelor.41) 6.39) Pe baza acestor exprim˘ri se pot deduce ¸i efectele practice ale deschiderii ¸i închiderii a s s asupra formelor (mul¸imilor). (6.3 Operatori morfologici de contur O problema curent˘ a prelucr˘rilor de imagini este extragerea punctelor de contur. Trebuie f˘cut˘ deci distinc¸ia t a s a a a t între filtrul algebric ¸i filtrul obi¸nuit. un a filtru este definit ca o opera¸ie cresc˘toare ¸i idempotent˘. P˘strând a s a 88 . a s s Dac˘ o imagine (mul¸ime) este filtrat˘ prin deschideri dup˘ elemente structurante (discuri a t a a de raz˘ r) cresc˘toare.. Efectele opera¸iilor de deschidere ¸i închidere pot fi considerate ca analoage efectelor unei t s filtr˘ri de netezire a formelor ¸i eliminare a zgomotului (zgomot interpretat ca obiecte ¸i a s s g˘uri de mici dimensiuni).40) sau F AS(A) = (((((A • B) B) • 2B) 2B) • 3B) . care modific˘ local caa racteristici geometrice (de form˘). Prin deschidere. contururile sunt a netezite prin te¸irea convexit˘¸ilor iar obiectele unite prin istmuri sunt separate. aceasta este echivalent cu a aplica deschiderea dup˘ elementul a a a structurant cu raza cea mai mare. ceea ce înseamn˘ a a s a a deci c˘ deschiderea ¸i închiderea sunt filtre.

interpretarea pixelilor ca fiind puncte ale obiectului sau ale fundalului. adic˘ imaginile binare. func¸ia este cu valori t t t întregi (func¸ie scalar˘) de argument vectorial n − 1-dimensional. x2 . Pentru extinderea opera¸iilor morfologice a t a t la func¸ii se vor construi transform˘ri ce permit trecerea de la o reprezentare de tip func¸ie t a t la o reprezentare de tip mul¸ime. a c˘rei form˘ va depinde puternic de tipul a a a a de metric˘ folosit˘..42).n−1) ¸i respectiv A(n. pornind de la o mul¸ime.. x = (i. Putem avea n moduri diferite de a alege aceste parti¸ii ale coordonatelor (corespunzând modului în care se poate alege o coordonat˘ dintr-un total a de n). . t vecin˘tatea folosit˘ este cea de tip disc unitar.n) . s δA = A − A B (6. Acestea prezint˘ limitarea implicit˘ în aplicarea numai asupra unei t a a categorii particulare de imagini. ¸i anume cele a c˘ror structur˘ poate fi u¸or ¸i imediat s a a s s asociat˘ unor mul¸imi.n−1) −→ A(n. j). Vom nota aceste “p˘r¸i” ale mul¸imii A cu a t t at t s t A(1. În general.42) (6.44).43) ¸i gradientul morfologic (6. reprezentate prin vectorul n-dimensional al coordonatelor.n) t t t definit˘ de: a T (A)(z) = max{y | (z.. Consider˘m coordonata i ca fiind domeniul spa¸ial ¸i coordonata j ca a t s 89 .44) ∆A = A ⊕ B − A grad A = A ⊕ B − A 6. Elementele mul¸imii A sunt puncte. xn ).45) În acest mod se introduce o func¸ie. punctele de contur sunt acele puncte de obiect ce au cel pu¸in un punct de fundal vecin. adic˘ aplicate asupra t a unor seturi (mul¸imi). ∀z ∈ A(1. y) ∈ A. adic˘ t t n t A ⊆ Z . Pentru exemplificare t a consider˘m cazul în care n = 2. suprafa¸a mul¸imii. a Vom numi primele n − 1 coordonate ale unui punct x domeniu spa¸ial al mul¸imii ¸i t t s cea de-a n-a coordonat˘. cu x = (x1 .43) B (6. conturul exterior a (6. t a a În cele ce urmeaz˘ ne vom referi la o submul¸ime A a spa¸iului discret n-dimensional. Ordinea coordonatelor este arbitrar˘. Vârful (top) sau suprafa¸a de vârf a unei mul¸imi A este func¸ia T (A) : A(1. deci fiecare punct al mul¸imii A este un vector bidimena t sional. x ∈ A.n−1) } (6. a a Exist˘ trei extractoare morfologice de contur: conturul interior (6.3 Extinderea morfologiei matematice la nivele de gri Pâna în acest moment s-au prezentat opera¸iile morfologice clasice.

11: Exemplificare pentru func¸ia vârf a unei mul¸imi. y f (z)} (6. y) | z ∈ B. a a Umbra unei func¸ii oarecare f este definit˘ ca transformarea f : B ⊆ Zn−1 −→ C ⊆ Z t a dat˘ de: a U (f ) = {(z. cu valori t a a a scalare. t a a a j + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + functia f + + + + + + + + + + + + + + + + + + + + + + + + + + + umbra lui f i umbra este nemarginita Fig. plecând de la o func¸ie de variabil˘ vectorial˘ n − 1-dimensional˘. Atunci. 6. t t fiind suprafa¸a mul¸imii.47) 90 .46) În acest mod.12: Determinarea umbrei unei mul¸imi. t În mod evident. vom avea urm˘toarele rela¸ii între cele dou˘ transform˘ri mul¸ime-func¸ie a t a a t t (vârful ¸i umbra): s T (U(F )) = f ¸i A ⊆ U (T (A)) s (6. prin transformarea vârf.vârful lui A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i j + + + + + + + + + + + + + + + + O O multimea A i functia asociata multimii A Fig. y ∈ Z. 6. se ob¸ine o mul¸ime ale c˘rei elemente sunt vectori n-dimensionali. asociem mul¸imii A o func¸ie t t t t t s t definit˘ pe domeniul s˘u spa¸ial ¸i cu valori în suprafa¸a sa. Mul¸imea t t a t ob¸inut˘ este semideschis˘ (nemarginit˘).

a t a a s a a Forma echivalent˘ a defini¸iilor erod˘rii ¸i dilat˘rii (folosite în mod efectiv în practic˘) t este. f ⊕ g = y∈Supp(g) max {f (x − y)} (6. f ⊕ g = y∈Supp(g) max {f (x − y) + g(y)} (6. Aceste elemente structurante de tip flat sunt echivalente cu cele folosite în morfologia clasic˘ pe mul¸imi. elementul structurant pentru care g(y) = a s 0. Se nume¸te element structurant flat. pentru ∀x ∈ Supp(f ) : f g= y∈Supp(g) min {f (x − y) − g(y)} .49) Dac˘ se utilizeaz˘ elemente structurante plate (deci caracterizate doar de forma supora a tului. ∀y ∈ Supp(g).48) Ca ¸i în cazul morfologiei pe mul¸imi. g se nume¸te element structurant (func¸ie strucs t s t turant˘). cele dou˘ rela¸ii de defini¸ie devin identice cu s s a t t filtr˘rile de ordine de rang minim ¸i respectiv maxim: a s f g= y∈Supp(g) min {f(x − y)} . a¸a cum au fost t t t t t s prezentate la morfologia binar˘): a f g = T (U (f) U (g)) ¸i f ⊕ g = T (U (f) ⊕ U (g)) s (6. ¸i nu ¸i de valori asociate acestora).Opera¸iile morfologice pentru func¸ii se definesc prin intermediul transform˘rii acestora t t a în mul¸imi (reducând astfel opera¸iile pe func¸ii la opera¸ii pe mul¸imi.50) 91 .

Procesul de a a a recompunere a imaginii ini¸iale din reprezentarea restrâns˘ se nume¸te decompresie sau t s decodare.4) dintre imaginea original˘ f ¸i imaginea decodat˘ g) ¸i a s a s factorul (raportul) de compresie. cu 4096 nivele a a de gri.Capitolul 7 METODE DE COMPRESIE A IMAGINILOR Termenul de compresie a imaginilor (uneori numit ¸i codare a imaginilor) se refer˘ la o s a clas˘ larg˘ de tehnici ¸i metode al c˘ror scop este reprezentarea unui imagini date cu a a s a un num˘r cât mai mic de bi¸i (mai mic decât num˘rul de bi¸i al reprezent˘rii ini¸iale). deci un flux de 18. indiferent de semnifica¸ia acestora (ceea ce înseamn˘ a t a c˘ ar putea fi folosite ¸i pentru compresia imaginilor cu nivele de gri) ¸i sunt metode de a s s 92 . în care se admit mici diferen¸e fa¸a de original. rata de compresie se m˘soar˘ în bi¸i per pixel (bpp). Uneori.6 MB/ secund˘) [9]. deci 14.3 MB) sau al transmisiei de televizune alb-negru (625 x 625 pixeli cu 256 nivele de gri. a a t O alt˘ clasificare posibil˘ a tehnicilor de compresie se poate face dup˘ tipul imaginii a a a c˘reia i se aplic˘: vom face astfel distinc¸ia între compresia imaginilor binare ¸i compresia a a t s imaginilor cu nivele de gri. Factorul de compresie C este raportul dintre cantitatea de informa¸ie necesar˘ reprezent˘rii imaginii ini¸iale ¸i cantitatea de informa¸ie necesar˘ t a a t s t a reprezent˘rii imaginii codate. de 50 de ori pe secund˘. Exist˘ dou˘ categorii fundamentale de tehnici de compresie a a a a (codare): codarea f˘r˘ pierderi (în care imaginea decodat˘ este identic˘ cu imaginea iniaa a a ¸ial˘) ¸i codarea cu pierderi. este evident c˘ prin decodare trebuie s˘ se ob¸in˘ o imagine cât mai apropia a t a at˘ de imaginea orginal˘. Calitatea t a s t t˘ unui procedeu de compresie (pentru o imagine dat˘) se m˘soar˘ prin factorul de calitate a a a (raportul semnal zgomot (3. factorului de compresie i se asociaz˘ (sau este înlocuit de) a rata de compresie: cantitatea de informa¸ie necesar˘ reprezent˘rii comprimate a fiec˘rui t a a a pixel al imaginii. evident compresia are loc dac˘ factorul de compresie este a a supraunitar (C > 1). a t a t a t Necesitatea reducerii cantit˘¸ii de informa¸ie necesar˘ reprezent˘rii este evident˘ dac˘ at t a a a a consider˘m cazul memor˘rii imaginilor radiografice (4000 x 2500 pixeli. Se impune totu¸i o observa¸ie: metodele de codare ce se vor s t prezenta în cadrul tehnicilor speifice imaginilor binare pot fi folosite pentru compresia oric˘rei succesiuni de valori binare.

deosebirea dintre aceste metode s t (la un nivel al implement˘rii) este c˘ pentru codarea entropic˘ este necesar˘ parcurgerea a a a a ¸i stocarea intermediar˘ a întregii imagini. sN }.25. Lungimea t s medie a cuvintelor de cod este dat˘ de raportul dintre entropia sursei primare ¸i entropia a s alfabetului codului: H(S) l= (7. procedeul de restrângere continu˘ pân˘ când se ob¸ine o a a t surs˘ redus˘ cu exact D simboluri..1. cu cuvinte de cod generate cu a Deci conven¸ia de reprezentare prin culori este modificat˘ fa¸a de conven¸ia general˘ utilizat˘ — 0 nu t a t˘ t a a mai este negru. Sursa este codat˘ optimal. de probabilit˘ ti descrise de vectorul P = [0. de probabilit˘¸i t a at {p(s1 ). ci alb. 0. pentru fiecare reunire de simboluri. a a a¸ 0. la limit˘. valorile punctelor acestora sunt fie 0 (reprezentând fundalul de culoare alb˘). Apoi. a a t Codarea sursei de informa¸ie S ale c˘rei mesaje sunt {s1 . a O surs˘ S genereaz˘ 6 simboluri... 1 93 . fie 1 (reprezentând punctele de interes.05]. de culoare neagr˘)1 ...compresie f˘r˘ pierderi. 0.2) lmin = log D Procedeul practic prin care se realizeaz˘ alocarea simbolurilor din alfabetul codului astfel a încât entropia acestuia s˘ fie maximizat˘ (metoda Huffman) se bazeaz˘ pe reducerea a a a iterativ˘ a num˘rului de simboluri ale sursei de codat ¸i construirea unei surse restrânse.2.. ¸i deci.1) H(X) Se dore¸te ob¸inerea unei lungimi medii minime a cuvintelor de cod. 0.1. . Vom considera urm˘torul exemplu. p(sN )} prin alfabetul X cu D simboluri înseamn˘ a asocia fiec˘rui mesaj a a si al sursei primare de informa¸ie un ¸ir de simboluri din alfabetul codului. a a s La fiecare etap˘ cele D simboluri cele mai pu¸in probabile ale sursei de informa¸ie sunt a t t reunite într-un nou simbol. lungimea media minim˘ posibil˘ de a a a a ob¸inut este: t H(S) (7. simbol cu simbol.3. p(s2 ). . aa 7. echivas t s lent. Cele dou˘ clase a a a de metode de codare pe care le avem în vedere sunt codarea entropic˘ (metoda de codare a Huffman) ¸i metodele de codare on-line (pe flux de bi¸i). urmat de câte un simbol din alfabetul codului. fiecare a a mesaj individual va primi codul cuvântului reunit ca prefix.1.1 Compresia imaginilor binare Putem considera c˘ singura categorie de imagini binare de interes sunt imaginile în alba negru (sau monocrome).1 Codarea entropic˘ (Huffman) a Codarea entropic˘ (Huffman) este metoda optimal˘ de codare a unei surse de informa¸ie. s2 . 0. s a 7. m˘rirea entropiei alfabetului codului.

25 log 0. lungimea medie minim˘ a unui cuvânt de cod este: a lmin = H(S) 2.1 r15 0. Se ¸tie c˘ a a s a num˘rul de simboluri ale sursei ce se codeaz˘ trebuie s˘ îndeplineasc˘ o anume rela¸ie a a a a t N−D ∈ N .493 bit log D log 3 Codarea Huffman este realizat˘ conform tabelului 7.25 + 0.05 log 0. S˘ se calculeze cuvintele de cod.1 010 s6 0.2 + 2 · 0.15 01 s4 0. a Surs˘ a p(si ) Cod Surs˘ a p(rji ) Cod Surs˘ a primar˘ a restrâns˘ a restrâns˘ a r21 s1 0. conform (7.25 r23 s3 0.1) − −0.366 = = 1.1 log 0.2 00 r14 0. în acest caz.05 011 s7 0 012 Tabel 7. arborele de codare si a ¸ eficien¸a cod˘ rii.3 log 0.1: Codare Huffman p(rji ) Cod 0. D = 3 ¸i deci s D−1 N −D 6−3 3 = = ∈N / D−1 3−1 2 Completarea se face ad˘ugând sursei simboluri de probabilitate nul˘.2 log 0.2 r13 0. N = 6.3 r11 0.simboluri dintr-un alfabet ternar. cu un a a singur astfel de simbol ad˘ugat ob¸inem N = 7 ¸i a t s 7−3 4 N −D = = ∈N D−1 3−1 2 Entropia sursei extinse S este dat˘ de: a 7 H(S) = − i=1 p(si ) log p(si ) = − (0.2). în acest caz.366 bit/simbol Atunci.1 02 s5 0.45 0.1.25 0 1 2 94 .3 r22 s2 0.3 0.05 − 0 log 0 = 2. t a Codarea optimal˘ a unei surse se realizeaz˘ conform algoritmului Huffman.25 r12 0.3 + 0.

25 0. a a 7.1 0.05 0 Cod Lungime 1 2 00 02 010 011 012 1 1 2 2 3 3 3 Tabel 7.05 + 3 · 0 = 1. pe baza lor putem calcula lungimea medie a cuvintelor de cod: 7 l= i=1 li p(si ) = 1 · 0. Aplicarea cod˘rii la imagini presupune în primul rând transformarea imaginii a (structurii de matrice a acesteia) într-un vector (¸ir) prin concatenarea liniilor acesteia.1. s s a s a t a Codarea clasic˘ este binar˘ (D = 2. simbolul urm˘tor nu poate avea decât s a 95 . X = {0. WBS) sau ca tehnici generale de compresie a datelor.6 Surs˘ a primar˘ a s1 s2 s3 s4 s5 s6 s7 p(si ) 0.3 0.1 + 3 · 0. Cu cât B este mai mare. Tabelul de codare (echivalen¸a între mesajele sursei primare t a t ¸i ¸irurile de simboluri de cod) este specific fiec˘rei imagini ¸i trebuie s˘ înso¸easc˘ codul.1 0. Odat˘ ce o secven¸a de simboluri s s a t˘ succesive de aceea¸i valoare (run length) se încheie. ale c˘ror probabilit˘¸i t a a at de apari¸ie sunt specifice imaginii considerate). cu atât mai t mare va fi eficien¸a cod˘rii.25 + 2 · 0.Cuvintele de cod sunt grupate în tabelul 7.2: Coduri asociate simbolurilor sursei ¸i lungimile lor s În cazul imaginilor (sau al ¸irurilor binare) mesajele sursei primare sunt formate din s grupuri de câte B bi¸i succesivi (astfel.1 + 3 · 0.3 + 1 · 0.2 0. sursa primar˘ are 2B mesaje.2.2 + 2 · 0. s Codarea RLE Principiul cod˘rii RLE (Run Length Encoding) este acela de a memora num˘rul de sima a boluri succesive ale ¸irului binar ce au aceea¸i valoare.2 Codarea pe flux de bi¸i t Metodele de codare pe flux de bi¸i (on-line) se reg˘sesc la primul nivel de codare al t a transmisiilor de fax (RLE. 1}). înglobate atât în formate de fi¸iere grafice (TIFF) cât ¸i în arhivatoare uzuale (ZIP) — metoda Zivs s Lempel.

3. Sirul codat trebuie s˘ înceap˘ cu a t t˘ ¸ a a valoarea primului simbol. t pos_in=0. iar ¸irul binar 1. prin alternan¸a. aceasta înseamn˘ c˘ num˘rul t a a a de bi¸i al reprezent˘rii binare al cuvintelor de cod trebuie s˘ permit˘ reprezentarea t a a a t a lungimii celei mai mari secven¸e. 0. de t a a s dimensiune DIM_IN. codarea RLE mai este utilizat˘ în diferite formate de fi¸iere imagine (BMP.1791] se codeaz˘ separat num˘rul de pixeli ce formeaz˘ un multiplu de 64 (formând a a a un cod masc˘. make-up code) ¸i restul împ˘r¸irii lungimii secven¸ei la 64. 0. 0. 1. s s s s Implementarea presupune c˘ tipul de date al ¸irului in permite aplicarea operatorului de a s nega¸ie (! ). Tabelele de codare a s sunt standardizate (se pot g˘si de exemplu în [9. 1. Pozi¸iile curente din s t ¸irurile de intrare ¸i ie¸ire sunt determinate de variabilele pos_in ¸i respectiv pos_out. 3. 1. 0 atunci ¸irul codat a as s va fi 1. 0. 3. dac˘ o lungime de secven¸a este cuprins˘ în gama a t˘ a [64. pos_out=1. 1. 0. PCX. 0. a a t˘ dac˘ o lungime de secven¸a este mai mic˘ decât 64 este codat˘ direct. 1. 1. a a t a a O codare mai bun˘ se ob¸ine dac˘ lungimile secven¸elor de simboluri identice succesive t t sunt codate (într-o faz˘ ulterioar˘) entropic. 0. 0. 1. 0. 1. 1. 1. Orice secven¸a mai lung˘ a t t˘ a decât secven¸a maxim˘ este desp˘r¸it˘ prin intercalarea fictiv˘ a unor simboluri complet a at a a mentare. cu un algoritm de tip Huffman. while (pos_in<DIM_IN) { if (in[pos_in]==crt_value) then if (run_length<MAX_RUN) then run_length++. ¸irul de valori binare 0. 1. 3. 1. cu un cod a s at t terminator. 0. 1 este a s codat RLE ca 0. 1. Pe lâng˘ transmisia de a a s fax. Standardul a a CCITT de transmisie fax recomand˘ folosirea unor cod˘ri Huffman truncheate: astfel. 1. 1. 0. 1. 5. 0. 0. 1. 1. 0 este codat s RLE ca 1. S˘ consider˘m o codare RLE cu lungimea cuvântului de cod de 2 bi¸i. 0. 1. 1. Conform acestei cod˘ri. out[0]=in[0]. 1. a TGA). 3. 1. aceasta a a t înseamn˘ c˘ lungimea secven¸ei maxime este 3 (codul 0 trebui rezervat pentru secven¸a a a t t de lungime nul˘). 1. 1. se prefer˘ fixarea unei lungimi maximale admise a secven¸elor. 544-545]). 1. În plus. 3. 0. Sirul cuvintelor de cod trebuie deci s˘ fie compus din codurile ce co¸ a respund lungimilor secven¸elor de valori identice succesive. 1. Por¸iunea urm˘toare de program C realizeaz˘ codarea RLE a ¸irul de intrare in. 1. 2 (unde fiecare cifr˘ va fi reprezentat˘ pe 2 bi¸i). 4. 1. 96 . 7. Dac˘ ¸irul binar este 1. 1. 1. cuvintele de cod sunt scrise în ¸irul out.valoarea complementar˘ celei ini¸iale. 0. cuvântul de cod a a a respectiv numindu-se terminator. 0. 0. exist˘ un cod special de sfâr¸it de linie (EOL). 1. Cum determinarea de fiecare dat˘ a acestei lungimi s t a maximale ¸i varierea lungimii cuvântului de cod nu este o solu¸ie corespunz˘toare. cu cuvinte de cod ce pot reprezenta cel mult MAX_RUN simboluri identice succesive. 1. crt_value=in[0]. pp.

transformându-se s în ¸irul 0. 1. Principiul cod˘rii este simplu: un bloc nul a este înlocuit cu un singur simbol de 0. 1. prin detec¸ia liniilor albe (reprezentate doar cu valori 0) ¸i codarea a t s unei linii întregi cu un singur 0 (desigur c˘ în acest caz la codurile tuturor blocurilor a se mai adaug˘ un prefix de valoare 1). } pos_in++. O îmbun˘t˘¸ire a performan¸ei se poate ob¸ine dac˘ se introduce a at t t a o adaptare a cod˘rii. Conform acestei cod˘ri (cu grupe de D = 3 simboluri). 0. at (1.else { out[pos_out]=MAX_RUN. 1. 0. s a s 97 . lungimea blocului de codare D = 10 poate fi folosit˘ a a cu rezultate bune [9]. 0. 0. run_length=1. (0. 0. 1. 0. 1. 0. 1). 0). pos_out++. 0 este împ˘r¸it în grupele (0. 0). 0) ¸i codat ca (0). a n0 D > n ⇐⇒ Pentru o larg˘ categorie de imagini. 0. un bloc nenul este prefixat de un simbol de s a s 1 ¸i copiat. 1. 0. 0. 0. 0). 1). în urma compresiei as t mai r˘mân (n − n0 )(D + 1) + n0 simboluri ¸i factorul de compresie este atunci: a s C= nD (n − n0 )(D + 1) + n0 (7. 1. crt_value=!crt_value. 0. 1. } Codarea WBS Prima etap˘ a cod˘rii WBS (White Block Skipping) presupune împ˘r¸irea ¸irului binar a a at s în grupe de câte D simboluri succesive.4) n D adic˘ propor¸ia de grupe nule din ¸ir trebuie s˘ fie mai mare decât inversul num˘rului de a t s a a simboluri dintr-o grup˘. run_length=1. 0).3) Pentru ca s˘ existe compresie trebuie ca C > 1 ¸i deci atunci a s n0 1 > (7. (0. (1. (0). pos_out++. out[pos_out]=0. 1. (1. 0. (1. 0. ¸irul de valori binare 0. 0). 1. 1. 1. 1. 1. O alt˘ variant˘ a metodei exploateaz˘ structura a a a a bidimensional˘ a imaginii. 1. 0. 0. 0. codând blocuri p˘trate din imagine (deci imaginea nu mai este a a vectorizat˘). a Por¸iunea urm˘toare de program C realizeaz˘ o variant˘ de codare WBS cu blocuri de t a a a dimensiune D a ¸irului de intrare in (ale c˘rui valori sunt 0 ¸i 1) de dimensiune DIM_IN . 0. (0. s Dac˘ ¸irul dat binar de n grupe de simboluri con¸ine n0 grupe nule. 0. 0. 1. } else { out[pos_out]=run_length. 0.

având indicele 0 ¸i cuvântul 1.codul WBS este scris în ¸irul de ie¸ire out.i<D. pos_out=0. 2 98 . Verificarea dac˘ blocul curent este nul se face s s a prin sumarea valorilor acestuia. while (pos_in<DIM_IN){ s=0. ¸i. Pozi¸iile curente în ¸irul de intrare ¸i ¸irul de ie¸ire sunt t s s s s memorate în pos_in ¸i respectiv pos_out. if (s>0) then { out[pos_out]=1. pos_out++. tabela se creaz˘ din cuvintele de cod deja transmise (ceea ce înseamn˘ c˘ nu a a a 2 este necesar˘ memorarea sau transmiterea explicit˘ a tabelului de codare ).i++) s=s+in[pos_in+i]. cunoscute (ca de exemplu tabela de culoare cu nivele t de gri). s pos_in=0. ci se bazeaz˘ pe tehnica dic¸ionar LUT (folosit˘ ¸i la a t as reprezentarea imaginilor indexate): cuvintele de cod asociate unor ¸iruri de simboluri s ale sursei de intrare sunt indicii (numerele de ordine) pozi¸iilor la care se g˘sesc respect a tivele ¸iruri de simboluri în dic¸ionarul codului (tabela de codare). atunci ¸irul este trecut în dic¸ionar. for (i=0. Dac˘ ¸irul nu se reg˘se¸te în t a s a s a s dic¸ionar. având t t a s indicele 1.i<D. se mai adaug˘ un bit din ¸irul de intrare. Tabela de codare s t (dic¸ionarul) este creat˘ pe m˘sura parcurgerii ¸irului de simboluri de intrare. for (i=0. pentru toate celelalte aplic˘ri ale a a a a tehnicii LUT. Din ¸irul de intrare (presupus binar) se extrage câte un bit ¸i se verific˘ s s a dac˘ ¸irul de bi¸i deja extras se reg˘se¸te sau nu în dic¸ionar. } Codarea Ziv-Lempel Codarea Ziv-Lempel nu are ca origine ideea explicit˘ de a m˘ri entropia alfabetului coa a dului (precum codarea Huffman). pentru t a a s s decodare. Dac˘ ¸irul se reg˘se¸te as t a s t a s a s în dic¸ionar. } pos_in=pos_in+D. pos_out=pos_out+D. } else { out[pos_out]=0. în ¸irul codat se scrie codul (indicele) t s t s prefixului ¸irului nou ad˘ugat (deci pozi¸ia la care se g˘se¸te în dic¸ionar cuvântul la care s a t a s t Aceast˘ caracteristic˘ este probabil unic˘ codului Ziv-Lempel.i++) out[pos_out+i]=in[pos_out+i]. pos_out++. a a Dic¸ionarul ini¸ial are dou˘ cuvinte: cuvântul 0. tabela de codare este transmis˘ sau memorat˘ împreun˘ cu cuvintele de cod sau se prea a a supune existen¸a unei tabele de codare implicite.

Simbolul curent este 0. s a 7. bitul 0. în dic¸ionar se adaug˘ cuvântul 00 (care va avea t a a indicele 2). iar noua pozi¸ie curent˘ din ¸irul de intrare este ultimul bit al ¸irului t a s s deja extras. 1. Procedeul continu˘ pân˘ când ¸irul de a s a a s intrare nu mai are simboluri necodate. t a Pentru decodare. înaintea termin˘rii simbolurilor din ¸irul a a s de codat. Cuvântul 10 nu exist˘ în dic¸ionar. Dac˘. 1. deci pozi¸ia 3. acest ¸ir se reg˘se¸te în dic¸ionar t s a s t (cu indicele 0) ¸i atunci se mai extrage un bit din ¸ir. 0. ¸irul de bi¸i extra¸i devine t s s s t s 10. ¸irul de bi¸i a s t s s s t extra¸i devine 00. Simbolul curent este 0. 0. 1. Simbolul curent este 1 (pe t s prima pozi¸ie a ¸irului de intrare) ¸i formeaz˘ ¸irul de bi¸i extras. t S˘ consider˘m ¸irul de intrare 1. bitul 0. bitul 0. acest ¸ir se reg˘se¸te în t s s as t s a s dic¸ionar (cu indicele 1) ¸i atunci se mai extrage un bit din ¸ir. acest ¸ir s t s se reg˘se¸te în dic¸ionar (cu indicele 0) ¸i atunci se mai extrage un bit din ¸ir. ¸i atunci: în ¸irul de ie¸ire se scrie s a t s s s indicele prefixului noului cuvânt (deci 0). fiecare nou cuvânt de cod implic˘ scrierea unei noi intr˘ri în tabelul a a de codare (dic¸ionar) în care ¸irul de simboluri este format din prefix (¸irul de simboluri t s s care se g˘se¸te în dic¸ionar la intrarea precizat˘ de cuvântul de cod) ¸i o termina¸ie de 1 a s t a s t bit. ¸i atunci: în ¸irul de ie¸ire se t s a t s s s scrie indicele prefixului noului cuvânt (deci 3). dic¸ionarul cuvintelor de cod a a s t con¸ine cuvântul 0 (cu indice 0) ¸i cuvântul 1 cu indice 1. tabela de codare (cu num˘r fixat de intr˘ri) se umple. în dic¸ionar se adaug˘ s t a cuvântul 10 (care va avea indicele 2). Cuvântul 000 nu exist˘ în dic¸ionar. 0. exist˘ dou˘ variante de a a a a continuare: fie restul ¸irului de intrare se codeaz˘ conform tabelei de codare existente prin s a c˘utarea celor mai lungi cuvinte de cod. respectiv primul bit). iar noua pozi¸ie curent˘ din ¸irul de intrare este ultimul bit al ¸irului deja t s s extras. 0. fie tabela de codare este “golit˘” ¸i se continu˘ a a s a cu procedeul ini¸ial. în dic¸ionar se adaug˘ cuvântul 000 (care t a va avea indicele 4). a Metoda Ziv-Lempel a pus bazele unei clase mai largi de metode de compresie. iar noua pozi¸ie curent˘ din ¸irul de intrare este t a s ultimul bit al ¸irului deja extras. Cuvântul 00 nu exist˘ în dic¸ionar. iar indicele scris la ie¸ire este 1). Procedeul continu˘ în mod analog.2 Compresia imaginilor cu nivele de gri Cea mai imediat˘ metod˘ de codare a unei imagini cu nivele de gri este de a o consia a dera ca un ¸ir de bi¸i ¸i de aplica metodele de codare pentru imagini binare: fie pentru s t s 99 . ¸i atunci: în ¸irul de ie¸ire se scrie indicele celui a t s s s t a t mai lung cuvânt din dic¸ionar la care ad˘ugând un bit ob¸inem noul cuvânt (noul cuvânt este 10.ad˘ugând ultimul bit al ¸irului de intrare se ob¸ine un cuvânt nou) ¸i ultimul bit din ¸ir a s t s s devine primul bit al urm˘torului ¸ir de intrare. 0. a c˘rei valoare rezult˘ la primirea cuvântului de cod urm˘tor (s˘ nu uit˘m c˘ ¸irurile a a a a a as succesive de simboluri ce se codeaz˘ au în comun ultimul. ¸irul de a s bi¸i extra¸i devine 000. Sirul s s s t s ¸ t s s s 00 se reg˘se¸te în dic¸ionar (indicele 3) ¸i atunci se mai extrage un bit din ¸ir. ¸irul de bi¸i extra¸i devine 00. deci pozi¸ia 2. deci pozi¸ia 5. incluzând printre altele ¸i varianta LZW (Lempel-Ziv-Walsh) folosit˘ de utilitarul de compresie ZIP. 1. cuvântul prefix este 1.

1 Codarea predictiv˘ a Codarea predictiv˘ se bazeaz˘ pe existen¸a unei importante corela¸ii spa¸iale între valorile a a t t t pixelilor unei imagini (deci valorile pixelilor vecini sunt asem˘n˘toare). atunci a a eroarea de predic¸ie e(n) este mic˘ ¸i reprezentarea ei necesit˘ mult mai pu¸ini bi¸i decât t as a t t reprezentarea valorii originale u(n). Pentru a avea o a codare cât mai precis˘. pe baza predictorului pred): e(n) = u(n) − u(n) 100 (7. t s spunem c˘ prezicem valoarea pixelului curent. Predic¸ia se realizeaz˘ printr-o func¸ie.1: Schema de codare cu predic¸ie. c˘ valoarea unui pixel poate fi aproximat˘ cu o combina¸ie a a t a valorilor unora dintre vecinii s˘i. Asemenea abord˘ri produc cod˘ri f˘r˘ pierderi a imaa a a aa ginilor ¸i nu produc întotdeauna rezultate spectaculoase. Fig. cunoscut˘ la nivelul întregii imagini permite determinarea unei variante aproximative a imaginii date cunoscând doar un num˘r mic de “pixeli de start”. parcur¸i anterior. se folosesc ¸i erorile dintre valorile prezise ¸i cele reale.5) (care exprim˘ eroarea de aproxit t a mare e(n) ca diferen¸a între valoarea corect˘ u(n) ¸i valoarea prezis˘ u(n)) ¸i ecua¸ia de t˘ a s a s t a a a predic¸ie (7. valorile de start ¸i erorile a t t t t s de aproximare ale fiec˘rui punct. codarea a s s asociat˘ imaginii ini¸iale va con¸ine deci func¸ia de predic¸ie. t Ecua¸iile ce descriu procesul sunt ecua¸ia erorii (7. 7. a t a t a care. .5) . Dac˘ se stabile¸te o ordine de parcurgere a pixelilor a a s ce formeaz˘ imaginea (deci dac˘ se stabile¸te o ordine de baleiere a imaginii) ¸i pentru a a s s aproximarea valorii pixelului curent se folosesc pixeli vecini spa¸ial lui. Schema de codare cu predic¸ie este reprezentat˘ în t a figura 7..6) (ce exprim˘ modul în care se determin˘ valoarea aproximativ˘ u(n) din t valorile anterioare u(n − k1 ). Aceast˘ corela¸ie a a a t poate implica.1. Dac˘ predictorul este determinat în mod corect. de exemplu. u(n − k2 ).2..fiecare plan de bit al reprezent˘rii binare a nivelor de gri. a a 7. fie pentru succesiunea de bi¸i a t a reprezent˘rilor nivelelor de gri. O mult mai mare amploare a s c˘p˘tat clasa de metode de compresie cu pierderi [controlabile].

7) (7. 7. n) = u(m − 1. Atâta vreme cât cea mai a t mare parte a energiei este distribuit˘ în câteva componente spectrale (de joas˘ frecven¸a). n − 1) + u(m − 1.8) 1 (u(m − 1. t Predictorii cei mai simpli sunt liniari ¸i sunt invaria¸i la schimbarea punctului curent. n − 1) + u(m − 1. s t Predictorii pe linii sau coloan˘ calculeaz˘ aproximarea în punctul curent u(m.2).u(n) = pred (u(n − k1 ). n) + u(m. astfel memoria necesar˘ reprezent˘rii este mult mai mic˘. Se mai pot folosi predictori de tip valoare medie: u(m. a a t˘ toate celelalte pot fi ignorate. n − 1)) 2 (7. t 7. n) = 1 (u(m − 1. n + 1)) 4 Un caz particular de codare cu predic¸ie este modula¸ia delta. Eroarea de predic¸ie eq (n) t (cuantizat˘) este adunat˘ la valoarea aproximativ˘ u (n). n) al imaa a ginii ca valoarea anterioar˘ de pe aceea¸i linie u(m. a a 101 . Fig. a a a Este evident c˘ o asemenea metod˘ de compresie este cu pierderi.. n) = u(m. n) + u(m..) (7.2: Schema de decodare cu predic¸ie.2 Compresia imaginilor cu transformate Principiul compresiei cu transformate a imaginilor se bazeaz˘ pe propriet˘¸ile de coma at pactare a energiei ¸i decorelare a componentelor spectrale pe care le prezint˘ majoritatea s a transform˘rilor integrale unitare (discutate în sec¸iunea 4.6) Procesul de decodare este reprezentat schematic în figura 7. u(n − k2 ). n) (dac˘ ordinea de baleiaj este cea uzual˘). determinat˘ cu acela¸i predictor a a a a s pred din valorile u (n) deja calculate. n) = u(m. . n − 1) sau de pe aceea¸i a s s a a a coloan˘ u(m. caracterizat˘ de cuantizarea t t a erorii de predic¸ie (aproximare) e(n) cu un singur bit (bit de semn).2.2.

Cum aceast˘ transt t a formare este evident unic˘ pentru o clas˘ de imagini. cuantizarea componentelor spectrale p˘strate.2. transformata cosinus s-a dovedit o foarte bun˘ alegere.3 Codarea cu arbori cuaternari Un arbore cuaternar (numit în engleza quadtree) este un arbore în care fiecare nod neterminal are exact patru descenden¸i. Aceast˘ transformare este transformata a a a Karhunen-Loeve: transformare integral˘ unitar˘ a c˘rei matrice de transformare are pe coloane vectorii proprii norma¸i ai matricii de covaria¸ie a imaginii. teoretic. a Transformarea optimal˘ trebuie s˘ decoreleze complet componentele spectrale (asigurând a a astfel ¸i compactarea maxim˘ a energiei ¸i cea mai bun˘ eroare de aproximare prin s a s a truncherea frecven¸elor înalte). a a a a iar cei 64 de coeficien¸i ai transform˘rii sunt copia¸i într-un vector prin baleierea pe dit a t agonal˘ a blocului de 8 x 8 pixeli. Valorile celorlal¸i coeficien¸i sunt coda¸i entropic t t t (Huffman). Num˘rul de nivele de cuantizare ¸i distribu¸ia acestora (diferen¸ele dintre a s t t nivelele vecine) este adaptate statisticii semnalului (cuantizarea optim˘ este cuantizarea a Loyd-Max [9]. Fiec˘rui bloc i se aplic˘ o transformat˘ cosinus bidimensional˘. t Orice imagine p˘trat˘. pentru fiecare imagine în t a a a a parte. trebuie g˘sit˘ transformarea optimal˘. Decorelarea complet˘ este dependent˘ de propriet˘¸ile t a a at statistice ale imaginii (matrice de covaria¸ie). Exemplul cel mai des folosit de compresie cu transformate este standardul de compresie JPEG (fi¸iere imagine cu extensia . ¸i propor¸ional cu faca s t torul de calitate dorit pentru imaginea ref˘cut˘). t a s t Cuantizarea componentelor spectrale poate integra ¸i selec¸ia componentelor cel mai a importante: componentele de frecven¸a joas˘ sunt cuantizate o precizie mai mare.jpg). În condi¸iile în care majoritatea imaginilor naturale pot fi aproximate printrt t un model Markov puternic corelat (exprimând dependen¸a puternic˘ a valorii pixelilor t a de valorile vecinilor lor imedia¸i). stabilirea frecven¸ei limit˘ de la care începe ignorarea valorilor ¸i. Coeficien¸ii sunt cuantiza¸i în conformitate cu un a t t num˘r prestabilit de nivele de cuantizare (stabilit prin standard. s a care nu se suprapun. [16]). iar t˘ componentele de frecven¸a înalt˘ sunt cuantizate grosier (echivalent chiar cu eliminat˘ a rea acestora). Coeficien¸ii corespunzând frecven¸elor a a t t nule (valorile medii ale blocurilor) sunt codate predictiv printr-o tehnic˘ de tip DPCM a (Differential Pulse Code Modulation).3). s 7.Aplicarea practic˘ a compresiei cu transformate trebuie s˘ aib˘ în vedere trei aspecte: a a a alegerea transformatei. în practic˘ se încearc˘ g˘sirea unei a a a a a aproxima¸ii. Factorii de compresie ce rezult˘ sunt cuprin¸i în mod tipic între 10 ¸i 100. de dimensiune putere a lui 2 (N = 2K ) poate fi reprezentat˘ a a a 102 . deci. s s a Aspectul de compresie cu pierderi (diferen¸ele fa¸a de imaginea original˘) se manifest˘ t t˘ a a prin efectul de blocking: sublinierea frontierelor de separa¸ie a blocurilor de baz˘ (efect t a observabil ¸i în figura 7. t a s în fine. Imaginea este divizat˘ în blocuri de 8 x 8 pixeli.

Pentru refacerea imaginii in¸iale din reprezentarea arborescent˘ este suficient˘ alegerea t a a nodurilor terminale a c˘ror valoare corespunde pixelilor de obiect. ¸i fiecare pixel al imagini va corespunde unui nod terminal t s (frunz˘) de pe ultimul nivel al arborelui.3: Imagine decodat˘ în urma unei compresii JPEG cu raport de compresie 23 a (factor de calitate 90) (într-o reprezentare de tip ierarhic) pe o structur˘ de arbore cuaternar. Nodurile de pe a fiecare nivel al arborelui corespund unei împ˘r¸iri a unei zone p˘trate din imagine în patru at a “sferturi“. Structura arborelui anterior poate fi simplificat˘ prin introducerea în etapa de construc¸ie a t a unui test de uniformitate a regiunilor reprezentate de fiecare nod: dac˘ regiunea p˘trat˘ a a a considerat˘ nu este uniform˘. s t Dac˘ regiunea p˘trat˘ considerat˘ este uniform˘ (deci este compus˘ din pixeli de acela¸i a a a a a a s fel). O zon˘ este considerat˘ uniform˘ dac˘ diferen¸a maxim˘ a a a a t a a as s de nivel de gri a pixelilor ce o formeaz˘ nu dep˘¸e¸te un anumit prag impus. Fiecare nod terminal con¸ine informa¸ia de valoare a zonei de imagine la care t t t este asociat (vezi figura 7. valoarea zonei uniforme este media nivelelor de gri a pixelilor ce o compun. atunci aceasta va fi descompus˘ prin t˘iere în patru p˘r¸i a a a a at a a a egale ¸i nodul corespunz˘tor va deveni neterminal (va “c˘p˘ta“ cei patru descenden¸i). Pozi¸ia frunzei fa¸a de nodurile de pe acela¸i nivel ce au acela¸i t t˘ s s a 103 . nodul respectiv devine un nod frunz˘ (terminal) al arborelui (deci nu mai are dea scenden¸i). Adâncimea a a arborelui astfel ob¸inut este K. nodurile de a pe nivelul doi corespund sferturilor fiec˘rui sfert anterior determinat al imaginii. R˘d˘cina arborelui este asociat˘ întregii imagini (imaginii ini¸iale). Fiecare nod terminal con¸ine informa¸ia de a t t valoare a pixelului la care este asociat.4). 7.Fig. nodurile a a a t de pe primul nivel al arborelui corespund celor patru sferturi ale imaginii. ¸i a¸a s s mai departe. Adâncimea la care a este plasat˘ în arbore o frunz˘ con¸ine informa¸ia de dimensiune a zonei p˘trate corea a t t a spunz˘toare din imagine (o frunz˘ situat˘ la adâncimea h corespunde unei zone p˘trate a a a a de latur˘ 2K−h pixeli). Împ˘r¸irea imaginii poate continua pân˘ când nodurile nivelului curent al at a arborelui corespund unor zone p˘trate a c˘ror dimensiune este de un pixel.

aceasta duce la parcurgerea fiec˘rui pixel din imagine de un num˘r de ori egal cu adâncimea în arborele cuaternar al a a blocului p˘trat din care face parte. în particular. de la stânga la dreapta ¸i de sus în jos). ci t a s 104 . Codarea imaginii (sau a arborelui cuaternar asociat) se face prin memorarea pozi¸iei t în arbore a nodurilor terminale ¸i a valorilor acestora. Fig. testul de uniformitate la nivelul fiec˘rui bloc presupune testarea a a valorilor tuturor pixelilor care compun blocul.4: Exemplu de reprezentare a unei imagini binare pe un arbore cuaternar complet Fig. Pozi¸ia în arbore a unui nod se s t specific˘ prin descrierea c˘ii prin care se ajunge la acesta. a Pentru a înl˘tura acest incovenient este suficient ca pixelii imaginii s˘ nu mai fie parcur¸i a a s în ordinea tradi¸ional˘ de baleiaj (pe linii. a a a a aceast˘ cale va con¸ine codurile de alocare a descenden¸ilor ce corespund avansului în a t t adâncime în arbore. 7. 7.5: Regula de alocare a descenden¸ilor t Principalul inconvenient al metodei de etichetare folosind arborele cuaternar este legat de complexitatea construirii acestuia prin abordarea ierarhic˘ top-down (de sus în jos) a prezentat˘.predecesor este direct determinat˘ de regula de alocare a sferturilor unei zone la nodurile a descendente ale arborelui (regula de alocare trebuie s˘ se p˘streze pentru întregul arbore) a a (vezi figura 7. Pe ansamblu.5). pornind de la r˘d˘cina arborelui.

ce vor ocupa pozi¸iile de a t a t ordin par ¸i din bi¸ii din coordonata orizontal˘ ce vor ocupa pozi¸iile de ordin impar s t a t (p˘strându-¸i aceea¸i ordine de rang).într-o alt˘ ordine. 7. Cuantizarea scalar˘ asociaz˘ unei mul¸imi mari de valori numere a a a t dintr-o mul¸ime mai mic˘ (în mod tipic acestea din urm˘ fiind numere naturale).7). Pentru baleiajul imaginilor s s-au re¸inut dou˘ astfel de curbe: curba Peano-Hilbert (numit˘ ¸i curba Peano în U.6: Ordinea de parcurgere a pixelilor pentru curba Peano în U. a t Cuantizarea vectorial˘ aproximeaz˘ (sau rotunje¸te) un grup de numere deodat˘. asocierea t a a include (chiar dac˘ nu explicit) opera¸ii de tipul rotunjirii la cel mai apropiat întreg. Pentru o implementare eficient˘ este îns˘ necesar˘ ¸i deducerea rapid˘ a a a a s a indicelui pe curba de baleiere a pixelilor. a s s 7. pentru a realiza o cuantizare vectorial˘ sunt necesare un set s a 105 . nu a a s a doar unul singur. Un asemenea baleiaj este reprezentat de o curb˘ de umplere a spa¸iului: un a t parcurs ce trece o singur˘ dat˘ prin fiecare pixel al imaginii.2. Doar curba Peano în Z are o asemenea rela¸ie rapid˘ de calcul. Curbele de umplere a spa¸iului sunt structuri fractale. A¸adar. care s˘ îi prearanjaze pe grupuri ce corespund p˘tratelor de diviziune a a a a imaginii. definite prin repetarea la diferite nivele ierarhice a unei aceleia¸i structuri.4 Cuantizarea vectorial˘ a Cuantizarea vectorial˘ este un algoritm de compresie a imaginilor ce se aplic˘ asupra a a unor date vectoriale ¸i nu scalare. putând fi interpretat ca o extensie a conceptului de s cuantizare scalar˘. zonele p˘trate uniforme (cu pixelii de aceea¸i valoare) sunt detectate a a s a într-o singur˘ trecere ¸i astfel arborele cuaternar poate fi creat direct prin nodurile sale s terminale.6) ¸i curba Morton (sau curba Peano în Z) (vezi a s figura 7. la dou˘ nivele de a rezolu¸ie t Dispunând de o astfel de ordine de baleiere. este evident c˘ dac˘ se parcurge imaginea a a în acest˘ ordine. prin între¸eserea bi¸ilor ce t a t t dau coordonatele în imagine a punctului. pornind de la coordonatele lor în imagine. Cuvântul binar ce exprim˘ indicele pe curb˘ a a a oric˘rui punct este format din bi¸ii din coordonata vertical˘. dup˘ t a as a forma celulei sale de baz˘) (vezi figura 7. nu se autointersecteaz˘ ¸i în a a as care oricare doi pixeli parcur¸i consecutiv sunt vecini spa¸ial în imagine (într-o vecin˘tate s t a t de tip V4 sau V8 ). Fig.

a s t 3 106 . introducând deci erori. pentru ca erorile (m˘surate de eroarea p˘tratic˘ medie) s˘ fie a a a a cât mai mici. iar fiecare vector de s s aproximare µj va fi reprezentat doar prin indicele j (deci o alt˘ aplicare a tehnicii LUT).7: Ordinea de parcurgere a pixelilor pentru curba Peano în Z. Construirea tabelei de codare (determinarea vectorilor de aproximare) se realizeaz˘ în a mod clasic prin algoritmi de clustering iterativ.9) Pentru cazul imaginilor. a Dac˘ vectorii de intrare au p componente. vectorii de intrare se aleg ca blocuri p˘trate. la dou˘ nivele de a rezolu¸ie t de vectori de aproximare (inclusiv metoda prin care acestea pot fi deduse) ¸i o regul˘ de s a asociere a vectorilor de intrare cu vectorii de aproximare. de dimensiune npb bi¸i. Algoritmul de clustering este procesul prin care unei Acest mod de calcul al raportului de compresie nu ¸ine seama de necesitatea transmiterii sau memt or˘rii ¸i a tabelului de codare. Dimensiuni uzuale ale acestor blocuri sunt 4 x 4 ¸i 8 x 8 (rezultând deci s vectori de intrare cu 16. respectiv 64 de componente). În original (adic˘ în limba englez˘) tera a menul de “cluster“ define¸te un grup. nesuprapuse între a ele. este necesar ca pentru fiecare vector de intrare. respectiv 64. reprezentate cu 256 nivele de gri (b = 8) ¸i dimensiuni ale tabelei s de codare n = 256 (256 vectori de aproximare). ace¸tia se pot a a t s grupa într-un tabel de codare (existent ¸i la codare ¸i la decodare). Dac˘ exist˘ n vectori de aproximare ce pot fi folosi¸i. similaritate a at a t˘ at sau distan¸a între unit˘¸i (vectori). Aceasta este t regula de asociere. atunci raportul de compresie este de 16. Asem˘narea unit˘¸ilor este determinat˘ în mod uzual prin asociere. snop sau o clas˘ de unit˘¸i. codate fiecare cu câte b bi¸i. atunci factorul de compresie realizat t 3 de cuantizarea vectorial˘ este dat de : a C= pb nb (7. Opera¸ia a a s t de cuantizare presupune înlocuirea vectorilor de intrare xi cu vectori de aproximare µj .Fig. 7. ciorchine. S˘ not˘m cu xi al i-lea vector de intrare ¸i cu µj al j-lea vector de aproximare. “asem˘n˘s a at a a toare“. iar num˘rul de a t a vectori de aproximare poate fi reprezentat pe nb bi¸i. aproximarea s˘ se fac˘ cu a a vectorul de aproximare cel mai apropiat (în sensul distan¸ei euclidiene). din imagine. Dac˘ consider˘m cazul imaginilor a a cu nivele de gri uzuale.

care nu poate fi rezolvat˘ analitic. prin anularea derivatei în raport cu t µj a func¸iei criteriu J ∂J =2 ∂µj N i=1 uij µj − xi = 0 (7. în func¸ie de t t a îndeplinirea sau nu a respectivelor condi¸ii. element cu element. Mai general. defini¸i de: t t t uij = 1. dac˘ xi ∈ ω j a 0. a t t a a a t a Calitatea parti¸iei (a clasific˘rii) este m˘surat˘ de suma varian¸elor clusterelor (adic˘ suma distan¸elor de la fiecare vector la centrul clasei în care apar¸ine. ceea ce poate fi t t interpretat ¸i ca o eroare de aproximare a vectorilor din clase prin centrul respectivei s clase). repetând testarea unor condi¸ii pentru fiecare obiect al mul¸imii. Pentru rezolvarea acestei probleme sunt a a 107 . omogene ¸i bine separate. dac˘ xi ∈ ω j a / (7. o informa¸ie de apartet at at a t nen¸a la un anumit grup. Indiferent de criteriul folosit.13) uij i=1 Determinarea coeficien¸ilor de apartenen¸a uij este îns˘ o problem˘ de optimizare comt t˘ a a binatorial˘. procedeul de vea a a a at rificare se reia. coeficien¸ii de apartenen¸a ai vectorilor i la clasele j. putem interpreta procesul de clustering ca un t˘ proces de parti¸ionare a unui set de unit˘¸i într-un num˘r de submul¸imi (numite clase t at a t sau clustere). pân˘ la ob¸inerea stabiliz˘rii (convergen¸ei) valorii criteriului t a t a t ce caracterizeaz˘ calitatea parti¸iei.11) Determinarea centrelor claselor se poate face simplu.10) În urma minimiz˘rii lui J trebuie determinate valorile µj (centrele claselor) ¸i valorile a s binare uij . în urma modific˘rii aloc˘rii unor unit˘¸i. Deci func¸ia criteriu ce trebuie minimizat˘ este t a n n n N J= j=1 Jj = j=1 xi ∈ωj xi − µj 2 = j=1 i=1 uij xi − µj 2 (7. se dore¸te s ob¸inerea unor clustere distincte. pe baza unui anumit criteriu. Num˘rul de clustere în care t s a se face împ˘r¸irea setului de unit˘¸i nu este în mod obligatoriu cunoscut apriori.12) de unde rezult˘ c˘ centrele claselor sunt mediile vectorilor ce apar¸in acestora: a a t N uij xi µj = i=1 N (7. parti¸ia existent˘ la un moment dat este declarat˘ corespunz˘toare sau. Se poate considera c˘ algoritmii iterativi fac mai multe “treceri“ prin setul a de obiecte de parti¸ionat. at at Metodele de clustering iterativ distribuie obiectele (vectorii) într-un num˘r predefinit a t t t de clase.mul¸imi de unit˘¸i (entit˘¸i) i se asociaz˘.

O simplificare a metodei provine din observa¸ia intuitiv˘ t a c˘ este normal ca un obiect s˘ fie alocat (s˘ apar¸in˘) clasei de care este cel mai apropiat a a a t a (în sensul distan¸ei la media acesteia).“cele k medii“). a a a 4 108 . se alege o parti¸ie aleatoare a setului de obiecte (vectori) t 2. se alege o parti¸ie aleatoare a setului de obiecte (vectori) t 2.15) 3. dac˘ nu este unic în clasa sa ω j . ω k . algoritmul se reia de la pasul a t a 2. Dup˘ fiecare asemenea mutare.tehnic˘ iteraa tiv˘ cu auto-organizare de analiz˘ a datelor. se calculeaz˘ costul a a mut˘rii în alt˘ clas˘. dac˘ cel pu¸in un vector a fost mutat între dou˘ clase. Folosind acest˘ observa¸ie.14) 3. este necesar˘ actualizarea mediilor a a a a claselor între care s-a f˘cut schimbul. pentru fiecare vector xi din set. vectorul xi este mutat în clasa pentru care costul ck este minim. se recalculeaz˘ a mediile claselor implicate în schimbare (ω j ¸i ω k ) s 4. dup˘ parcurgerea complet˘ a setului de vectori. Acest algoritm este algoritmul “Basic ISODATA “ t t (cunoscut ¸i sub numele de k-means . Algoritmul poate fi descris în etapele urm˘toare: a 1. vectorul xi va fi mutat în clasa la care distan¸a dk este minim˘ t a t a 4. dk = xi − µk 2 (7. dac˘ acesta poate fi mutat dintr-o clas˘ în alta. Itera¸iile se repet˘ pân˘ când nici un vector nu mai a t a a poate fi mutat. se reactualizeaz˘ mediile claselor a a a ISODATA este acronimul de la “Iterative Self Organizing Data Analysis Technique“ . Algoritmul poate fi descris de s urm˘toarele etape: a 1. Metoda imediat˘ urm˘re¸te s˘ determine. k = j. recalcularea mediilor se va face dup˘ fiecare parcurgere complet˘ a a 4 a mul¸imii de obiecte de parti¸ionat. ceea ce are ca a a t efect un volum mare de calcule. Principalul dezavantaj al acestei abord˘ri este faptul c˘ mediile claselor sunt recalculate a a dup˘ fiecare schimbare ce implic˘ fiecare vector al mul¸imii considerate. se caluleaz˘ distan¸ele sale la mediile tuturor a t claselor. ap˘rut prin 1965. realocarea se poate t a t aa face pentru toate obiectele considerate f˘r˘ a fi nevoie de recalcularea mediilor claselor pentru fiecare obiect.necesare metode iterative. acest cost este a a a ck = nk xi − µk nk + 1 2 − nj xi − µj nj − 1 2 (7. în itera¸ia urm˘toare. pentru fiecare vector xi din set. astfel ca suma varian¸elor a a t claselor s˘ scad˘. pentru fiecare veca a s a tor al setului.

algoritmul se încheie. Num˘rul de itera¸ii este puternic t a t dependent de alegerea parti¸iei ini¸iale a vectorilor.8: Imagine ref˘cut˘ dup˘ codarea prin cuantizare vectorial˘.5. tabelul vectorilor de cod are 16 intr˘ri. Figura 7. 7. Se remarc˘ slaba calitate a imaginii ref˘cute. Fig. codarea a fost reala a a a izat˘ cu blocuri de 8 x 8 pixeli. se reia a algoritmul de la pasul 2. dac˘ (fa¸a de itera¸ia anterioar˘) nici un vector nu a fost mutat în alt˘ clas˘ (sau a t˘ t a a a media nici unei clase nu s-a modificat). deci se ob¸ine o a a t compresie de 128. În imagine sunt foarte vizibile frontierele a t dintre blocurile de 8 x 8 folosite. Pentru nici unul dintre algoritmii iterativi prezenta¸i nu se poate preciza num˘rul de t a parcurgeri ale setului de vectori (obiecte) de parti¸ionat. 109 . cu a a a a a a a raport mare de compresie (128).8 prezint˘ o imagine ref˘cut˘ dup˘ o compresie prin cuantizare vectorial˘. cauza fiind num˘rul mic (16) de vectori de cod folosi¸i. dac˘ nu. precum ¸i de organizarea intrinsec˘ t t s a a acestora.

Capitolul 8 SEGMENTAREA IMAGINILOR
Segmentarea imaginilor se refer˘ la descompunerea unei scene (imagini) în componentele a sale [9]. În urma procesului de segmentare vor fi extrase din imagine obiecte distincte, regiuni ce satisfac anumite criterii de uniformitate, sau alte elemente. În [19] se propune o defini¸ie matematizat˘ a procesului de segmentare, ¸i anume segt a s mentarea unei imagini f este definit˘ ca parti¸ionarea [complet˘] a lui f (8.1) într-un a t a ansamblu de mul¸imi disjuncte nevide ¸i conexe (8.2), ce satisfac fiecare un anumit crit s a a teriu (8.3), criteriu ce nu mai este respectat pentru reuniunea oric˘ror dou˘ elemente ale parti¸iei. t
C

f=
i=1

fi , fi conexe

(8.1)

fi

s a fj = ∅, ∀i = j ¸i fi este conex˘, ∀i fi fj = F ALSE, ∀i = j

(8.2)

(fi ) = T RUE, ∀i ¸i s

(8.3)

Alegerea unei tehnici specifice de segmentare (parti¸ionare a imaginii) este legat˘ de mai t a multe aspecte caracteristice imaginii de analizat ¸i cerin¸elor utilizatorului. Dup˘ natura s t a ¸i con¸inutul imaginii, tehnicile de segmentare trebuie s˘ ¸in˘ cont de prezen¸a în imagine s t at a t a diverse categorii de artefacte: • reflexii, iluminare neomogen˘ a • zgomot suprapus infoma¸iei utile t 110

• zone texturate Dup˘ primitivele de extras, tehnicile de segmentare se împart în dou˘ categorii fundaa a mentale: tehnicile de segmentare orientate pe regiuni ¸i tehnicile de segmentare orientate s pe contur. Primitivele extrase din imagine sunt regiuni (forme) ¸i zone texturate pentru s tehnicile orientate pe regiuni, sau entit˘¸i de tip discontinuitate (frontiere, segmente de at dreapt˘, unghiuri) pentru tehnicile orientate pe contur. În cadrul segment˘rii orientate a a pe regiuni se disting câteva categorii principale de tehnici: • etichetarea imaginilor binare • segmentarea pe histogram˘ a • cre¸terea ¸i fuziunea regiunilor s s • segmentarea texturilor • segmentarea prin metode de clustering Tehnicile principale de segmentare orientat˘ pe contururi sunt: a • extragerea contururilor prin metode de gradient ¸i derivative s • extragerea contururilor prin metode neliniare • extragerea contururilor prin metode liniare optimale • extragerea contururilor prin modelare matematic˘ a În cele ce urmeaz˘ se prezint˘ doar o parte dintre aceste tehnici, pe care le consider˘m a a a cele mai semnificative.

8.1
8.1.1

Segmentarea orientat˘ pe regiuni a
Segmentarea bazat˘ pe histogram˘ a a

În general, opera¸ia de segmentare orientat˘ pe regiuni urm˘re¸te extragerea din imagine a t a a s zonelor (regiunilor) ocupate de diferitele obiecte prezente în scen˘. Un obiect se define¸te a s ca o entitate caracterizat˘ de un set de parametri ale c˘ror valori nu se modific˘ în a a a

111

diferitele puncte ce apar¸in entit˘¸ii considerate. Mai simplu, putem spune c˘ obiectul t at a are proprietatea de uniformitate a parametrilor de defini¸ie. t Unul dintre cei mai simpli parametri de defini¸ie este nivelul de gri al punctului. Nivelul t de gri corespunde în scen˘ unei propriet˘¸i fizice [9] (reflectan¸a, transmitivitate, valoare a at t˘ tristimulus, etc.) ce este preluat de senzorul de imagine ¸i asociat luminan¸ei imaginii. În s t acest caz, histograma imaginii (func¸ia de densitate de probabilitate a variabilei aleatoare t discrete ale c˘rei realiz˘ri sunt nivelele de gri din imagine) reflect˘ distribu¸ia în scen˘ a a a t a at s a propriet˘¸ii fizice înregistrate. Pentru o imagine f de M × N pixeli ¸i L nivele de gri, a t histograma este definit˘ (8.4) ca probabilitatea de apari¸ie în imagine a diferitelor nivele de gri posibile.
M−1 N−1 m=0 n=0

h(i) =

1 MN

δ(i − f(m, n)) , i = 0, 1, ...L − 1

(8.4)

Dac˘ nivelul de gri (respectiv proprietatea fizic˘ pe care acesta o reprezint˘) caracteria a a zeaz˘ în mod suficient obiectele din scen˘, histograma imaginii va prezenta o structur˘ de a a a moduri dominante - intervale de nivele de gri ce apar cu probabilitate mai mare. Fiecare asemenea mod (maxim al histogramei) va reprezenta o anumit˘ categorie de obiecte. a Ca exemplu imediat se poate cita cazul imaginilor ob¸inute prin scanarea documentelor t scrise ¸i a tip˘riturilor sau imaginile în infraro¸u (temperatura punctelor este asociat˘ s a s a nivelelor de gri astfel încât mai fierbinte însemn˘ mai alb). Pentru toate aceste tipuri de a imagini histograma este de tipul celei prezentate în figura 8.1.
0.015 0.01 0.005 0 0

50

100

150

200

250

300

Fig. 8.1: Histogram˘ bimodal˘ a a

Tehnici de pr˘guire (thresholding) a Separarea modurilor histogramei (¸i deci identificarea obiectelor din imagine, respectiv s caractere scrise / pagini albe ¸i obiecte fierbin¸i / obiecte reci) se face prin alegerea unui s t 112

¸ir de s a s a a s simboluri). sau 0 ¸i 255) sau pot fi s s s ¸iruri de simboluri sau al¸i identificatori. s t Fig.nivel de gri T .5) este o transformare punctual˘ (noua valoare din punctul (m. E0 . n) = E0 . Acest prag de segmentare se alege pe minimul global al histogramei. a Transformarea (8. Tuturor punctelor din imagine al c˘ror a a nivel de gri corespunde unui acela¸i mod. s a Segmentarea pe histogram˘ (numit˘ ¸i pr˘guire sau thresholding) semnific˘ determinarea a as a a unor nivele de gri ce separ˘ modurile histogramei.5) a Imaginea etichetat˘ va fi descris˘ de dou˘ etichete: E0 pentru punctele al c˘ror nivel de a a a gri este mai mic decât pragul T ¸i E1 pentru punctele al c˘ror nivel de gri este mai mare s a decât pragul T . n) = (8. t Exist˘ îns˘ ¸i o variant˘ de binarizare cu dou˘ praguri (transformare punctual˘ numit˘ decupare a as a a a a “slicing“). 0 ≤ f (m. T ≤ f(m. β = L − 1)1 . rezultând o imagine etichetat˘. n) < L g(m. Etichetele E0 ¸i E1 pot fi valori numerice (0 ¸i 1.2).deci o imagine caracterizat˘ doar de dou˘ valori. dac˘ f(m. ce pune în eviden¸a diferitele obiecte ale scenei a t˘ ini¸iale. numit prag de segmentare.2: Transform˘ri punctuale de binarizare. a s a Aceast˘ denumire provine din faptul c˘ rezultatul transform˘rii (imaginea etichetat˘) a a a a este o imagine binar˘ . Din imaginea ini¸ial˘ f de nivele de gri se construie¸te o imagine t a s de etichete (imagine etichetat˘) g. n) dea pinde doar de valoarea anterioar˘ din punctul (m. n) < T1 sau f (m.2) definit˘ de ecua¸ia urm˘toare: a t a g(m. în rest 1 113 . (figura 8. conform transform˘rii descrise de (8. n) > T2 a E1 .2). n)) ¸i poart˘ numele de binarizare. în care limitele domeniilor de contrastare sunt egale (T1 = T2 ) a ¸i contrastarea se face la valorile limit˘ ale nivelelor de gri (α = 0. Se poate remarca a a a de asemenea faptul c˘ binarizarea este un caz particular al transform˘rii de modificare a a liniar˘ a contrastului (2. 8.5) (vezi figura a a 8. li se asociaz˘ o aceea¸i etichet˘ (num˘r. n) < T E1 .

în minimele locale ale acesteia.7) Segmentarea se nume¸te global˘ dac˘ pragurile depind doar de nivelele de gri ale punctelor s a a imaginii: Tk = Tk (f (m. Acest tip t de segmentare multinivel este mai pu¸in eficient decât binarizarea.6) a a g(m. se recomand˘ aplicarea. Aceste atribute se refer˘ la modul de calcul al pragurilor de s a segmentare Tk în func¸ie de nivelul de gri din fiecare punct al imaginii f (m. n)) (8. coordot natele punctelor din imagine (m.. k = 0. n). În marea majoritate a cazurilor. n)) (8. (m. Trebuie de asemenea remarcat faptul c˘ a a este necesar˘ cunoa¸terea num˘rului de tipuri de obiecte din imagine. conform (8. transformarea de t segmentare pe histogram˘ este descris˘ de (8. a a segmentarea ob¸inut˘ nu este corect˘ (exist˘ regiuni prost etichetate). a a a at t a a unor opera¸ii de filtrare (eliminare a zgomotului). . TC = L .numite preproces˘ri. Pragurile Tk se aleg prin inspec¸ia histogramei. n) a punctului s a a (m. n) ¸i o anumit˘ proprietate local˘ p(m. n) = Ek dac˘ Tk ≤ f (m.9) Segmentarea se nume¸te dinamic˘ dac˘ pragurile depind de pozi¸ionarea punctelor în s a a t imagine (forma cea mai general˘ a modului de deducere pragurilor) (8.7): Tk = Tk (f(m.6) este în mod evident o metod˘ de tip global. a a Segmentarea se nume¸te local˘ dac˘ pragurile depind de nivelul de gri ¸i de anumite s a a s atribute locale calculate pentru vecin˘t˘¸i ale fiec˘rui punct: a at a Tk = Tk (f (m. 1. p(m. C − 1. înaintea segment˘rii. a În general. a 114 .. local ¸i dinamic. se admite clasificarea metodelor de segmentare pe histogram˘ [5] dup˘ atribua a tele global. contrastare. p(m. n).. n). netezire a t a at histogramei . ca o regul˘ gent a a a a eral˘ de îmbun˘t˘¸ire a performan¸elor.7). mai a a ales atunci când num˘rul modurilor este mare. din cauza dificult˘¸ii t at de stabilire a pragurilor care s˘ izoleze eficient intervalele de interes din histogram˘. n) < Tk+1 a (8. n)) (8.6) unde T0 = 0 .8) Segmentarea multinivel descris˘ de (8. pentru alegerea a s a corespunz˘toare a num˘rului de praguri de segmentare. îmbun˘t˘¸ire. n). n).În cazul general al existen¸ei a mai multe praguri de segmentare Tk .

11). adic˘: a C h(x) = k=1 wk N(µk . gaussian. a s Pentru segmentarea dup˘ metoda Bhattacharyya nu este necesar˘ precizarea unui num˘r a a a de clase (praguri de segmentare).10) Se observ˘ prin examinarea expresiei (8. σ k )(x) x = − 2 + k = mk x + nk δx σk σ2 k (8. t 115 . Ideea de plecare a metodei este de a determina parametrii caracteristici ai unei distribu¸ii normale. iar a a varian¸ele acestor moduri sunt determinate de zgomotul suprapus imaginii (care nu este t obligatoriu s˘ afecteze în acela¸i mod toate nivelele de gri). adic˘ se încearc˘ exprimarea histogramei imaginii ca o sum˘ ponderat˘ de a a a a func¸ii de densitate de probabilitate de tip normal (Gaussian). ¸i µk = s |mk | |mk | σk = (8. În acest mod.11) Aceast˘ observa¸ie poate fi aplicat˘ ¸i pentru o mixtur˘ de distribu¸ii normale. σ k )(x) Din parametrii dreptei se pot determina deci conform (8. Parametrii statistici ai distributiei sunt da¸i de ecua¸iile (8. σ k ) . aditiv. t Pentru o distribu¸ie normal˘ t a (x−µk ) − 1 2 N(µk . t t t 1 nk . peste care s-a suprapus un zgomot alb. în care fiecare tip de obiect este reprezentat de un unic a nivel de gri. din ai c˘rei parametri se pot deduce media ¸i varian¸a a a a a s t distribu¸iei. S˘ cona t as a t a sider˘m c˘ histograma h a imaginii este compus˘ prin superpozi¸ia aditiv˘ a C moduri a a a t a gaussiene N (µk .10) c˘ derivata logaritmului distribu¸iei normale a a t este o dreapt˘ de pant˘ negativ˘.11) parametrii statistici ai distribu¸iei locale. acesta urmând a fi determinat în mod automat.Determinarea automat˘ a pragurilor: metoda Bhattacharya a Metoda Bhattacharyya se bazeaz˘ pe descompunerea histogramei în moduri individuale a Gaussiene. Modelarea modurilor t histogramei imaginilor prin distribu¸ii normale este o presupunere ce se întâlne¸te în t s multe tehnici de prelucrare ¸i analiz˘ ¸i pare a fi justificat˘ de considerarea imaginii ca as a s provenind dintr-o imagine ideal˘. mediile modurilor din histogram˘ corespund nivelelor de gri ce caracterizeaz˘ obiectele scenei. σ k )(x) = √ e 2σk σ k 2π 2 derivata logaritmului este: µ δ ln N(µk .

0.3 0. 8. 8.1 0 -0. 116 .3: Histogram˘ cu trei moduri normale a 0.1 0 50 100 150 200 250 300 Fig.01 0.008 0.002 0 0 50 100 150 200 250 300 Fig.004 0. ce corespund t as a modurilor.4: Aplicarea metodei Bhattacharyya pentru histograma trimodal˘ prezentat˘ antea a rior.2 0. se pot observa intervalele pe care func¸ia este liniar˘ ¸i descresc˘toare.006 0.

a = 1. [3]. Ca rezula a tat. Segmentarea cu prag optim Metoda de segmentare cu prag optim [5]. se va studia s a comportamentul derivatei logaritmului histogramei. a producând fenomenul de suprasegmentare. pi (x). procentele de ocupare a imaginii a de c˘tre fiecare tip de obiecte. obiecte “utile” ¸i fundal). C. Suplimentar.12) Pentru func¸ia astfel construit˘. se determin˘ intervalele pe care acesta este descresc˘toare t a a a (vezi figura 8. pentru aplicarea metodei la segmentarea pe histogram˘ a imaginilor. A¸adar. limitele superioare ale acestor intervale sunt pragurile Tk de segmentare pe histogram˘.13) Cazul cel mai simplu ¸i mai des folosit este cel al binariz˘rii (8. [19] face apel la teoria deciziilor (criteriul de decizie Bayes) pentru stabilirea valorii pragurilor de segmentare ce optimizeaz˘ un a anumit criteriu de eroare. i=1 Pi = 1 (8.4). Informa¸iile apriori necesare pentru aplicarea unei asemenea t tehnici sunt num˘rul de tipuri de obiecte din imagine. L − 1 h(a − 1) z(a) = ln (8.A¸adar. Principalele inconveniente ale metodei deriv˘ din faptul c˘ presupunerea alc˘tuirii hisa a a togramei imaginii numai din moduri gaussiene nu este întotdeauna adev˘rat˘. eroarea de segmentare va fi dat˘ de t s s (8. adic˘ a func¸iei z(a): a t h(a) . adic˘ este dat de num˘rul de pixeli a a ce apar¸in primului tip de obiect. dar au nivelul de gri mai mic decât pragul de segmentare T (fiind a deci aloca¸i gre¸it primului tip de obiect). pe fiecare dintre aceste intervale se poate face o aproximare a liniar˘ a punctelor ¸i pe baza parametrilor dedu¸i pentru dreapta de aproximare se pot a s s calcula. Atunci histograma imaginii va fi determinat˘ de mixtura distribu¸iilor a t tipurilor de obiecte: C C h(x) = i=1 Pi pi (x).5). dar au nivelul de gri mai mare ca pragul T (fiind deci t aloca¸i gre¸it celui de-al doilea tip de obiect) ¸i num˘rul de pixeli ce apar¸in celui de-al t s s a t doilea tip de obiect.11) parametrii statistici locali. Pi ¸i distribu¸ia nivelelor de gri ce caracterizeaz˘ fiecare tip a s t a de obiect. conform (8. metoda Bhattacharrya va identifica un num˘r mai mare de praguri decât este necesar.14): 117 . Criteriul ce se urm˘re¸te optimizat este eroarea s a s de segmentare (clasificare) a punctelor din imagine. în care trebuie des a terminat un unic prag T ce separ˘ distribu¸iile celor dou˘ tipuri de obiecte din imagine a t a (în mod tipic.

14) conduce la rezolvarea ecua¸iei (8. c˘ influen¸a fiec˘rui a a s a t a mod este limitat˘ la intervale nesuprapuse de nivele de gri. iar ecua¸ia (8. În aceste condi¸ii. σ 2 )(x). s t a în acest caz este îns˘ necesar˘ presupunerea suplimentar˘ de localizare a modurilor.15) Dup˘ cum am men¸ionat ¸i în sec¸iunea dedicat˘ tehnicilor de segmentare ce nu folosesc a t s t a informa¸ii apriori despre imagine (metoda Bhattacharyya). având varian¸a σ 2 .14) Pragul optim va minimiza eroarea de segmentare a pixelilor. a t t N1 (µ1 . În aceste condi¸ii. a carei solu¸ie este: t a t T = µ1 + µ2 σ2 P1 − ln 2 µ1 − µ2 P2 Metoda se poate extinde ¸i pentru imagini ce con¸in mai mult de dou˘ tipuri de obiecte. aceast˘ presupunere a a a implic˘ modelarea imaginii în nivele de gri ca o imagine cu doar dou˘ nivele de gri µ1 ¸i a a s µ2 .16) (8. în necunoscuta T .15).+∞ T E(T ) = P1 T p1 (x)dx + P2 −∞ p2 (x)dx (8. t ∂E(T ) =0 ∂T Derivând (8. a 118 .16) devine: s t (T −µ1 ) (T −µ2 ) − − 1 1 2 2 P1 √ e 2σ1 = P2 √ e 2σ2 σ 1 2π σ 2 2π 2 2 Prin logaritmare. astfel a a a încât s˘ se poat˘ considera.14) se ob¸ine forma echivalent˘ a ecua¸iei (8. distribu¸iile p1 (x) ¸i p2 (x) sunt distribu¸ii normale. ecua¸ia a t t t de gradul 2 devine o ecua¸ie liniar˘. ca ¸i în cazul metodei Bhattacharyya.15): t a t P1 p1 (T ) = P2 p2 (T ) (8. se ob¸ine urmatoarea ecua¸ie de gradul 2 în necunoscuta T : t t T2 1 1 − 2 2 σ1 σ2 − 2T µ1 µ2 − σ2 σ2 1 2 + µ2 µ2 1 − 2 σ2 σ2 1 2 − 2 ln P1 σ 2 =0 P2 σ 1 Una dintre simplific˘rile uzuale este presupunerea c˘ σ 1 = σ 2 = σ. presupunerea c˘ distribu¸ia t a t nivelelor de gri a diferitelor tipuri de obiecte este de tip normal (Gaussian) este relativ s t des întâlnit˘. afectat˘ de un zgomot Gaussian aditiv. σ 1 )(x) ¸i N2 (µ2 . Minimizarea erorii (8.

3). s s Cre¸terea regiunilor s a Principiul pe care se bazeaz˘ cre¸terea regiunilor este simplu: se aleg în imagine puncte s reprezentative pentru fiecare obiect individual ¸i categorie de obiecte. astfel. nu se poate t t garanta condi¸ia de conexitate a regiunilor ob¸inute în urma segment˘rii (8. pentru fiecare dintre ei va fi crescut˘ o regiune. Dac˘ în interiorul unui obiect nu este ales nici at a a a un germene. apoi este necesar˘ cunoa¸terea num˘rului t t a s a de tipuri de obiecte diferite. în fiecare astfel de fereastr˘ se alege un num˘r at a a a de germeni. Num˘rul final de regiuni rezultate este egal cu num˘rul de germeni ale¸i ini¸ial pentru a a s t cre¸tere. (8. numite germeni sau semin¸e. neconexe. Dac˘ în interiorul unui aceluia¸i obiect se g˘sesc mai mul¸i a s a t germeni. ¸i a a t t a a s anume (8. ¸i anume fuziunea regiunilor a a s s adiacente ce au propriet˘¸i asem˘n˘toare. a Pentru a preveni efectul unor neuniformit˘¸i de iluminare pe suprafa¸a imaginii.2). metoda astfel descris˘ pe scurt. are dou˘ etape esen¸iale: alegerea punctelor de a a t start (puncte ini¸iale). obiectul respectiv va fi înglobat de regiunile ce cresc pornind de la germeni din vecin˘tatea sa spa¸ial˘. primesc prin segmentarea a s pe histogram˘ o aceea¸i etichet˘. Acest lucru t t a este evident. este cre¸terea regiunilor. pe baza c˘rora s a are loc un proces de aglomerare a pixelilor vecini acestora. atât timp cât dou˘ obiecte de acela¸i tip. În principiu. Par¸ial. În urma acestui proces de aglomerare (ad˘ugare de a puncte) se ob¸in zone (regiuni) de pixeli cu acelea¸i caracteristici. a Chiar în cazurile în care toate aceste condi¸ii enun¸ate sunt îndeplinite. a s a s a a O metod˘ care respect˘ toate condi¸iile impuse de defini¸ia metematic˘ a segment˘rii. rezultând o eroare grav˘ de segmentare. acesta at t este împ˘r¸it˘ în ferestre nesuprapuse. deci obiecte individuale.1. respectivul obiect nu apare ca o regiune distinct˘ ¸i a t a as este pierdut. s Evident. acesta face ca obiectul ini¸ial a t s˘ fie împ˘r¸it artificial prin segmentare în mai multe regiuni. t s Procesul se opre¸te în momentul în care fiecare punct al imaginii a fost alocat unei regiuni. al c˘ror plasament spa¸ial este aleator (germenii se distribuie uniform pe a t 119 .1).2 Cre¸terea ¸i fuziunea regiunilor s s Pentru aplicarea cu succes a tehnicilor de segmentare pe histogram˘ prezentate anterior a trebuiesc îndeplinite neap˘rat câteva condi¸ii (deja enun¸ate).8. ce au acelea¸i propriet˘¸i s at s (în particular acela¸i nivel de gri). ¸i cre¸terea propriu-zis˘ a regiunilor t t s s a [19]. acest neajuns se a at t poate corecta printr-o etap˘ ce urmeaz˘ cre¸terii regiunilor. este de dorit ca fiecare obiect individual aflat în imagine s˘ fie s a marcat de câte un germene. [2]. Aplicarea tehnicilor de a t t segmentare pe histogram˘ este condi¸ionat˘ în primul rând de reprezentarea diferitelor a t a clase de obiecte din imagine pe intervale de nivele de gri diferite care nu se suprapun (sau se suprapun par¸ial pe por¸iuni foarte mici). În fine.2) ¸i (8. ¸i formeaz˘ în imaginea de etichete o regiune neconex˘. se presupune c˘ valorile prag corespunz˘toare se pot a a determina cu o precizie corespunz˘toare.

num˘rul de a s a a puncte ce se adaug˘ unei regiuni nu poate dep˘¸i un num˘r prestabilit (condi¸ia încearc˘ a as a t a În general. nu exist˘ valori stana a a dardizate ¸i alegerea acestora se face pe baza condi¸iilor particulare (legate de con¸inutul s t t imaginii) ¸i a experien¸ei utilizatorului. În plus. t Dac˘ de-a lungul tuturor c˘ilor ce unesc perechea de germeni nivelul de gri variaz˘ mai a a a mult decât pragul ales. cei doi germeni sunt plasa¸i în interit a a t orul unei zone de nivele de gri uniforme. În practic˘. O verificare suplimentar˘ încearc˘ s˘ previn˘ o eventual˘ suprasegmentare2 (împ˘r¸irea a a a a a at artificial˘ a unui acela¸i obiect în mai multe regiuni). Valorile procentuale ale pragurilor de compara¸ie. început de la ace¸tia. vecine dou˘ a t˘ a a câte dou˘ (relativ la un anumit tip de conexitate. Acest˘ alocare trebuie t a s˘ ¸in˘ seama de criteriul ca regiunile crescute s˘ fie uniforme: nivelul de gri al pixelului at a a t˘ ce se adaug˘ nu trebuie s˘ difere cu mai mult de un prag prestabilit fa¸a de nivelul de gri a a al germenului regiunii la care se aloc˘. În acela¸i timp.suprafa¸a imaginii). dreapta ce une¸te cele dou˘ a a s s s puncte (dac˘ aceast˘ dreapt˘ poate fi reprezentat˘ de o secven¸a de puncte conexe) (vezi a a a a t˘ figura 8. Verificarea a a s se poate face simplu pe baza calculului unui operator derivativ local. Verificarea se face pe baza calculului varia¸iei nivelelor de gri de-a s t a a s lungul drumurilor3 arbitrare ce unesc perechi de germeni. regiunile sunt ob¸inute printr-un proces de cre¸tere aproape s t s simultan˘. dac˘ valoarea acestuia nu dep˘¸e¸te un anumit procent prestabilit (10% a as s . Germenii se aleg astfel încât nivelul lor de gri s˘ fie reprezentativ t a pentru obiectele prezente local (deci nivelul de gri al germenilor trebuie s˘ corespund˘ a a unor maxime ale histogramei locale). nu trebuie considerate ca fixe. punctul ales este considerat ca t a plasat corect. a 2 120 . Dac˘ exist˘ o cale ce une¸te doi germeni de-a lungul c˘reia nivelul de gri nu variaz˘ cu mai mult de 20% . a a 3 Un drum între dou˘ puncte ale imaginii este o secven¸a ordonat˘ de puncte ale imaginii. Cvasi-simultaneitatea cre¸terii poate fi realizat˘ cu un algoritm serial. precum ¸i num˘rul de germeni distinc¸i t s a t ce r˘mân dup˘ procesul de reducere.20%) din diferen¸a maxim˘ de nivele de gri a ferestrei. care are drept capete punctele considerate.5). prin suprasegmentare se în¸elege parti¸ionarea imaginii într-un num˘r de regiuni mai t t a mare decât num˘rul de obiecte. V4 sau V8 ). eliminând germenii plasa¸i în intea s t riorul aceluia¸i obiect. În aceste s condi¸ii unul dintre cei doi germeni ai perechii este eliminat. examinarea tuturor drumurilor (c˘ilor) ce unesc perechi de germeni este exa a trem de costisitoare din punctul de vedere al timpului de calcul. ¸i eventual. s t Pornind de la germenii ale¸i. pân˘ când to¸i pixelii imaginii sunt repartiza¸i unei a s a t t regiuni. la o singur˘ trecere.30% din a a diferen¸a maxim˘ a nivelelor de gri din ferestr˘. trebuie verificat ca plasamentul spa¸ial t al germenilor s˘ se fac˘ în interiorul regiunilor ¸i nu pe frontiera acestora. deci în interiorul unui acela¸i obiect. atunci se consider˘ c˘ cei doi germeni sunt plasa¸i în interiorul a a t a a a unor obiecte diferite (deoarece c˘ile ce unesc germenii traverseaz˘ regiuni de frontier˘). prin alos a carea pixelilor ce sunt adiacen¸i (vecini) zonelor deja segmentate. De aceea se verific˘ doar a c˘ile formate din segmente verticale ¸i orizontale. deoarece este redundant. ca de exemplu laplacianul (37). Exist˘ ¸i no¸iunea reciproc˘ de subsegmentare: împ˘r¸irea imaginii a a s t a at într-un num˘r de regiuni mai mic ca num˘rul de obiecte.

a a a diferen¸a maxim admis˘ pentru nivelul de gri poate fi crescut˘ în etape. deci sunt redundan¸i. 8. s s t˘ s˘ asigure cre¸terea relativ uniform˘ ¸i izotrop˘ a tuturor regiunilor). deci sunt redundan¸i.5: Reducerea num˘rului de germeni: germenii 1 ¸i 2 sunt uni¸i de o cale cu segmente a s t paralele cu orizontala ¸i verticala de intensitate constant˘. Procesul de fuziune a regiunilor poate fi aplicat ¸i în urma unei cre¸teri a s s regiunilor. fie ca num˘r de puncte ce o compun. al c˘ror perimetru este P erim(Ri ) ¸i P erim(Rj ). ¸i anume ad˘ugarea la o regiune s s a a unor entit˘¸i (pixeli în acest caz) a c˘ror propriet˘¸i sunt similare cu cele ale unui obiecat a at tului de baz˘ (regiunea). germenii s a t 3 ¸i 4 sunt uni¸i de o cale dreapt˘ de acee¸i intensitate. fie prin caracterizarea interiorului t regiunii. pentru a înl˘tura efectele unei eventuale suprasegment˘ri.Fig. pân˘ la epuizarea a a a t pixelilor imaginii. a c˘ror ac¸iune de verificare a deosebirii între a t regiuni se face fie prin inspec¸ia frontierei comune. t Fuziunea regiunilor O extindere a principiului utilizat în cre¸terea regiunilor. a a a 121 . a s as a Dac˘ ad˘ugarea de noi pixeli se blocheaz˘ (criteriul de uniformitate nu mai este respectat). orice cale s t a s t ce une¸te germenii 1 ¸i 3 are o diferen¸a mare de intensitate. Exist˘ mai multe a a a criterii de fuziune a regiunilor adiacente. regiunile crescute sunt a t t conexe ¸i nu exist˘ puncte neetichetate (nealocate vreunei regiuni) ¸i pozi¸ia frontierelor s a s t dintre diferitele regiuni corespunde pozi¸iei frontierelor percepute subiectiv în imagine. a a Avantajele pe care le are o asemenea tehnic˘ de cre¸tere a regiunilor sunt acelea c˘ nu s mai este necesar˘ nici o informa¸ie privind con¸inutul imaginii.deci pixelii) pân˘ când regiunile adiacente devin suficient at a de diferite. a s a s putem determina Pm = min (P erim(Ri ). se afl˘ la baza tehnicilor de fuziune a regiunilor [9]. Fuziunea a a regiunilor const˘ în reunirea iterativ˘ a regiunilor adiacente (începând de la nivelul unor a a entit˘¸i atomice ale imaginii . P erim(Rj )) ¸i P lungimea frontierei comune4 . s 4 Lungimea frontierei comune poate fi m˘surat˘ fie ca perimetru. Pentru dou˘ regiuni adiacente Ri ¸i Rj .

sau distan¸a Mahalanobis (dac˘ A este o a a t a matrice de covaria¸ie a componentelor). xj (similaritatea dintre vectori) xi . unde A este o matrice pozitiv definit˘) t a a Pentru primele trei func¸ii. xj xi . s t În [9] se propun patru func¸ii de m˘sur˘ a asem˘n˘rii între perechi de vectori. a a a nt P ns P ns Pm > θ1 > θ2 < θ3 . xj ) = (corela¸ia normalizat˘ dintre vectori) t a xi .2. xj ) = xi . o valoare mai mare corespunde unei asem˘n˘ri mai mari t a a între vectori (valorile maxime pentru F2 (xi .Pe aceast˘ frontier˘ comun˘ se disting puncte slabe (în num˘r de ns ) ¸i puncte tari (în a a a a s num˘r de nt ). Un punct slab este acel punct pentru care diferen¸a nivelelor de gri între a t vecinii din regiunile adiacente este foarte mic˘ (mai mic˘ decât un anumit prag fixat). pentru doi t a a a a s s vectori xi ¸i xj . s s Abordarea fuziunii pe baza caracteriz˘rii interiorului regiunilor necesit˘ definirea a dou˘ a a a componente: o modalitate de caracterizare a propriet˘¸ilor regiunilor ¸i o modalitate de at s a defini “apropierea” sau similaritatea dintre tr˘s˘turi în termeni numerici. criteriile t s de fuziune a regiunilor Ri ¸i Rj sunt: • dac˘ num˘rul de puncte slabe raportat la perimetrul minim este important. Pentru func¸ia de s t similaritate bazat˘ pe distan¸a generalizat˘. xj ) ¸i F3 (xi . xj ) = (xi − xj ) · A · (xi − xj )T (distan¸a generalizat˘ dintre vectori. xi xj . t 122 . acestea se definesc ca: F1 (xi .5 (de exemplu o valoare apropiat˘ de 1 implic˘ unirea a dou˘ regiuni numai a a a dac˘ una dintre ele este aproape înconjurat˘ de cealalt˘). a a • dac˘ num˘rul de puncte slabe de pe frontiera comun˘ este mare. Parametrul θ1 controleaz˘ dimensiunea regiunilor ce se unesc ¸i se alege în general cu a s valoarea 0. xj F3 (xi . a a a • dac˘ num˘rul de puncte tari de pe frontiera comun˘ este mic. xj F4 (xi . o valoare mai mic˘ corepunde unei asem˘n˘ri a t a a a a mai puternice între vectori. nu pot lipsi din acest vector nivelul de gri mediu al regiunii ¸i varian¸a acestuia. xj ) = xi . xj ) sunt 1). aa Vectorul de tr˘s˘turi ce caracterizeaz˘ o regiune se compune din momente statistice ale aa a a a a variabilei aleatoare ale c˘rei realiz˘ri particulare sunt nivelele de gri din regiune repectiv˘. având aceea¸i dimensiune. xi + xj . Prin particularizarea matricii A se pot ob¸ine diferite distan¸e.75 ¸i 0. xj (produsul scalar dintre vectori) F2 (xi . t t ca distan¸a Euclidian˘ obi¸nuit˘ (A fiind matricea unitate. Un a a punct tare este acel punct pentru care diferen¸a de nivele de gri între vecinii din regiunile t adiacente este foarte mare (mai mare ca un anumit prag fixat). Cu aceste nota¸ii. xj − xi . A = I). Valori tipice pentru parametrii a a a θ2 ¸i θ3 sunt 0. distan¸e Euclidiene t a s a t ponderate (dac˘ A este o matrice diagonal˘).

este dat˘ a t a de combina¸ia liniar˘ a derivatelor par¸iale pe direc¸iile orizontal˘ ¸i vertical˘ (8. varia¸iile de valoare ale pixelilor reprezint˘ schimb˘ri ale propriet˘¸ilor t a a at fizice sau geometrice ale scenei sau ale obiectului observat. informa¸ii ce corespund frontierelor regiunilor t a a t determinate de obiectele scenei. Deci. m˘surarea a a acestei varia¸ii se va face prin operatori derivativi de tip gradient.2 Segmentarea orientat˘ pe contururi a Într-o imagine.17): t a t t as a ∂f ∂f ∂x ∂f ∂y ∂f ∂f = + = cos θ + sin θ ∂r ∂x ∂r ∂y ∂r ∂x ∂y ∂f = fx cos θ + fy sin θ (8. a t˘ t t t t Într-un num˘r mare de cazuri. modulul gradientului este: a t ∂f ∂r = max 2 2 fx + fy ∂f ∂r = −fx sin θ + fy cos θ = 0 fy fx (8. calculate dup˘ unghiul θ este determinat˘ de ecua¸ia a a a t ∂ ∂θ ce are solu¸ia evident˘: t a θ0 = arctan Pe aceast˘ direc¸ie. Derivata imaginii pe direc¸ia r.19) ¸i a direc¸iei acestuia (8.18).2. t Pentru o imagine cu suport spa¸ial continuu.17) ∂r Valoarea maxim˘ a acestei derivate. Aceste schimb˘ri pot coa respunde fizic la varia¸iile ilumin˘rii. pe direc¸ia unei muchii.8. calcularea modulului t s gradientului maxim (8.18) (8. aceste varia¸ii de intensitate sunt informa¸ii importante a t t pentru opera¸iile ce urmeaz˘ segment˘rii. Valoarea gradientului maxim din s t fiecare punct al imaginii este apoi comparat˘ cu un prag fixat: dac˘ pragul este dep˘¸it a a as 123 . derivata va fi t t maxim˘.19) Din punct de vedere practic. schimb˘rile de orientare sau de distan¸a fa¸a de t a a t ˘ t˘ observator.1 Metode derivative Principiul acestei metode const˘ în definirea punctelor de contur ca fiind acei pixeli ai a imaginii în care apar schimb˘ri importante (abrupte) ale nivelului de gri. ce face unghiul θ cu orizontala. 8. implementarea acestei metode implic˘ atunci calcularea. varia¸ii de absorb¸ie a radia¸iei. a derivatelor par¸iale fx ¸i fy . schimb˘ri de reflectan¸a ale suprafe¸elor. a pentru fiecare punct al imaginii.

n + 1) (8.23) pentru (8.20) (8.21). fy = f (m. Harta a t a de contururi este o imagine binar˘ în care punctele marcate (puncte-obiect) corespund a pozi¸iei punctelor de contur (puncte cu gradient de modul mare). n) fy = = ∂y ∆n Aceste derivate par¸iale discrete pot avea mai multe implement˘ri: t a fx = f (m.21). ceea ce conduce la aproximarea: ∂f ∂r ≈ |fx | + |fy | max 124 . n). (8. Deci toate t a t aceste opera¸ii se pot realiza prin filtr˘ri liniare cu m˘¸ti potrivite: (8. n) fx = f (m − 1. Wx = Wx = 1 −1 1 -1 . n).22) sunt combina¸ii liniare ale valorilor unor t pixeli din imagine.23) Wx = 1 0 −1 1 -1   1 . n). (8.6. pentru fiecare pixel. n − 1) − f(m.25) pentru (8. n) − f(m + 1. a Harta de orient˘ri este o imagine care con¸ine. ¸i este în general folosit˘ la prelucrarea suplimens a tar˘ a contururilor (conectare de contururi. Wy = 1 −1 (8. n).24) (8. n) − f(m + 1.22). n) − f (m.24) pentru (8. O simplificare uzual˘ t a practicat˘ este înlocuirea normei L2 din calculul modulului maxim al gradientului (8. n − 1) − f(m. extragere direc¸ional˘ de contururi). orientarea gradientului a t de modul maxim în punctul respectiv.(deci gradientul maxim în pixelul respectiv este suficient de important) atunci pixelul testat este pixel de contur. n + 1) fx = f (m − 1.22) Toate expresiile date de (8. fy = f (m. (8.20). Realizarea derivatelor par¸iale dup˘ direc¸iile orizontal˘ ¸i vertical˘ implic˘ transla¸ia în t a t as a a t s discret a lui fx ¸i fy : ∆f (m.20).25) Schema bloc a extragerii de contururi este reprezentat˘ în figura 8. t a as (8. n) − f(m. fy = f (m.19) a cu norma L1.21) (8. Wy = . situa¸i în vecin˘tatea pixelului curent din pozi¸ia (m. Wy =  0  −1 (8. n) ∂f fx = = ∂x ∆m ∂f ∆f (m.

fx(m. trebuie ca opera¸ia de mediere prin care se t t a a t realizeaz˘ netezirea s˘ se fac˘ pe o direc¸ie perpendicular˘ direc¸iei contururilor c˘utate a a a t a t a a a a [3]. ca de exemplu c+2 1 c 1 ¸i se t˘ prefer˘ folosirea operatorilor de derivare simetrici. Pentru ca în aceste t s condi¸ii detec¸ia contururilor s˘ nu fie afectat˘.n) m Harta de orientari θ(m. Wy =  0 (8. întrucât condi¸ia de normare ce trebuie îndeplinit˘ este cea pentru filtre de t a t a contrastare (derivare) (3. care s˘ acorde s a a 1 s o mai mare importan¸a pixelului curent prelucrat. Folosirea m˘¸tilor de derivare pe vertical˘ ¸i orizontal˘ prezentate are îns˘ serioase neaas as a a junsuri: dimensiunea lor mic˘ face ca rezultatele s˘ fie extrem de sensibile în prezen¸a a a t zgomotului. filtrarea de netezire are ca efect secundar mic¸orarea contrastului s frontierelor obiectelor din imagine (efectul de înce¸o¸are.6: Schema bloc a extractorului de contururi bazat pe metoda de gradient.23). În aceste condi¸ii a ap˘rut natural˘ ideea de a combina filtrarea de derivare t a a cu o filtrare de netezire. aditiv.n) Wx grad(f) ax m grad(f) ax(m. 8. Se remarc˘ faptul c˘ constanta de ponderare global˘ a m˘¸tii de filtare este a a a as neesen¸ial˘. Izotrop (c = 2). Figura 8.26) 1 0 −1 −1 −c −1 Prin particularizarea valorilor constantei de ponderare c se pot ob¸ine diferite tipuri t √ de operatori de extragere de contur clasici: Prewitt (c = 1). Dac˘ folosim pentru derivare masca Wy din (8.25). Ceea ce rezult˘ pentru a a operatorii de derivare orizontal˘ ¸i vertical˘ sunt m˘¸tile: as a as     1 0 −1 1 c 1 0 0  Wx =  c 0 −c  . În cazul general se pot folosi îns˘ a −1/3 −1/3 −1/3 pentru netezire medieri ponderate (¸i nu neap˘rat medieri aritmetice). care s˘ mai reduc˘ efectele zgomotului.7 prezint˘ t as a a a 125 . de tipul (8.9): suma coeficien¸ilor m˘¸tii s˘ fie nul˘. Atunci derivarea pe vertical˘ se combin˘ cu o opera¸ie de netezire cu masc˘ orizont tal˘ 1/3 1/3 1/3 ¸i derivarea pe orizontal˘ se combin˘ cu o opera¸ie de netezire a s a a t   1/3  1/3 . masca a cu masc˘ vertical˘ a a 1/3 1/3 1/3 1/3 de filtrare rezultant˘ va fi a . sau blur). Considerând zgomotul a a de tip gaussian.n) Comparator Harta de contururi fy(m.n) Wy θ Fig. Sobel (c = 2) [9].

În practic˘.18) ofer˘ un unghi “exact” al direc¸iei conturului în punctul a a t at s a curent.8 t ∂r prezint˘ harta binar˘ de contururi extras˘ prin compararea h˘r¸ii de intensit˘¸ii cu un a a a at at prag fixat (binarizarea h˘r¸ii de intensitate). a a at a Informa¸ia de orientare este în general folosit˘ în etape urm˘toare ale prelucr˘rii. 8. as Fig. unt a a a ghiurile determinate dup˘ (8. câteva direc¸ii sunt fas t˘ a t t 5 Problema tras˘rii figurilor geometrice oarecari (inclusiv a dreptelor) este rezolvat˘ de grafica pe a a 126 . calculat cu un efort semnificativ de calcul (împ˘r¸ire ¸i calcul de arctangent˘). ∂f max ) iar figura 8. aceast˘ informa¸ie este prea exact˘: pe grila p˘trat˘ de e¸antionare nu se t s a a a a a pot reprezenta cu u¸urin¸a drepte continue dup˘ orice direc¸ie5 .7: Harta de intensitate a contururilor (modulul maxim al gradientului) calculat cu m˘¸ti Prewitt pentru imaginea “lena”.8: Harta binar˘ de contururi extras˘ din harta de intensit˘¸i precedent˘. 8. at Fig.harta de intensitate a tranzi¸iilor (modulul maxim al gradientului.

vorizate ¸i u¸or de utilizat (vertical, orizontal, cele dou˘ diagonale). În acest caz se poate s s a m˘sura în fiecare modulul gradientului dup˘ aceste câteva direc¸ii importante, ¸i apoi se a a t s poate alege direc¸ia dup˘ care acest modul este maxim. Acesta este principul operatorilor t a compas. Un operator compas este definit de un num˘r de m˘¸ti de derivare (corespunz˘toare a as a în continuare unor filtr˘ri liniare) pe direc¸iile principale (vertical, orizontal, cele dou˘ a t a diagonale), în cele dou˘ sensuri. Compasul clasic are D = 8 m˘¸ti de filtrare (identice a as a a t a t dou˘ câte dou˘, mai pu¸in semnul), fiecare dintre ele realizând o derivare dup˘ o direc¸ie multiplu de 45◦ . Schema bloc a unui operator compas este prezentat˘ în figura 8.9; se a remarc˘ faptul c˘, odat˘ determinat˘ valoarea maxim˘ a modulului gradientului în pixelul a a a a a curent (m, n), ob¸inerea h˘r¸ii de contururi se face ca ¸i la un operator de gradient clasic. t at s
f1(m,n) W1 f(m,n) W2 f2(m,n) max grad (f)) ( k max grad (f)) ( k Comparator Harta de contururi

fD(m,n) WD
θk(m,n)

Harta de orientari

Fig. 8.9: Schema bloc a unui operator compas de extragere a contururilor. Un exemplu de m˘¸ti de derivare direc¸ional˘ sunt m˘¸tile urm˘toare (indexate dup˘ as t a as  a a  −1 −1 −1  0 0 0  , WNV = direc¸ia geografic˘ pe care calculeaz˘ derivata): WN = t a a 1 1 1       −1 −1 0 −1 0 1 0 1 1 1 1 1  −1 0 1 , WV =  −1 0 1 , WSV =  −1 0 1 , WS =  0 0 0 , 0 1  1  −1 0 1  −1 −1 0   −1 −1 −1 1 1 0 1 0 −1 0 −1 −1  1 0 , WE =  1 0 −1 , WNE =  1 0 −1 −1 . Dup˘ cum a WSE = 0 −1 −1 1 0 −1 1 1 0
calculator, prin algoritmi de rendering.

127

se remarc˘, familia de m˘¸ti se poate genera pornind de la una dintre m˘¸tile Prewitt, a as as prin transla¸ii circulare cu o pozi¸ie a frontierei m˘¸tii în jurul centrului ei; în mod analog t t as se pot ob¸ine operatori compas ti pe masca Sobel sau pe gradientul izotrop sau pe t baza¸  5 5 5 −3 . Precizia unghiular˘ a operatorilor compas este deci masca Kirsch  −3 0 a −3 −3 −3 determinat˘ de num˘rul de orient˘ri diferite pe care se calculeaz˘ derivatele, ¸i deci de a a a a s num˘rul de transla¸ii ale frontierei m˘¸tii; pentru o masc˘ p˘trat˘ de baz˘ de dimensiune a t as a a a a N , precizia unghiular˘ a operatorului compas este de 90◦ /(N − 1). a Unul dintre principalele dezavantaje ale metodelor de gradient este precizia slab˘ de loa calizare a conturului (a centrului tranzi¸iei) în condi¸iile unei pante pu¸in abrupte a acest t t tuia (tranzi¸ii slabe, graduale). Derivata a doua poate fi îns˘ folosit˘ pentru a determina t a a capetele tranzi¸iei (cele dou˘ extreme), sau pentru a marca centrul tranzi¸iei (trecerea sa t a t prin zero); figura 8.10 ilustreaz˘ aceast˘ comportare pentru cazul unidimensional. a a Operatorul bazat pe trecerea prin zero a derivatei secunde este operatorul “zero-crossing” [9]. În cazul imaginilor (semnale cu suport bidimensional) trebuie luat˘ în considerare a derivata secund˘ dup˘ ambele direc¸ii, combinate în laplacian: a a t ∆f = ∂ 2f ∂ 2f + 2 ∂x2 ∂y

În cazul discret, m˘¸ti ce implementeaz˘ laplacianul sunt m˘¸tile W5 − W7 , prezentate as a as la capitolul de îmbun˘t˘¸ire a contrastului imaginilor (pag. 37). Precizia sporit˘ a a at a operatorilor laplacieni conduce îns˘ la o sensibilitate crescut˘ în prezen¸a zgomotelor (mai a a t mare decât a operatorilor de gradient). Mai mult, laplacianul nu mai con¸ine informa¸ie t t relativ˘ la direc¸ia tranzi¸iei. a t t

8.2.2

Alte metode

O clas˘ important˘ de opera¸ii neliniare de extragere a contururilor sunt cele bazate a a t pe morfologia matematic˘. În sec¸iunea 6.2.3 am prezentat operatori morfologici de a t extragere a contururilor. Principiul acestora este de a m˘sura diferen¸ele dintre valorile a t extreme (minim ¸i maxim) ale vecin˘t˘¸ii punctului curent; dac˘ diferen¸a dintre aceste s a at a t valori este suficient de mare înseamn˘ c˘ punctul curent este un punct de contur, aflândua a se într-o zon˘ de tranzi¸ie a valorilor pixelilor. Variante ale acestei tehnici de baz˘ se a t a pot ob¸ine prin considerarea a mai multe elemente structurante, având diferite forme ¸i t s dimensiuni.

128

Fig. 8.10: Profil de tranzitie gradual˘; maximul primei derivate nu poate marca cu a precizie centrul tranzi¸iei; derivata secund˘ trece prin zero la mijlocul conturului. t a

129

Tehnicile de recunoa¸tere a formelor sau de t t t s s a a clasificare sunt precedate întotdeauna de o etap˘ de extragere a parametrilor de form˘ (sau a caracteristicilor formei). rota¸ie ¸i scalare. y) : K → R. În cele ce urmeaz˘ vom prezenta câ¸iva parametri de form˘ clasici. forme a asem˘n˘toare sunt caracterizate de parametri de form˘ de valori apropiate. au ap˘rut combina¸ii de tip raport. a Atunci func¸ia poate fi v˘zut˘ ca o func¸ie caracteristic˘ a formei.Capitolul 9 ˘ PARAMETRI DE FORMA Prin parametri de form˘ în¸elegem în general orice scalar sau func¸ie (cu suport unidia t t mensional sau bidimensional) asociate unei forme plane pe care o caracterizeaz˘. Parametrii a t a t de form˘ compun un fel de fi¸a de identitate a formei respective. o form˘ este o func¸ie de dou˘ variabile. perimetru (P ). pe baza c˘rei aceast˘ a s˘ a a form˘ poate fi recunoscut˘ în mod unic. asem˘n˘toare func¸iei t a a t a a a t t caracteristice a unei mul¸imi. cu suport compact a t a f (x. ace¸ti parametri trebuie s˘ fie a a s a invarian¸i la transla¸ie. descriind t deci o parte a unei imagini binare (zona din imagine în care se afl˘ obiectul de interes). Cum nu toate aceste numere sunt invariante ¸i caracteristice unic a a s unei anume forme. a t a a Raportul de compacitate (numit ¸i factor de form˘ [19]) este raportul dintre p˘tratul s 130 . formele a a a diferite prezint˘ diferen¸e mari între parametrii de form˘ ce le sunt asocia¸i. a t a 9. În mod ideal.1 Parametri geometrici Aceast˘ categorie de parametri se bazeaz˘ pe m˘sura unor atribute geometrice simple: a a a arie (S). num˘rul lui Euler (num˘rul de regiuni conexe a a a a — num˘rul de g˘uri). Pentru analiza imaginilor. num˘r de g˘uri. în general valorile acestei func¸ii sunt binare (0 sau 1).

9.1)..y)=0 xp y q (9.4) Cum caracterizarea unei forme printr-o serie infinit˘ de numere (a¸a cum cere teorema a s reprezent˘rii cu momente) nu este posibil˘. Acestea îns˘ caracterizeaz˘ a a o alt˘ func¸ie. coordonatele sunt discrete ¸i func¸ia este o func¸ie caracteriss t t tic˘.3) devine a mpq = f (x. ponderate cu scalarii necunoascu¸i gpq : t a t g(x. y) ¸i reciproc. a a t a a s În cazul imaginilor binare. y) pe polit t s a noamele xp ¸i y q ale bazei complete de polinoame.412. Exist˘ îns˘ forme diferite caracterizate de aceea¸i valoarea a a a s parametrului dat de (9. y)xp y q dxdy.2 Momente statistice ¸i invarian¸i s t Interpretând func¸ia caracteristic˘ a formei ca pe o func¸ie de densitate de probabilitate t a t bidimensional˘. y). y) = p+q N gpq xp y q 131 (9.273).3) Scalarul mpq (momentul de ordin p. formula momentelor (9.2) r Acest raport este evident unitar în cazul discului..5) . κ= Excentricitatea sau circularitatea formei (m˘sura în care forma dat˘ se deosebe¸te de a a s disc) poate fi definit˘ ¸i ca un raport al razelor cercurilor circumscrise (R) ¸i înscrise (r) as s formei: R c= (9. în practic˘ se folosesc serii de momente a a a truncheate pân˘ la un ordin maxim fixat N (p + q a N ). . Teorema reprezent˘rii cu momente afirm˘ c˘ mul¸imea infinit˘ de momente mpq determin˘ în mod unic f (x.perimetrului ¸i suprafa¸a formei: s t P2 (9. 2. y). o aproximare a lui f (x.1) 4πS Pentru o form˘ circular˘ raportul este unitar. putem defini momentele statistice asociate celor dou˘ variabile aleatoare a a (ce sunt coordonatele punctelor formei) [17]: mpq = K f (x. g(x. q sau p + q) este proiec¸ia func¸iei f (x. Aceast˘ aproximare este dat˘ de o a t a a combina¸ie liniar˘ a polinoamelor bazei. p. pentru p˘trat valoarea sa este de a c = 1. (9. cu cât num˘rul κ este mai apropiat de a a a aceast˘ valoare. 1. q = 0. cu atât mai mult forma seam˘n˘ cu un disc (p˘tratul are un raport de a a a a compacitate κ = 1.

γ = 1+ µ00 2 (9. 132 . calculul trebuie îns˘ ref˘cut. y) dat˘ de expresia (9. y) cu a momentele lui g(x.13) (9.y)=0 (x − x)p (y − y)q (9. ob¸inu¸i în condi¸iile folosirii unor t t s t t t t momente statistice de ordin cel mult 3 (N = 3).9) (9.6) Momentele statistice invariante la transla¸ie ¸i scalare sunt definite de: t s η pq = µpq p+q γ . ori de câte ori se dore¸te trecerea la o aproximare mai bun˘ a t s a a formei f .5). s problema a fost rezolvat˘ prin folosirea proiec¸iilor pe baza de polinoame Legendre [9]. Rezolvând sistemul de ecua¸ii cuplate ce a t se formeaz˘ (a se vedea [9]). cu rezultate modeste. scalare ¸i rota¸ie ai unei forme. Eficien¸a lor const˘ îns˘ în modul rapid de t a a calcul ¸i posibilitatea de a le utiliza cu succes pentru recunoa¸terea formelor geometrice s s convexe.11) (9. Aceast˘ cuplare provine din cauza folosirii unei a a baze neortogonale (a¸a cum este familia de polinoame xp y q ) pentru calculul momentelor. m˘rind valoarea lui N. sunt în num˘r de 7 ¸i sunt exprima¸i de: a s t Φ1 = η 20 + η 02 Φ2 = (η 20 − η 02 )2 + 4η 2 11 (9.8) (9.14) Ini¸ial (mijlocul anilor ’60) ace¸ti invarian¸i au fost folosi¸i pentru recunoa¸terea caract s t t s terelor mari de tipar. de aceea au a t˘ a fost introduse momente statistice invariante [19]. se pot ob¸ine rela¸iile c˘utate. Momentele statistice invariante la transla¸ie sunt momentele statistice centrate: t µpq = f (x. [9].G˘sirea acestor scalari se face prin egalarea momentelor cunoscute ale lui f (x.10) (9.7) Invarian¸ii la transla¸ie.12) Φ3 = (η 30 − 3η 12 )2 + (η 03 − 3η 21 )2 Φ4 = (η 30 + η 12 )2 + (η 03 + η 21 )2 Φ5 = (η 30 − 3η 12 )(η 30 + η 12 ) (η 30 + η 12 )2 − 3(η 03 + η21 )2 + Φ6 = (η 20 − η02 ) (η 30 + η12 )2 − (η 03 + η21 )2 + 4η 11 (η 30 + η 12 )(η 03 + η21 ) Φ7 = (η 30 − 3η 21 )(η03 + η 21 ) (η03 + η 21 )2 − 3(η 30 + η 12 )2 − −(η03 − 3η21 )(η 30 + η 12 ) (η30 + η 12 )2 − 3(η03 + η 21 )2 +(η03 − 3η21 )(η 03 + η21 ) (η 03 + η21 )2 − 3(η 30 + η 12 )2 (9. a t Trebuie îns˘ remarcat c˘ folosirea momentelor statistice pentru caracterizarea unei forme a a nu asigur˘ îndeplinirea a nici unuia dintre principiile de invarian¸a c˘utate. a t t a a a din cauza cupl˘rii ecua¸iilor.

Figurile 9.1: Semn˘tura unui p˘trat ca func¸ie de unghiul la centru. trebuie ca punctul de referin¸a x s˘ apar¸in˘ nucleului formei. Aceast˘ distan¸a a t˘ este exprimat˘ (sau m˘surat˘) în func¸ie de unghiul la centru θ realizat de punctul curent a a a t de pe contur cu axa orizontal˘ de referin¸a. în cazul folosirii t t semn˘turii bazate pe unghi. 9. se mai pot deduce alte atribute: excentricitatea suprafe¸ei t (9.15) (9. dx (θ) sau în func¸ie de abscisa curbilinie ρ a t˘ t (lungimea conturului cuprins între punctul curent ¸i punctul în care axa de referin¸a ins t˘ tersecteaz˘ conturul). t˘ t ε= θ= Φ2 µ00 (9. care m˘soar˘ gradul de uniformitate al distribu¸iei punctelor formei în jurul cena a t trului de greutate ¸i orientarea suprafe¸ei. axa de referin¸a este orizontala. deoarce. a t a a a Semn˘tura este definit˘ de distan¸a de la un punct de referin¸a fixat x (în general centrul a a t t˘ de greutate al formei) la fiecare punct de pe conturul (frontiera) formei. Ker(K) este definit prin: Ker(K) = {x|∀y ∈ K.3 Semn˘tura formei a Semn˘tura unei forme este o func¸ie scalar˘ de o variabil˘. Ca o restric¸ie general˘. caracterizat˘ de unghiul θ fa¸a de orizontal˘ s t a t˘ a al axei fa¸a de care momentul iner¸ie al formei este minim (9. a t˘ a t a Nucleul formei K.15).16) 1 2µ11 arctan 2 µ20 − µ02 9. t˘ Este posibil ca. punctul de referin¸a este a a t t˘ centrul de greutate. [xy] ⊆ K} 133 (9. pentru anumite unghiuri θ. dx (ρ). pentru formele concave. Aceast˘ problem˘ nu apare în cazul a a a a a a semn˘turii în func¸ie de abscisa curbilinie.1 ¸i 9. asociat˘ unei forma plane. intersec¸ia dreptei de direc¸ie θ a a t t cu conturul s˘ fie format˘ din mai multe puncte.17) . semn˘tura în func¸ie de unghiul la centru s˘ nu a t a poat˘ fi calculat˘.Folosind momentele invariante.2 prezint˘ semn˘a s a a turile unor forme poligonale.16). Semn˘tura formei este o reprezentare reversibil˘ (cunoscând a a a semn˘tura se poate reconstrui conturul obiectului). Fig.

axa de referin¸a este orizontala. punctul de a t referin¸a este centrul de greutate.2: Semn˘tura unei forme poligonale în func¸ie de abscisa curbilinie. t În [5] s-a propus aproximarea formelor prin dezvoltarea în serie Fourier a semn˘turii acesa tora ¸i truncherea reprezent˘rii (tehnic˘ utilizat˘ ¸i într-o aplica¸ie clasic˘ de recunoa¸tere s a a as t a s a conturului unor tipuri de avioane). ¸i este diametrul formei t s s pe direc¸ia θ.18) x∈K θ∈[0. 9. t Raportul de circularitate este definit ca: C(K) = supθ (dx (θ) + dx (θ + π)) inf θ (dx (θ) + dx (θ + π)) (9. pozi¸ia vârfurilor este marcat˘ t a a a a a t a de puncte unghiulare (a se urm˘ri figurile 9.Fig. se pot defini parametri de tip geometric. Atunci aceasta poate fi o metod˘ de a a s aproximare poligonal˘ a unei forme oarecari (g˘sirea vârfurilor unui poligon ce o aproxa a imeaz˘ cât mai bine). pentru o form˘ poligonal˘. Raportul de simetrie a este definit ca dx (θ) Y (K) = sup inf (9.2).π] dx (θ + π) Se observ˘ c˘ nu s-a f˘cut nici o presupunere privind convexitatea formei K. nucleul formei este o mul¸ime vid˘.19) Func¸ia hK (θ) = dx (θ) + dx (θ + π) se nume¸te suportul formei. a 134 .1 ¸i 9. în semn˘tur˘. dar unicitatea a a a distan¸elor dx (θ) ¸i dx (θ + π) implic˘ calcularea raportului de simetrie dup˘ punctele ce t s a a apar¸in nucleului formei. t˘ t˘ unde [xy] semnific˘ segmentul de dreapt˘ definit de punctele x ¸i y. t a Folosind semn˘tura formei. În cazul formelor a a s concave. O alt˘ posibil˘ aplica¸ie a semn˘turii pleac˘ de la a a t a a observa¸ia c˘.

este format din reuniunea unui num˘r finit a de seturi skeleton: Nmax SK(A) = n=0 Sn (A) nB) ◦ B (9.3). nB = B ⊕ .23) Sn (A) = (A nB) − (A Ordinul Nmax corespunde momentului în care toate seturile skeleton succesive devin nule. s˘ fie identic cu acesta (9. Skeletonul unei forme este mul¸imea centrelor discurilor maximale ale formei. elementul structurant nB este iterarea de n ori a elementului structurant B. O form˘ poate avea a a a a a mai multe discuri maximale.. ⊕ B (de n ori). a unei forme. 9.4 Skeletoane morfologice ¸i generalizate s Skeletonul este o reprezentare bidimensional˘ simplificat˘. 9. SK(A). Elementul structurant folosit 135 .22) (9.21). Ca exemt ple simple. moment marcat de A Nmax B = ∅. skeletonul unui disc este centrul s˘u. dac˘ îl include.20) ¸i nici un alt disc inclus în form˘ a a s a s˘ nu îl includ˘. Bx (r) ca a s s a fiind discul caracterizat de: Bx (r) ⊆ A (9.1 Skeletonul morfologic Calculul skeletonului unei forme reprezentate în spa¸iul discret se poate face prin formula t Lantuejoul [15]. Pena a a tru o form˘ A oarecare se define¸te discul maximal în A.4. sau. echivalent˘. de centru x ¸i raz˘ r. skeletonul formei A.21) Deci discul maximal trebuie s˘ fie inclus în form˘ (9.20) Bx (r) ⊆ Bx (r ) ⊆ A ⇔ r=r x=x (9. Fig. skeletonul unui p˘trat este reuniunea a a diagonalelor sale (figura 9.3: Exemple de skeletoane ale unor forme continue simple..9.

este în general o expresie discret˘ a discului unitar (deci element structurant V4 sau V8 ).4 prezint˘ skeletonul unei forme discrete oarecare. 9. Transformarea skeleton este idempotent˘ (SK(SK(A)) = SK(A)) ¸i antiextensiv˘ a s a a a (SK(A) ⊆ A). t t˘ a Reconstruc¸ia formei din skeleton se face dup˘ formula t a Nmax A= n=0 Sn (A) ⊕ nB (9.6). Folosirea skeletonului morfologic pentru recunoa¸terea fomelor este restric¸ionat˘ de pus t a ternica sa sensibilitate la zgomote (o mic˘ schimbare a formei duce la o modificare semnia s t t s a ficativ˘ a skeletonului1 ). nu este comutativ cu opera¸ia de reuniune a formelor (a se vedea figura t 9. a Fig. a se t vedea figura 9. În acela¸i timp. în acest caz skeletonul este o coroan˘ circular˘ aa a a situat˘ la jum˘tatea razei. nu este conex (chiar dac˘ forma A este conex˘. ∀i = j). Seturile skeleton sunt disjuncte dou˘ câte dou˘ (Si (A) ∩ Sj (A) = ∅. folosirea elementului structurant de tip disc unitar t s aduce o puternic˘ dependen¸a de metrica folosit˘ în definirea sa (s˘ nu uit˘m c˘ într-un a t˘ a a a a Exemplul clasic este de a considera un disc f˘r˘ centru. ¸i de varia¸ia la rota¸ia ¸i scalarea obiectelor (pentru reprezent˘ri a în spa¸iul discret).24) Se pot realiza ¸i reconstruc¸ii par¸iale (aproxim˘ri ale mul¸imii A) prin neglijarea seturilor s t t a t skeleton ce reprezint˘ detaliile (acestea sunt seturile skeleton de ordin mic). reprezentat prin reuniunea seturilor skeleton ¸i s informa¸ia de apartenen¸a a fiec˘rui punct la un anumit set skeleton.25) a a Skeletonul este invariant la transla¸ie.4: Skeleton al unei forme discrete. aproximarea a de ordin k a formei înseamn˘ deci ignorarea primelor k seturi skeleton din reconstruc¸ie: a t Nmax Ak = n=k Sn (A) ⊕ nB (9.5). a a 1 136 . a Figura 9.

5: Skeletonul nu este conex. Elementele structurante generalizate t sunt definite recurent prin: Bi = Bi−1 ⊕ Gi . −1). E1 = {(−1. Fig. ce pot fi cu greu interpretate ca discuri.7 prezint˘ construc¸ia setului de elemente structurante generalizate rezultat dintr-un set generator cu perioad˘ 1 (deci compus dintr-o a singur˘ mul¸ime). . a t a Fiec˘rui punct al formei A i se va asocia ordinul (indicele) elementului structurant generalizat maximal centrat cu originea în punctul respectiv. (−1. (0. figura 9. a spa¸iu discret.. B0 = 0n În general se folosesc seturi generatoare având o anumit˘ periodicitate T (Gi+kT = a a t Gi . (0.6: Transformata skeleton nu este comutativ˘ cu reuniunea.2 Skeletonul generalizat Fie {Gi } un set de mul¸imi. numit set generator. De exemplu. 9. 2. Aceasta a a dus la folosirea unei clase de elemente structurante care s˘ nu provin˘ din no¸iunea de a a t metric˘ . 0).elementele structurante generalizate.. a 9. i = 1. 0)}. metrica Euclidian˘ nu este cea mai favorabil˘) ¸i produce elemente struct a a s turante p˘trate (V8 ) sau în cruce (V4 ). k ∈ Z).26) 137 . 9.4. ∀i. −1). construind astfel o “hart˘ de a (9.Fig.

dac˘ (Bn−1 )x ⊆ A ¸i (Bn )x a s A (9.8.28) Folosind harta de distan¸a anterioar˘. în care s-au înlocuit no¸iunile: centru al t t discului cu origine a elementului structurant. dac˘ x ∈ A a / n.27) Fig. Se poate remarca similitudinea cu defini¸ia skeletonului. 9. ∀x = y (9. 9.7: Construc¸ia unui set de elemente structurante generalizate.Fig. t distan¸e” (a se vedea ¸i figura 9.8): t s D(x) = 0. raz˘ a discului cu a indice (ordin) al elementului structurant generalizat. skeletonul generalizat ob¸inut este prezentat în t˘ a t figura 9.8: Harta de distan¸e a unui obiect construit˘ pe baza setului de elemente struct a turante generalizate prezentat anterior ¸i skeletonul generalizat corespunz˘tor. s a Skeletonul generalizat al unei forme este mul¸imea originilor elementelor structurante t 2 generalizate maximale în form˘ : a GSK(A) = x ∈ A| BD(x)−1 x BD(y)−1 y . 2 138 . disc cu element structurant generalizat.

Capitolul 10 PRINCIPII DE IMPLEMENTARE SOFTWARE SI HARDWARE ¸ Principiile esen¸iale legate de implement˘rile practice ale sistemelor de prelucrarea ¸i analt a s iza imaginilor urm˘resc dou˘ direc¸ii. Adeseori programul a as a a trebuie s˘ fie de timp real. Dup˘ cum am ar˘tat în capitolul introductiv. Aceste variante de implementare sunt potrivite pentru procese caracterizate de parametri stabili ¸i care se desf˘¸oar˘ în condi¸ii ambiante (iluminare. marea s majoritate a implement˘rilor folosesc ca suport fizic pentru unitatea central˘ de prelua a crare un calculator obi¸nuit (compatibil PC). fum) relativ constante ¸i nu sunt portabile (fiind în general a s optimizate pentru o anumit˘ structur˘ hardware). Din acest punct de vedere vom face distinc¸ia între menu-driven ¸i t t s flow-chart driven (deci programe controlate prin meniu sau prin graf de flux). Interac¸iunea cu operatorul uman s s t este mare ¸i acesta trebuie s˘ aib˘ o calificare superioar˘. a a Programele de uz general permit efectuarea unui mare num˘r de opera¸ii de prelucrarea a t ¸i analiza imaginilor. cu dezvoltare corelat˘: implement˘rile software ¸i a a t a a s dispozitivele hardware (de accelerare). Interfa¸a utilizator este cea care creaz˘ diferen¸a între dou˘ categorii s at t a t a de programe. a a la descrierea structurii tipice a unui sistem de prelucrarea ¸i analiza imaginilor. Programele de acest tip nu s a a a sunt de timp real ¸i în general sunt cuplate off-line cu instala¸iile tehnologice proprius t zise. 139 . Interac¸iunea cu operatorul uman este minim˘ ¸i calificarea a a t as acestuia nu este necesar s˘ o dep˘¸easc˘ pe cea a unui tehnician [11]. f˘când parte mai ales din dotarea laboratoarelor de cercetare ¸i de analiza calit˘¸ii a s at ¸i conformit˘¸ii. în ceea ce prive¸te modalitatea în care operatorul specific˘ succesiunea de s a opera¸ii de executat. ceea ce îl particularizeaz˘ este pachetul s a de programe rulate. s as a t poluare vizibil˘ — particule. cu numero¸i parametri reglabili. Putem distinge dou˘ categorii fundamentale de astfel de programe: a programe strict dependente de aplica¸ie ¸i programe de uz general. t s Un program dependent de aplica¸ie realizeaz˘ doar algoritmii specifici opera¸iei pe care o t a t execut˘ sau supravegheaz˘.

modificare a t contrastului. Procesul de comand˘ t a înseamn˘ selectarea imaginii ini¸iale ¸i ac¸ionarea unui buton de start. Exemplul cel mai tipic de asemenea comportament este dat de rezolvare problemei de dithering (aproximarea culorilor reale dintr-o imagine.Implement˘rile de tip menu-driven aplic˘ câte un unic pas de prelucrare asupra imaginii a a din fereastra activ˘. Paint Shop Pro). ie¸iri ¸i parametri de control. Programele cu comand˘ menu-driven. problema era rezolvat˘ s a t a 140 . t˘ Implement˘rile de tip flow-chart permit construirea grafic˘ interactiv˘ a unui lan¸ de a a a t opera¸ii aplicate unei imagini ini¸iale. Opera¸iile realizate sunt orientate mai ales c˘tre aspectul t a grafic (publicistic) al imaginilor.1). Ca o categorie intermediar˘ între comenzile meniu ¸i diagrama de flux. Multe dintre oper¸iile ini¸ial realizate prin software-ul de aplica¸ie au migrat c˘tre nivelul t t t a hardware. ini¸ial. a s s t implementând fluxul de opera¸ii pe care îl va parcurge imaginea. Asemenea proa t s t grame sunt tipice sistemelor de calcul mari (sta¸ii de lucru). folosind un num˘r a mic de culori disponibile la dispozitivul de afi¸aj). Asemenea solu¸ii corespund mat t jorit˘¸ii sistemelor software comerciale de grafic˘ ¸i imaging (de tipul Adobe Photoshop. blocurile func¸ionale sunt interconectate. putem considera a s programele cu comand˘ de tip macro (sau batch). Dup˘ ce. a cu rezultatele intermediare parcurgând etapele opera¸iilor din fereastr˘ în fereastr˘. Tipurile a a a s de opera¸ii se aleg din meniuri sau bara de butoane. Fig. Fiecare opera¸ie este un bloc func¸ional caractet t t t rizat de intr˘ri. programul (sau limbajul) Matlab poate a fi încadrat într-o asemenea categorie. un produs similar pentru PC este programul AdOculos (figura 10. referindu-se în special la opera¸ii de filtrare. rezultatul va fi prezentat într-o nou˘ fereastr˘ de afi¸are. pseudocolorare. pentru care produsul Khoros t este un standard de fapt. decupare de regiuni.1: Specificarea fluxului de opera¸ii în fereastra de comand˘ a programului AdOcut a los. 10. sunt t a a direct derivate din proiectarea obiectelor de interfa¸a în sistemele de tip Windows. at as Corel Draw.

t s a t a Alegerea unui limbaj specific de programare nu mai este totu¸i o problem˘ esen¸ial˘.. ’98.) nu preiau ¸i atribu¸ia de s t a scrie algoritmii specifici. Atunci devine destul de normal s˘ fie proiectate ¸i datele a s a s specifice ale aplica¸iei particulare tot ca structuri de tip obiecte. Principala a a evolu¸ie a mediilor de programare nu a fost îns˘ legat˘ de modificarea limbajului în sine t a a (¸i deci a caracteristicilor de compilare a codului) ci modificarea stilului în care se creaz˘ s a aplica¸ia specific˘. Programarea unei aplica¸ii a a t Windows va face în mod clar apel la structuri predefinite . meniuri. Visual. de¸i se revendic˘ ca o aplica¸ie pur distribuit˘ pentru folosirea re¸elelor ¸i în s a t a t s special a Internetului. zone de text) pe cadre fixe (fereastr˘).1. pentru orice aplica¸ie. gestiunea culorilor a trecut în grija sistemului de operare. Borland C++ ¸i Borland Pascal cu obiecte) ¸i chiar apar limbaje noi s s (Java. numai cu mouse-ul (prin tehnic˘ drag and a a drop). buton.m.d. evolu¸ia sa a fost s a t a a t t deosebit de spectaculoas˘. deci t a t cu facilit˘¸i de prelucrare integrate. pentru t ca. Prograt t s matorul va dezvolta restul aplica¸iei ca pentru un compilator clasic. Probabil c˘ principalul atu al acestei evolu¸ii a fost apari¸ia a sistemului de operare Windows (cu toate derivatele sale 3. ap˘s˘ri de taste) ¸i construirea elementelor aa s grafice specifice (ferestre de afi¸are ¸i de dialog. aspectul de interfa¸a. t Concluzia ce rezult˘ din aceast˘ scurt˘ discu¸ie este aceea c˘.clasele de baz˘ aplica¸ie. recent. înglobând cipuri de compresie ¸i transmisie a imaginilor. opera¸ii de recunoa¸tere. Visual C++. etc. Senzorii de imagine CCD sunt una dintre ¸intele at t predilecte ale acestei dezvolt˘ri.). În cazul unui program de a t˘ prelucrarea ¸i analiza imaginilor acesta însemn˘ c˘ trebuie f˘cut˘ o proiectare la nivelul s a a a a structurii de date (matricea ce con¸ine valorile pixelilor din imagine ¸i prelucr˘rile specifice t s a 141 . a s comand˘ de urm˘rire automat˘ a ¸intei. Aceasta este de altfel una dintre tendin¸ele a a a t actuale: evolu¸ia accesoriilor (pl˘ci specializate. deci aspect grafic ¸i eventual partea de preluare a datelor. care. Acest˘ s s a activitate a fost simplificat˘ la maximum prin apari¸ia constructoarelor vizuale de aplia t ca¸ii.de programele aplica¸ie. u¸urin¸a construc¸iei vizuale este legat˘ strict de construc¸ia s t t t a interfe¸ei aplica¸iei. a t fereastr˘. a Ceea ce trebuie subliniat (spre a evita anumite interpret˘ri uzuale. a a a t t s De¸i programarea orientat˘ pe obiecte este un concept destul de nou. nu este cu mult diferit˘ ca structur˘ de un C cu clase). Desigur c˘ exist˘ nenum˘rate variante ale acestor limbaje de baz˘ (C++ Builder. t a s t˘ Proiectarea unei interfe¸e pentru Windows înseamn˘ definirea unor ac¸iuni asociate evenit a t mentelor produse în sistem (clicuri de mouse. Delphi.a. ¸i mai precis. dar eronate) este c˘ a a aceste medii de programare avansate (gen Builder.11. în care interfa¸a grafic˘ este construit˘ prin alipirea unor elemente de baz˘ (butoane. ’95. etc. Compilatorul genereaz˘ automat codul surs˘ aferent construc¸iei. tot ceea ce trea a t buie s˘ fac˘ programatorul este s˘ lege sursa ce descrie aplica¸ia ¸i ac¸iunea specific˘ la t s t a a a a codul care interpreteaz˘ evenimentul de apel. 3.) a c˘rui structur˘ este în întregime bazat˘ pe conceptul de obiecte. introducere date. a a a t a t trebuie separat˘ partea de interfa¸a de partea de calcul specific. ¸. etc. s˘ apar˘ pl˘cile grafice inteligente. dispozitive de achizi¸ie) inteligente. majoritatea limbajelor de uz general ingineresc (tehnic) provin din trunchiul comun C / a a a a Pascal. t t a a a ferestre.

f˘r˘ sisteme de operare a a t aa multi-tasking. în cazul imaginilor cu t nivele de gri. aa a a s înglobat în obiectul de tip fereastr˘. a s a s a Aceast˘ abordare exclude îns˘ accesul la con¸inutul imaginii. în func¸ie a a a t de tipul datelor c˘rora li se aplic˘ (func¸ia de histogram˘ poate produce. fie ca resurse de multiprocesare). protec¸ia datelor) sunt contrabalansate de codul executabil relativ lent ¸i de t s dimensiunile mari ale codului surs˘. aria obiectelor. S˘ consider˘m de exemplu problema afi¸arii unei imagini într-o fereastr˘. pu¸ine sisteme fizice multiprocesor au fost realizate pentru pret lucrarea de imagini. Java). Majoritatea covâr¸itoare a sarcinilor legate a t s de interfa¸a pot fi rezolvate f˘r˘ a cunoa¸te nimic despre opera¸iile specifice prelucr˘rii t˘ aa s t a imaginilor ¸i despre modul în care o imagine este reprezentat˘ în memoria de lucru a s a calculatorului. aceasta trebuie deci separat˘ a a t a de fereastra de afi¸are. de exemplu. cum se va face un eventual transfer dinamic al datelor de la sau c˘tre alte aplica¸ii). sistemele de prelucrarea ¸i analiza imaginilor au utilizat în general s ma¸ini cu paralelism masiv (SIMD/ SPMD. a a t a func¸ia de densitate de probabilitate a câmpului aleator imagine. pa lâng˘ orientarea obiect. un a a a t numitor comun al diverselor tipuri de filtre este tehnica de tip fereastr˘ glisant˘). aduce. la fiecare cerere de s a s a reafi¸are a acesteia. 142 .asupra acestora) ¸i o proiectare la nivelul interfe¸ei (care s˘ specifice cum se va face afi¸area s t a s imaginilor pe ecran. Este poate deci preferabil˘ memorarea imaginii ca o matrice s a ¸i transformarea acesteia într-o structur˘ bitmap ata¸at˘ ferestrei. Delphi. protec¸ie la manipularea defectuoas˘ a zonelor t a t a de memorie. s Cuvântul de ordine actual în implement˘rile software este orientarea-obiect (limbajele a C++. transputer farm) sau grupuri de calculatoare s (cluster processing). Mo¸tenirea corespunde cazului unor imagini cu structur˘ s a din ce în ce mai elaborat˘. universal executabil (prin mecanismul de applet) pe orice ma¸in˘ pe care este disponibil un browser Internet. c˘. a a s˘ a F˘r˘ îndoial˘ c˘ cel mai simplu mod de afi¸are este folosirea imaginii ca un canvas. de exemplu. execu¸ie paralel˘. a a Tehnologia Java. Polimorfismul corespunde realiz˘rii unor opera¸ii cu as a t nume (sau metode de implementare) identice care s˘ aib˘ comport˘ri diferite. De asemenea. ¸i de a c˘rui afi¸are se ocup˘ sistemul Windows. pentru care se pot face tot mai multe opera¸ii (de tip analiz˘ a t a de form˘ ¸i clasificare. De altfel. de exemplu). cum vor fi scrise pe disc. insistând mai ales pe aspectele de polimorfism ¸i mo¸tenire pe care le s s aduce acest stil de programare. în cazul imaginilor binare ¸i num˘rul de componente conexe. Marile avantaje anun¸ate pens a t tru Java (cod portabil. astfel devine posibil˘ rularea paralel˘ de aplica¸ii pe sisteme cu unic procesor. s a în cazul imaginilor binare etichetate). ideea de folosire a resurselor disa tribuite (fie pe Internet. Astfel a devenit posibil˘ crearea a de depozite de software specializat. a Java este îns˘ interesant˘ pentru prelucrarea ¸i analiza imaginilor prin perspectiva dea a s schis˘ de multi-threding — existen¸a ¸i gestionarea de c˘tre o aplica¸ie oarecare a mai a t s a t multe fire de execu¸ie ce ruleaz˘ concomitent din punct de vedere logic (sau aproape t a concomitent din punctul de vedere fizic al calculatorului cu unic procesor). pentru filtrarea în domeniul spa¸ial. aspectul legat de refolosirea codului nu este neglijabil (s˘ nu uit˘m.

folosind a t date pu¸in redundante (suprapunerea între pozi¸iile al˘turate ale ferestrelor de filtrare t t a este în general mic˘) ¸i. uneori. informa¸ie global˘ (cazul histogramei sau a filtr˘rilor în a s t a a domeniul de frecven¸a).Exploatarea paralelismului este un merit pe care prelucrarea imaginilor ¸i l-a arogat înc˘ s a de la începuturi.3) ¸i t t s (6. t t cu un num˘r mare de instan¸e (pentru fiecare pixel al imaginii se face ceva). specific s opera¸iilor de prelucrare (ca de exemplu realizarea opera¸iilor morfologice prin (6. Se pot distinge astfel dou˘ nivele de paralelism: un paralelism t˘ a masiv. putem afirma c˘ prelucrarea ¸i analiza imaginilor a reu¸it s˘ câ¸tige teren ca a s s a s urmare a realiz˘rilor spectaculoase ale tehnologiei electronice ¸i informaticii. as a t t a 143 . Cre¸terea a s s continu˘ a puterii de calcul disponibile în unit˘¸ile de prelucrare ale calculatoarelor va a at transforma probabil în viiitorul apropiat prelucrarea ¸i analiza imaginilor dintr-o anex˘ s a nebuloas˘ ¸i exotic˘ a aplica¸iilor speciale într-o solu¸ie fiabil˘ de larg consum industrial. legat de nivelul pixel. opera¸iile tipice de prelucrarea imaginilor sunt opera¸ii relativ simple. a În concluzie. intrinsec structurii imaginii.6) sau implementarea paralel˘ a FFT). ¸i un paralelism ascuns.

: Practical Handbook on Image Processing for Scientific Applications. în IEEE Trans. NJ. Englewood Cliffs NJ. R.: Digital Image Processing. Prentice Hall Inc. R.: Fundamentals of Digital Image Processing. Woods. Shapiro. V.. R. Sternberg. Englewood Cliffs. B.. Paris. Mittelstand und Technologie des Landes NordrheinWestfalen: Produkte und Dienstleitungen für die Bildverarbeitung. J. vol. Stand und Trends.. 1.): Analyse d‘images: filtrage et segmentation. (coord. 1996 [3] Cocquerez. Masson. 1989 [10] Ministerium für Wirtschaft. C. M. 4.. A. X. Addison Wesley. S. M.Continous to Discrete. în Pattern Recognition. C. K. Universitatea “Politehnica” Bucure¸ti. R. R. 1997 [9] Jain. S. 69-93. Giardina. 1996 144 . L. Geometric. Philipp. Düsseldorf. 1992 [6] Haralick. E. Englewood Cliffs.: “Glossary of Computer Vision Terms“.Bibliografie [1] Buzuloiu. R. Zhuang. vol. no. vol. Mittelstand und Technologie des Landes NordrheinWestfalen: Stand und Trends der Bidverarbeitung in NRW.: Prelucrarea imaginilor: note de curs. G.. Reading MA. 532-549 [8] Jähne. pag. 1998 s [2] Castleman. 1991 [7] Haralick. Prentice Hall.: Image Processing . Düsseldorf. 1987 [5] Gonzales.: “Image Analysis using Mathematical Morphology”. Iulie 1987. no. 1.. pag.: Digital Image Processing. Prentice Hall.. Transform and Statistical Methods. on Pattern Analysis and Machine Intelligence. CRC Press. 1995 [4] Dougherty E. R. K. P. 24. R. 1995 [11] Ministerium für Wirtschaft. 9.

: Numerical Recipes in C.: “Image Enhancement”. P.: Digital Image Signal Processing. vol.. P. I.. 1984 s [17] Vertan. Bua t a s a cure¸ti. W. Gauthiers-Villars: Paris [16] Sp˘taru. H. vol. I. 1988 [14] Serra. 1-77. no. C. Boston. M. Flannery. Cambridge University Press. Editura a ¸ t Printech. Ed.: Image Analysis and Mathematical Morphology. 92. Decembrie 1990. Bucure¸ti.... 1982 [15] Schmitt. 1987 145 .. Stoian. 1999 s [18] Zamperoni. A. A.: Teoria Transmisiunii Informa¸iei. 1995 [19] Wahl. 573-609. Didactic˘ ¸i Pedagogic˘. pp. pag. F. Teukolsky. Gav˘t.. Artech House. Academic Press. Ed. Norwell MA. R.. 1990 [13] Press. B. T. Advances in Imaging and Electron Physics. în Revue Technique Thomson CSF. J. W.[12] Pitas. Venetsanopoulos. Mattioli. Kluwer Academic Publ. 22. J. Academic Press. London. Vetterling.: “Reconnaissance de formes planaires par morphologie mathematique et reseaux de neurones”.: Variabile aleatoare: principii si aplica¸ii. 4.: Nonlinear Digital Filters — Principles and Applications. N. W. M. The art of scientific computing. T.

Sign up to vote on this title
UsefulNot useful