You are on page 1of 145

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 siere . . . . . . . . . . . . . . . . . . . . . 14
2 TEHNICI DE MBUN

AT

A TIRE A IMAGINILOR 17
2.1 Operatii punctuale de modicare a contrastului . . . . . . . . . . . . . . 18
2.1.1 Modicarea liniar a a contrastului . . . . . . . . . . . . . . . . . . 19
2.1.2 Modicarea neliniar a a contrastului . . . . . . . . . . . . . . . . . 23
2.2 Pseudocolorarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Operatii 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 ati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Propriet atile transformatelor unitare unidimensionale . . . . . . . . . . . 44
4.3 Transformata Fourier discret a . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 Propriet atile 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-ltre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 atile 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 secvential . . . . . . . . . . . . . . . . . . . . . 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 (Human) . . . . . . . . . . . . . . . . . . . . 93
7.1.2 Codarea pe ux de biti . . . . . . . . . . . . . . . . . . . . . . . . 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 Cresterea 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 invarianti . . . . . . . . . . . . . . . . . . . . . . . 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 atii de a nlocui observatorul uman printr-o masin a. Este
important de precizat c a analiza imaginilor a mers mai departe dect simpla nlocuire
a observatorului uman, deoarece au ap arut solutii 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 masina total a de viziune, capabil a s a realizeze functiile vizuale ale
oric arei vietuitoare (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 ntelege prelucrarea pe un calculator digital a unor date bidimensionale
(imagini). Termenul cheie este cuvntul digital, nlocuit adesea n mod eronat n multe
traduceri romnesti cu termenul de numeric. Dup a cum o arat a dictionarul limbii romne
moderne, denitia cuvntului numeric este aceea de
care apartine 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 informatiei discrete n calculatoare
6
Deci atta vreme ct accept am ideea c a unealta de lucru n prelucrarea imaginilor este
calculatorul, si acesta la rndul s au este digital, atunci si prelucrarea este la rndul 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 - asa cum sunt toate prelucr arile ce au loc n
cadrul lantului de transmisie si receptie a imaginii standard de televiziune.
1.1 Imagini digitale
La nceput, imaginile sunt semnale, dar nu functii temporale, ci functii denite pe un
domeniu spatial. Orice imagine este o structur a bidimensional a (tablou, matrice) de date.
Un element al imagini se numeste pixel (cuvnt preluat din englez a, unde provine de la
picture element). Aceste date pot numere naturale, reale sau complexe, reprezentate
ns a pe un num ar nit de biti. Dup a tipul datelor din acest a structur a bidimensional a,
imaginile prelucrate pot mp artite n mai multe categorii:
imagini scalare, n care ecare 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 continut binar al imaginii, n general
alb-negru) si imaginile cu nivele de gri (de tipul imaginii de luminant a de pe ecranele
televizoarelor alb-negru).
imagini vectoriale, n care ecare 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 ec arui punct din imagine are
mai multe elemente (caz ce corespunde imaginilor preluate n mai multe benzi
de frecvent a, asa cum sunt imaginile de teledetectie ale satelitilor, imaginile de
termodetectie n benzile de infrarosu,...). Tot n categoria imaginilor vectoriale
intr a ns a si imaginile stereo (o pereche de imagini ale aceleiasi scene, luate din
unghiuri diferite) si secventele de imagini.
Conform datelor prezentate n [11], dintre imaginile prelucrate n aplicatii functionale,
20 % sunt alb-negru, 32 % sunt cu nivele de gri, 20 % sunt color, 10 % sunt imagini
stereoscopice si 18 % sunt secvente de imagini.
n mod clasic, valoarea unui element al unei imagini este o m asur a a intensit atii luminoase
n punctul considerat; acesta nu este ns a dect un caz particular. Dup a natura lor,
imaginile pot clasicate ca imagini abstracte, imagini non-vizibile si imagini vizibile [2].
Imaginile abstracte sau modelele sunt de fapt functii [matematice], continue sau discrete,
de dou a variabile. Imaginile non-vizibile, care, evident, nu pot percepute n mod direct
de ochiul uman, sunt de fapt achizitii ale unor cmpuri bidimensionale de parametri zici
7
(presiune, temperatur a, presiune, densitate, ...). n ne, imaginile ce pot percepute
n mod direct de c atre ochiul uman (deci imaginile vizibile) sunt la rndul lor imagini
optice, generate ca distributii de intensitate luminoas a (asa ca hologramele, imaginile
de interferent a si difractie) sau imagini propriu-zise (de luminant a - n sensul curent al
termenului, ce se refer a la fotograi, desene, picturi, schite, scheme si altele din aceeasi
categorie).
O alt a mp artire a imaginilor scalare se poate face dup a semnicatia 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 ec arui pixel este o m asur a direct a
a intensit atii luminoase sau a m arimii zice 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 (depinznd dac a imaginea este sau nu cuantizat a).
O imagine indexat a este acea imagine n care valoarea ec arui pixel este un indice prin care
se reg aseste informatia de culoare asociat a pixelului respectiv. Deci, pentru asarea sau
reprezentarea unei imagini indexate este necesar a o informatie 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 ecare linie contine descrierea unei culori (deci cele
trei componente ce denesc culoarea - n mod tipic intensit atile relative de rosu, 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 num arul de ordine al liniei din tabela de culoare pe care se
g aseste descrierea culorii. Este evident c a valorile pixelilor unei imagini indexate nu pot
dect numere naturale (deoarece sunt indici ntr-o matrice).
Aceast a tehnic a este folosit a si n graca pe calculator. Asarea imaginilor pe ecranul
monitorului se face corespunz ator unui anumit mod grac, determinat din placa video
a calculatorului. Un mod video deneste num arul maxim de culori ce pot utilizate
simultan si dimensiunile ecranului (n pixeli de asaj). Culorile utilizate la un moment
dat sunt grupate ntr-o palet a de culori de asare. Paleta de asare este o structur a logic a
denit a n BGI
1
(Borland Graphics Interface), pentru programare n sesiuni de tip DOS,
ca:
struct palettetype {
unsigned char size;
int colors[MAXCOLORS+1]; }
Modicarea 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
Asarea unui pixel cu o anumit a culoare se face cu:
putpixel(int pozx, int pozy, int index_culoare);
Sub Windows, este suportat a si specicarea direct a a culorii de asat (sub forma unui
triplet RGB
2
), sistemul de operare aproximnd culoarea respectiv a cu cea mai apropiat a
culoare disponibil a din paleta de lucru curent a (n acest fel, utilizatorul poate neglija
existenta acesteia).
Pentru o imagine cu nivele de gri, componentele de rosu, verde si albastru ale ec arei
culori din paleta de culoare sunt identice. Dac a specicarea componentelor de culoare se
face prin numere de 8 biti (deci ntre 0 si 255, adic a cazul cel mai des folosit), tabela de
culoare va avea 256 de culori (tonuri de gri) diferite. Specicarea acestora se va face cu
indecsi ntre 0 si 255, alocati conform conventiei 0 - negru, 255 - alb. n acest fel, pentru
o imagine indexat a cu nivele de gri, nu mai este necesar a specicarea 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 dictionar (sau
tehnicii tabelului de echivalent a - Look Up Table - LUT): o tehnic a de reg asire a unei
cantit ati de informatie 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 functional dintr-un num ar mic de blocuri (vezi gura 1.1):
sistemul de formare a imaginii (de exemplu sistemul de lentile al camerelor de
luat vederi): strnge radiatia electromagnetic a a obiectului studiat pentru a forma
imaginea tr as aturilor de interes
convertorul de raditie: converteste radiatia electromagnetic a din planul imaginii
ntr-un semnal electric.
Sistemul de formare a imaginii si convertorul de radiatie formeaz a senzorul; acesta reali-
zeaz a o proiectie 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 - Rosu, 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 distributie a tipurilor de senzori dup a
gama de radiatie captat a conform tabelului 1.1:
Domeniu Infrarosu Infrarosu Vizibil Ultraviolet Radar Radiatie
electromagnetic dep artat apropiat (microunde) X
Procent 5 % 25 % 40 % 10 % 10 % 10 %
Tabel 1.1: Tipuri de senzori folositi n prelucrarea imaginilor
sistemul de achizitie (echivalent unui frame-grabber sau video-blaster): converteste
semnalul electric al senzorului ntr-o imagine digital a, pe care o stochez a; acesta nu
este altceva dect un dispozitiv de esantionare (discretizare a suportului imaginii)
si cuantizare (discretizare a domeniului de valori a imaginii).
sistemul de prelucrare (n mod tipic un calculator, e el PC sau statie de lucru); n
aceast a categorie se ncadreaz a ns a si masinile 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-
catiile de prelucrarea imaginilor functionale la acea dat a este n cea mai mare majoritate
a cazurilor un PC obisnuit, cu performante standard; datele sunt sintetizate n tabelul
1.2:
10
Platform a hardware Procent din piat 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 %
Statii de lucru (workstations) 10 %
Masini specializate 10 %
Calculatoare Macintosh, calculatoare paralele (transputere), altele 10 %
Tabel 1.2: Unit ati de calcul folosite n prelucrarea imaginilor
Sistemul software specializat care este responsabil cu realizarea efectiv a a unei sarcini con-
crete poate descompus n mai multe module, nu neap arat bine separate si nu neap arat
prezente mpreun a: mbun at atirea, restaurarea, compresia, segmentarea si analiza [9].
Blocul de mbun at atire a imaginilor are ca scop accentuarea anumitor tr as aturi [ale
obiectelor continute n imagine] pentru usurarea unor sarcini ulterioare de analiz a au-
tomat a sau interpretare prin asare. Asemenea metode pot utile la extragerea tr as a-
turilor caracteristice ale obiectelor, eliminarea zgomotelor suprapuse imaginii, m arirea
confortului vizual. Acesti algoritmi nu m aresc continutul informational al imaginii si
sunt n general interactivi si puternic dependenti de aplicatie.
Restaurarea imaginilor se refer a la eliminarea sau minimizarea efectelor unor perturbatii
si a unor degrad ari. Perturbatiile reprezint a n general zgomotele (modelate ca procese
aleatoare) ce se suprapun n cursul achizitiei imaginii (din cauza senzorului si a lantului
de transmisiune si captare); degrad arile sunt cauzate de imperfectiunile si limit arile de-
terministe ale senzorului (efecte de apertur a, timp de expunere, deciente geometrice ale
sistemului de lentile, ...).
Compresia imaginilor se refer a la reducerea volumului de date (num arului de biti) cu
care este reprezentat a imaginea, printr-o transformare reversibil a - imaginea trebuie s a
poat a s a e recuperat a integral (sau cu diferente 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 strns 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 aplicatii. Aceast a clas a
de aplicatii extrem de specice 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
sateliti pot folosite la descoperirea resurselor terestre, cartograere geograc a, predictia
recoltelor, urm arirea dezvolt arii urbane, urm arirea vremii, controlul si prevenirea incendi-
11
ilor si inundatiilor, precum si alte aplicatii ecologice si militare. Aplicatiile transmisiei
si compresiei imaginilor se reg asesc n televiziunea digital a, sistemele de teleconferint a,
transmisiile fax, birotic a, comunicatia pe retele distribuite, sisteme de securitate cu cir-
cuit nchis, aplicatii militare. n aplicatiile medicale sunt prelucrate radiograile cu raze
X, angiogramele, echograile, tomograile, imaginile de rezonant a magnetic a nuclear a.
Acestea pot utilizate pentru monitorizarea pacientilor si pentru descoperirea si identi-
carea de boli si tumori.
O larg a clas a de aplicatii sunt cele industriale, n care componentele de prelucrarea si
analiza imaginilor sunt folosite n sisteme mai mari de asigurare a calit atii produselor
(metrologie, controlul calit atii - inclusiv defectoscopie nedistructiv a). Solutiile sunt ex-
trem de specice, puternic legate de procesul de fabricatie 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 aplicatii specice ale diferitelor rme germane).
Din acest punct de vedere este interesant a comparatia ntre cteva caracteristici ale sis-
temului vizual si de prelucrare uman si un sistem de prelucrarea si analiza imaginilor [8],
folosite pentru aplicatii 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
Rezistent 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
Recunoastere de forme DA DA
Tabel 1.3: Comparatia ntre caracteristici esentiale 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 atii 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 siere, pe
suporturi externe de memorie (benzi, discuri, etc.). Diferenta esential a ntre cele dou a
tipuri de stocare este aceea c a n memorie imaginea va reprezentat a complet, n form a
necomprimat a, pentru a permite accesul rapid direct la informatia ec arui pixel.
12
1.3.1 Stocarea imaginilor n memorie
Principalul limbaj de programare utilizat pentru aplicatii cu calcule intensive r amne 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 ec 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 retine 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 secvent a
C de declarare a unui imagini poate :
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 semnicatie evident a) si a
tipului generic tip pentru valoarea pixelilor. Linia a 3-a aloc a spatiul pentru un masiv de
pointeri la date de tip pointer; spatiul de memorie necesar (argumentul functiei malloc)
este dat de num arul de pointeri la liniile imaginii ce nmulteste dimensiunea unui astfel
de pointer (sizeof(tip*)). Valoarea imagine[contor] este adresa de nceput a spatiului
de memorie la care ncep valorile pixelilor de pe linia contor; acestia sunt stocati ntr-
un vector declarat de malloc(nr_coloane*sizeof(tip)). Trebuie remarcat a conversia de
tip (cast) obligatorie ce nsoteste ecare alocare de memorie (se stie c a functia malloc
ntoarce un pointer la void). De asemenea se observ a c a secventa anterioar a nu face nici
un fel de vericare a succesului operatiei de alocare de memorie (vericarea faptului c a
valoarea returnat a de functia malloc nu este NULL). n mod implicit, la compilare, toti
pixelii (toate valorile matricii imagine) sunt initializati cu 0.
Spre deosebire de C, limbajul Matlab
3
aduce mari simplic ari. Exist a un singur tip de
date, reprezentate pe 8 octeti (caracteristic a ce se schimb a ncepnd 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 stng 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). Functiile returneaz a matrici. Secventa 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 siere
Un sier este entitatea logic a de organizare a informatiei nscrise pe mediile magnetice
de stocare si se compune dintr-un sir de octeti. Pentru stocarea imaginii este necesar
ca acesti octeti s a contin a informatia aferent a pixelilor precum si informatie despre tipul
imaginii: dimensiunile acesteia, dac a este sau nu indexat a, dac a are sau nu o tabel a de
culoare atasat a, dac a este sau nu comprimat a si dup a ce metod a. Anumite structuri
de siere au fost impuse de-a lungul timpului de rme produc atoare de software sau
de organisme de standardizare, c ap atnd denumirea de formate de imagini. Formatele
de imagini s-au f acut cunoscute mai ales dup a extensia standard a sierelor ce contin
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 siere imagine, si Windows Bitmap -BMP al rmei Microsoft,
care este unul dintre cele mai larg recunoscute formate de siere.
Un sier RAW contine imagini indexate cu nivele de gri, de form a p atrat a. Fisierul nu
are antet (dimensiunile imaginii ind deduse din dimensiunea sierului ce o contine) si
nu contine nici tabel de culoare (acesta are toate componentele liniei i egale ntre ele,
reprezentnd griuri). Fiecare pixel al imaginii este codat cu num arul corespunz ator de
biti (4, 8, etc.); imaginea este baleiat a n ordinea normal a (ncepnd cu prima linie a
imaginii, de la stnga la dreapta).
Un sier BMP
4
are trei componente consecutive: un antet de sier (BITMAPFILE-
HEADER), o structur a de informatie a imaginii(BITMAPINFO) si codarea pixelilor.
Antetul de sier (BITMAPFILEHEADER) contine informatii asupra tipului, dimensiu-
nii si reprezent arii sierului Bitmap independent de dispozitiv (DIB - Device Independent
Bitmap); semnicatiile componentelor sunt date n tabelul 1.4.
typedef struct tagBITMAPFILEHEADER{
WORD bfType;
DWORD bfType;
WORD bfReserved1;
WORD bfReserved2;
DW bfOffBits;
}BITMAPFILEHEADER;
Structura de informatie a imaginii (BITMAPINFO) contine informatii asupra dimensiu-
nilor si culorilor unui DIB, si este alc atuit a din dou a componente: antetul structurii de
informatii (BITMAPINFOHEADER), a c arui componente sunt descrise n tabelul 1.5 si
tabelul de culoare, format din structuri RGBQUAD.
4
Denumirile componentelor logice ale sierului sunt cele standardizate de Microsoft.
14
Cmp Descriere
bfType Specic a tipul de sier; trebuie s a contin a caracterele BM
bfSize Specic a lungimea sierului n DWORD
bfReserved1 Cmp rezervat, valoare 0
bfReserved2 Cmp rezervat, valoare 0
bfOBits Specic a deplasamentul n octeti de la sfrstul structurii
BITMAPFILEHEADER pn a la zona din sier ce contine pixelii codati
Tabel 1.4: Descrierea cmpurilor structurii BITMAPFILEHEADER
Cmp Descriere
biSize Num arul de octeti ai structurii BITMAPINFOHEADER
biWidth L atimea imaginii, n pixeli
biHeight n altimea imaginii, n pixeli
biPlanes Num arul de plane de culoare ale dispozitivului de asaj (1)
biBitCount Num arul de biti cu care se codeaz a un pixel; poate 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 biti
biSizeImage Dimensiunea imaginii n octeti
biXPelsPerMeter Rezolutia pe orizontal a a dispozitivului tint a (n pixeli pe metru)
biYPelsPerMeter Rezolutia pe vertical a a dispozitivului tint a (n pixeli pe metru)
biClrUsed Num arul de culori utilizate n imagine; dac a este 0, imaginea
foloseste 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 cmpurilor 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 rosu, verde si albastru,
si un cmp rezervat avnd valoarea 0.
typedef struct tagRGBQUAD{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
}RGBQUAD;
Codarea pixelilor se face dup a cteva reguli. Fiecare pixel va codat pe biBitCount biti;
dac a biBitCount este 1, 4 sau 8, imaginea va indexat a si sierul contine tabela de culoare
asociat a imaginii. Codurile pixelilor se grupeaz a pe octeti (deci pentru o codare de 4 biti
per pixel, ecare octet de cod va corespunde la doi pixeli al aturati). Dac a biBitCount
este 24, pentru ecare pixel se asociaz a direct trei octeti, ce reprezint a componentele de
rosu, verde si albastru ale culorii respective; aceast a imagine se numeste 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 aseste
limita sensibilit atii umane de discernere a culorilor.
Codarea se face independent pe ecare linie orizontal a a imaginii. Codurile (indexurile)
tuturor pixelilor unei linii sunt concatenate; sirul rezultat trebuie s a e multiplu de 32
de biti (sau de 4 octeti, sau s a contin a un num ar ntreg de DWORDs). Dac a acest a
constrngere nu este respectat a, linia respectiv a se completeaz a cu num arul necesar de
biti (care, n mod evident, nu vor utilizati la citirea imaginii din sier). Codarea
imaginii ncepe cu ultima linie, si pentru ecare linie baleiajul este normal (de la stnga
la dreapta).
16
Capitolul 2
TEHNICI DE MBUN

AT

A TIRE A
IMAGINILOR
mbun at atirea imaginilor este o sintagm a general a ce se refer a la o clas a larg a de operatii
al c aror scop este m arirea detectabilit atii componentelor imaginii. Detectabilitatea com-
ponentelor este legat a mai mult de perceptia vizual a a unui observator uman dect de o
analiz a automat a cantitativ a. Perceptia vizual a de referint a este cea a unui expert uman
n domeniul aplicatiei din care provine imaginea.
Asadar criteriile de evaluare ale calit atii unei imagini sunt subiective si specice aplicatiei.
n [2] se face analogia operatiilor de mbun at atire a imaginilor cu reglajul tonalit atii
muzicii ascultate; n functie de ascult ator, se vor favoriza componentele nalte sau joase,
sau nici unele. Ca o consecint a, procesul de mbun at atire va interactiv, transform arile
efectuate trebuind s a e validate (cel putin n etapa de proiectare sau prob a) de c atre un
utilizator uman.
Principiul (aproape unanim acceptat) este c a mbun at atirea calit atii unei imagini se face
f ar a a lua n considerare nici o informatie asupra imaginii originale sau asupra procesului
de degradare (prin care imaginea nu este sucient de bun a). Conform acestui punct
de vedere chiar si o imagine original a (nedegradat a) poate mbun at atit a, obtinnd o
imagine falsicat a, dar subiectiv preferabil a [18]. n general, calitatea subiectiv a a unei
imagini poate apreciat a pe baza contrastului sau accentu arii elementelor de contur
(muchii, frontiere, linii, margini) si pe baza netezimii n regiunile uniforme.
Cresterea uniformit atii regiunilor este ns a asimilat a elimin arii unui eventual zgomot
suprapus imaginii, operatie denumit a n mod clasic ltrare. Filtrarea ce are ca scop
eliminarea zgomotului va studiat a n urm atoarele capitole.
Din punctul de vedere al metodelor utilizate, putem distinge mai multe tipuri de operatii
de mbun at atire:
17
operatii punctuale, prin care se realizeaz a o corespondent a de tip unu la unu ntre
vechea valoare a nivelului de gri si noua valoare a acestuia, pentru ecare pixel al
imaginii. Tot n acest a categorie vom include si operatiile de pseudocolorare, care
se refer a la asarea imaginii folosind o palet a de culoare modicat a.
operatii locale (sau de vecin atate), prin care noua valoare a nivelului de gri ntr-un
pixel este obtinut a din vechea valoare a pixelului repectiv si din valorile unor pixeli
vecini pixelului considerat.
operatii integrale, n care noua valoare a unui pixel este dependent a de valorile
tuturor pixelilor imaginii
n acest capitol vom studia doar operatiile punctuale si de pseudocolorare.
Prin mbun at atire, unei imagini nu i se adaug a nici o informatie nou a fat a de cea ce exista
initial [9] (deci nu se adaug a nimic imaginii), ci doar este prezentat altfel continutul initial
al acesteia. Desi la o examinare supercial a armatia este corect a, putem g asi m acar dou a
obiectii (sau contraexemple) la aceast a formulare:
din punctul de vedere al utilizatorului, informatia, chiar dac a exist a, nu poate
folosit a, deci este asimilabil nul a. Acesta este cazul imaginilor obtinute n conditii
extreme de iluminare, ce prezint a un contrast foarte slab (imagini subexpuse sau
supraexpuse) [5].
din punctul de vedere al teoriei informatiei, informatia din imagine poate asimilat a
entropiei procesului aleator ale c arui realiz ari particulare sunt valorile de gri ale
pixelilor. Entropia se modic a ns a la orice transformare ce afecteaz a distributia
nivelelor de gri din imagine.
2.1 Operatii punctuale de modicare a contrastului
Operatiile punctuale de modicare 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 dect o functie:
v = T(u), u [0; L 1] (2.1)
n [5] se stabilesc ca necesare conditiile 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 e monoton a (cresc atoare sau descresc atoare) pentru a p astra
ordinea ntre nivelele de gri
2.1.1 Modicarea liniar a a contrastului
Cea mai des folosit a tehnic a de modicare liniar a a contrastului este o transformare liniar a
pe portiuni, dat a de:
v =
_
_
_

T
1
u, 0 u < T
1
+

T
2
T
1
(u T
1
) , T
1
u < T
2
+
L1
L1T
2
(u T
2
) , T
2
u < L
(2.2)
n formula anterioar a, parametrii de control sunt T
1
, T
2
, si ; acestia sunt grupati
cte doi, denind punctele (T
1
,) si (T
2
,). Aceste dou a puncte de control, mpreun a cu
punctele xe (0, 0) si (L 1, L 1) vor deni cele trei segmente de dreapt a ce apar n
formula (2.2). Rezultatul aplic arii unei asemenea operatii punctuale se obtine modicnd
valoarea (nivelul de gri) ec arui pixel al imaginii initiale, u, conform (2.2), obtinnd noul
nivel de gri v. Transformarea poate f acut a n dou a moduri: e se repet a calculele de la
(2.2) pentru ecare pixel, baleind imaginea, e noile valori ale contrastului se calculeaz a
de la nceput pentru toate nivelele de gri posibile (ntre 0 si L1) si apoi aceste modic 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 conditionale if - impuse de denitia de tip acolad a - prin
separarea domeniilor de calcul n trei cicluri). Trebuie remarcat a de asemenea denirea
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 fost sucient 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 gura 2.1 este prezentat a pe de o parte
imaginea original a lena (una dintre fotograile impuse ca standard de fapt n raportarea
rezultatelor obtinute), iar al aturat imaginea obtinut a cu o modicare liniar a pe portiuni
19
a contrastului, determinat a de parametrii T
1
= 30, T
2
= 100, = 20, = 200. n gura
2.2 este prezentat a functia de transformare a nivelelor de gri (T(u)).
Fig. 2.1: Imagine original a si imagine cu contrastul modicat
Fig. 2.2: mbun at atire liniar a pe portiuni, denit 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 proportional a cu diferenta dintre
luminozitatea anumitor pixeli (nivelul lor de gri). Pentru a putea prevedea deci efectele
unei operatii de mbun at atire de tipul prezentat asupra contrastului este deci sucient a
studierea diferentelor de nivele de gri ntre o aceeasi 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 modicarea contrastului va dat a
20
de diferenta valorilor transformate, adic a de derivata functiei de transformare:
C =
v
u
=
T(u
2
) T(u
1
)
u
2
u
1
=
dT(u)
du
= T

(u) (2.3)
Pentru functia liniar a pe portiuni este evident c a derivata va constant a pe aceleasi
intervale, avnd 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
]
L1
L1T
2
, dac a u [T
2
; L 1]
(2.4)
Dac a pe un interval aceast a pant a este subunitar a, atunci diferenta ntre nivelele al atu-
rate de gri se micsoreaz a si deci contrastul scade; dac a din contr a, panta dreptei este
supraunitar a, diferenta dintre nivelele de gri al aturate se m areste si contrastul va creste.
Spre exemplu, n transformarea din gura 2.2, pe intervalul [30,100] contrastul creste, iar
pe intervalele [0,30] si [100,255] contrastul scade. Aceste efecte sunt usor vizibile pe ima-
ginile din gura 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 disparitia detaliilor luminoase din
imagine (panglica lat a de la p al arie); cresterea 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 functie de alegerea celor patru parametri, se pot obtine cteva cazuri particulare de
interes ce poart a denumiri specice.
Fig. 2.3: Imagine original a si imagine binarizat a cu pragul 125
Dac a T1 = T2 si = 0, = L 1, se obtine pr aguirea sau binarizarea (thresholding)
(vezi gura 2.4); n imaginea rezultat a nu exist a dect alb si negru (gura 2.3); toate
21
nivelele de gri initiale a c aror valoare era mai mic a dect T
1
ind negre si toate nivelele
de gri initiale 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 = L1 se obtine operatia de ntindere maxim a a contrastului (contrast
streching) (vezi gura 2.5) pentru intervalul [T
1
; T
2
]. Nivelele de gri care se g asesc n afara
acestui interval vor nlocuite e cu alb, e cu negru.
Fig. 2.5: Transformarea de ntindere maxim a a contrastului
22
2.1.2 Modicarea neliniar a a contrastului
Principalul dezavantaj al tehnicii liniare pe portiuni prezentate este faptul c a modicarea
contrastului este aceeasi pe un ntreg interval de nivele de gri, si nu este posibil a o
modicare neuniform a a contrastului pe ntregul interval de nivele de gri sau n jurul
unui anume nivel de gri. Tehnicile neliniare au aceste propriet ati.
O prim a variant a este compandarea domeniului [9], denit a de o curb a logaritmic a si cu
punctele xe (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 micsorndu-se la cap atul superior (alb). n mod reciproc se poate deni ex-
pandarea domeniului, ca transformare invers a celei de compandare, si deci avnd o alur a
exponential a:
v = T(u) = (L 1)
e
u
1
e
L1
1
(2.6)
Contrastul va varia neuniform de-a lungul scalei de gri, m arindu-se la cap atul supe-
rior (alb) si micsorndu-se la cap atul inferior (negru). Termenii de compandare si de
expandare au fost dati 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 amne [0, L 1].
Alte transform ari neliniare pot obtinute prin folosirea unor functii de tip putere; si
acestea au nivelele de gri extreme ca puncte xe ((0, 0) si (L 1, L 1)). O prim a
variant a este functia putere:
v = T(u) = (L 1)
_
u
L 1
_
r
(2.7)
Dup a valorile parametrului-putere r se pot obtine dou a comport ari diferite: pentru r < 1
comportarea este de acelasi tip cu al functiei de compandare logaritmice, iar pentru r > 1
comportarea este de tipul functiei de expandare. Trebuie remarcat c a legile de variatie
ale contrastului vor ns a diferite.
Exist a ns a si o variant a la care se mai adaug a un punct x (T, T), functia devenind cu
dou a intervale de denitie:
v = T(u) =
_
T
_
u
T
_
r
, dac a u [0; T]
L 1 (L 1 T)
_
L1u
L1T
_
r
, dac a u [T, L 1]
(2.8)
Functia are o alur a de tipul celei prezentate n gura 2.6.
23
Fig. 2.6: Modicare neliniar a a contrastului, cu trei puncte xe
n [9], n cadrul operatiilor punctuale de mbun at atire a imaginilor sunt prezentate si
operatii aritmetice simple, ca de exemplu negativarea. Negativarea este descris a de:
v = T(u) = L 1 u (2.9)
Efectul acesteia de modicare a contrastului se bazeaz a doar pe caracteristicile sistemu-
lui vizual uman, pentru care contrastul depinde de diferenta de luminozitate ntre pixeli
apartinnd unui obiect, respectiv fundalului, raportat a la luminanta medie a fundalului.
O categorie aparte de aplicatii 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 angiograc a din gura 2.7.
Fig. 2.7: Imagine original a si negativat a (dintr-o aplicatie medical a)
Alte operatii posibile (tratate n [9], dar de mai mic a semnicatie practic a) sunt repre-
24
zentarea planelor de bit (pentru ecare pixel al imaginii, ecare 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 nemodicate nivelele de gri dintr-un anumit
interval si le anuleaz a pe celelalte - imaginea rezultat a continnd obiectele de interes pe
fond negru) si transformarea de t aiere slicing (care transform a nivelele de gri dintr-un
interval xat n alb si tot restul n negru; nu este altceva dect un alt tip de binarizare).
2.2 Pseudocolorarea
Pseudocolorarea este o tehnic a de mbun at atire a vizibilit atii anumitor componente ale
imaginii (sau a imaginii n ansamblu) prin modicarea paletei de culoare cu care imaginea
este asat a (reprezentat a). Aceasta nseamn a c a pentru anumite nivele de gri, asarea
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 denitie acoper a ns a si cazul operatiilor de modicare
a contrastului prezentate anterior; functia v = T(u) nu este altceva dect o functie de
constructie a unei noi palete de culoare pentru aceeasi imagine. Spre exemplu, codul
modic 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 modic a paleta de culoare pentru ecare index (intrare) a
acesteia, conform noilor valori calculate. Remarcati cast-ul (schimbarea de tip) la tipul
color; acesta este inserat mai mult ca o m asur a de atentionare: culoarea (deci variabila de
tip color) trebuie obtinut a din scalarul nivel de gri n conformitate cu regulile de descriere
a culorilor valabile n respectivul mod grac.
Ideea de baz a n pseudocolorare este de a folosi culori pentru a pune n evident 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
pronuntat si articial 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 putin de 256 nuante de
gri, desi diferentiaz a cteva milioane de culori [9].
25
O aplicatie interesant a a pseudocolor arii este prezentat a n [2]. La NASA, la nceputurile
erei digitale n tehnicile de achizitie a imaginilor, era necesar a digitizarea unor imagini de
microscopie, pentru care iluminarea era reglat a manual, pn 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
dect era necesar), la asarea n timp real a imaginii achizitionate pe monitoarele de
control, paleta de griuri a fost modicat a pe ultima pozitie (alb), unde s-a inserat rosu.
Atunci instructiunile pentru operator erau: creste curentul prin lamp a (iluminarea) pn a
cnd n imagine apare rosu, dup a care redu curentul pn a cnd culoarea rosie dispare.
Rezultatul acestei tehnici simple au fost mii de imagini digitizate corect.
n nal merit a poate amintit a remarca (destul de acid a) din [2]:
Desi prin natura sa este un detaliu al tehnicilor de asare, pseudocolorarea
a fost adesea gloricat a prin termeni ca prelucrare prin pseudocolorare sau
analiz a prin pseudocolorare. Pseudocolorarea r amne un accesoriu favorit al
vnz atorilor, care o utilizeaz a adesea n demonstratiile produselor [software],
deoarece poate strni interesul n ochii clientilor mult mai repede dect orice
alt a metod a de asare cunoscut a. Cercet arile mele au adus la lumin a o list a
dureros de scurt a a aplicatiilor demonstabil productive a pseudocolor arii
2.3 Operatii de contrastare bazate pe histograma ima-
ginii
Pentru o imagine f de M N pixeli si L nivele de gri, histograma este denit a (2.10)
ca probabilitatea (frecvent a relativ a) de aparitie n imagine a diferitelor nivele de gri
posibile.
h(i) =
1
MN
M1

m=0
N1

n=0
(i f(m, n)) , i = 0, 1, ...L 1 (2.10)
Din punct de vedere statistic, putem considera valoarea ec 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 functia de densitate de probabilitate a acestei variabile aleatoare.
Fiind o functie de densitate de probabilitate, histograma oric arei imagini veric a conditia
de normare
L1

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 ntlnite. Pre-
supunnd L nivele de gri posibile n imaginea de dimensiuni NRLIN si NRCOL, codul
26
urm ator aloc a pentru ecare nivel de gri posibil cte un unsigned int, ce va contoriza
num arul de aparitii ale nivelului de gri respectiv. Pentru ecare punct al imaginii se
incrementeaz a pozitia din histogram a ce corespunde valorii de gri din acel pixel. Ceea
ce rezult a n nal 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 obtinute pot normate pentru a obtine o functie de densitate de probabilitate
prin mp artirea cu NRLIN*NRCOL si denirea histogramei ca ind format a din real sau
oat.
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 functii este cu att mai ecient a (din punctul de vedere
al timpului de rulare) cu ct sunt evitate structurile repetitive (n particular buclele for).
Cum, pentru calculul histogramei, ciclarea nu poate evitat a (deci trebuie parcurse e
toate punctele imaginii, e 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
Functia nd (functie standard a pachetului Matlab) returneaz a pozitiile (indicii) la care
este g asit a valoarea i n matricea imagine (adic a ntoarce pozitiile punctelor ce au valoarea
i ); num arnd aceste puncte (deci calculnd lungimea vectorului n care sunt stocate) se
g aseste num arul de puncte ce au respectivul nivel de gri. Normarea histogramei se poate
face f ar a a modica declaratiile de denire 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
dect cea prin care se parcurgea toat a imaginea deoarece se foloseste o singur a bucl a de
lungime L (si nu dou a bucle imbricate, de lungime total a NRLIN*NRCOL), iar functia
nd este rapid a, ind o functie precompilat a.
Histograma imaginii ofer a informatii asupra plasamentului n nuant a a continutului
imaginii (vezi gura 2.8). La majoritatea imaginilor exist a o distributie neuniform a a
nivelelor de gri; exist a nivele de gri predominante si exist a nivele de gri folosite putin sau
27
deloc. Operatiile de mbun at atire a imaginilor (pentru mbun at atirea perceptiei vizuale)
au ca scop redistribuirea nivelelor de gri, astfel ca acestea s a ocupe ntreaga gam a de
variatie 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 obtinerea unei distributii uniforme a nivelelor de
gri; imaginea rezultat a va prezenta cea mai mare mbun at atire 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 distributii oarecari (descris a de his-
tograma imaginii initiale) ntr-o distributie uniform a. Considernd variabilele aleatoare
X(, x) si Y (, y) legate prin Y = g(X), atunci ntre functiile de densitate de probabilitate
a celor dou a variabile aleatoare exist a relatia [16]:
f
Y
(y) = f
X
(x)
1

(g
1
(y))

|
x=g
1
(y)
Dac a dorim ca functia de densitate de probabilitate f
Y
(y) s a e uniform a (n conditiile
n care functia 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 ecuatii produce solutia y = g(x) =
x
_

f
X
(t)dt.
Pentru cazul particular al imaginilor, variabila aleatoare X ia valori naturale - nivelele
de gri. Functia de densitate de probabilitate f
X
(x) este histograma [normat a] a imaginii
iar functia de transformare devine y = g(x) =
x
_
0
f
X
(t)dt. Tinnd seama c a valorile de
gri sunt discrete, integrala se transform a n sum a si acest a form a nu este altceva dect
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 functiei 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,
bazndu-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 foloseste 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 (gura 2.9). Ceea ce se remarc a
cu usurint a este diferenta dintre histograma obtinut 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 modicate ale imaginii
(prin contabilizarea doar a anumitor pixeli) sau limiteaz a amplitudinea vrfurilor his-
togramei, redistribuind uniform pixelii n exces.
Tehnica de egalizare a histogramei poate extins a prin realizarea unei histograme de
form a impus a (dar oarecare) a imaginii rezultat; aceast a metod a este denumit a specicare
de histogram a [9], [5].
O ultim a remarc a se poate referi la validitatea introducerii tehnicilor de mbun at atire a
histogramei n categoria de operatii punctuale. Majoritatea autorilor consider a c a orice
operatie care este echivalent a cu modicarea paletei de culoare a imaginii este o operatie
punctual a. n acelasi timp ns a, noile valori de gri ale ec 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 inclus a n categoria
operatiilor integrale.
30
Capitolul 3
FILTRAREA LINIAR

A A
IMAGINILOR
Odat a cu operatiile de ltrare liniar a, se ncepe studiul operatorilor de vecin atate: ope-
ratorii al c aror rezultat depinde att de valoarea punctului n care au fost aplicati, ct
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 operatia veric a principiul superpozitiei
(liniarit atii): 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)
Operatia de ltrarea liniar a calculeaz a noua valoare a unui pixel al imaginii (din pozitia
(m, n)) ca o combinatie liniar a (medie ponderat a) a unui num ar de valori din imaginea
original a:
v(m, n) =

(k,l)W
w
kl
f(mk, 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 ltrare si este o form a plan a, descris a ca o multime de puncte din spatiul
cartezian, n coordonate relative (deci n alt sistem de coordonate dect sistemul de
coordonate a imaginii). Scalarii w
kl
sunt atasati pozitiilor (k, l) din fereastra de ltrare
si poart a numele de coecienti ai ltrului. 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, toti coecientii vor avea valoarea 1/9 si masca de ltrare W
va : 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(mk, n l)
9
(3.3)
31
adic a, desf asurat, v(m, n) =
f(m+1,n1)
9
+
f(m+1,n)
9
+
f(m+1,n+1)
9
+
f(m,n)
9
+
f(m,n1)
9
+
f(m,n+1)
9
+
f(m+1,n1)
9
+
f(m+1,n)
9
+
f(m+1,n+1)
9
. Acelasi lucru se poate exprima si prin specicarea
matricial a a m astii de ltrare 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 denitie (3.2) nu este altceva dect suma produselor punct cu punct a co-
ecientilor m astii 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 ecare punct al imaginii,
deplasnd masca. Descrierea algoritmului nu este ns a altceva dect descrierea plastic a
a unei operatii de convolutie bidimensional a, n care, prin conventie, masca de ltrare
este considerat a nucleul de convolutie. Deplasarea m astii (ferestrei de ltrare) a condus
la adoptarea denumirii de tehnic a a ferestrei glisante; aplicarea acesteia se poate descrie
simplu:
se plaseaz a originea ferestrei de ltrare (pe rnd) n ecare punct al imaginii si se
selecteaz a punctele imaginii situate n interiorul ferestrei (putem imagina fereastra
de ltrare ca ind o apertur a ntr-o plac a opac a; ntr-o anumit a pozitie a acesteia
valorile selectate din imagine sunt valorile punctelor ce se v ad prin apertur a).
pentru ecare pozitie se face suma produselor punct cu punct coecient masc a -
valoare pixel.
Fereastra de ltrare este deci denit a de form a (multimea W) si valori (coecientii w
kl
).
Cele mai simple ferestre de ltrare sunt cele de form a p atrat a, avnd originea n centru
(deci ind p atrate de dimensiuni impare: 3 x 3, 5 x 5, etc.) - de tipul celei prezentate
n exemplul anterior. Fereastra de ltrare are n general o dimensiune mult mai mic a
dect dimensiunile imaginii (mai sunt numite si nuclee mici, f acnd referint a la operatia
de convolutie). Codul care urmeaz a exemplic a aceast a cea mai simpl a ltrare, cu un
nucleu de dimensiune 3 x 3. Se remarc a alocarea static a a coecientilor w ai ltrului
(numere reale) si alocarea dinamic a a imaginii rezultat (considerat a aici ca avnd valori
ntregi). Calculul valorilor pixelilor din imaginea ltrat a s-a f acut decupnd cte un rnd
si o coloan a de la extremit atile imaginii originale (pentru a evita efectele de margine, n
care masca debordeaz a n afara imaginii), acestea ind 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 cte o linie si o coloan a cu valori nule. De
asemenea, se poate constata c a n expresia de calcul efectiv indicii tabelului de coecienti
ai m astii au fost deplasati, astfel nct indicele minim s a e 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 ltrare p atrat a de dimensiune
n, num arul de operatii necesare unei ltr ari liniare este de N
2
n
2
nmultiri si N
2
(n
2
1)
adun ari, adic a complexitatea de calcul este O[N
2
], att fat a de dimensiunile imaginii ct
si fat a de dimensiunile ferestrei de ltrare. Aceasta duce la constrngerea practic a de a
folosi ferestre de ltrare ct mai mici (si de a ncerca descompunerea ferestrelor mari de
ltrare ntr-o succesiune de ferestre mai mici - spre exemplu o ltrare cu un nucleu de 5 x
5, care ar necesita 25 de operatii pentru ecare pixel, poate echivalat a cu dou a ltr ari
succesive cu nuclee de 3 x 3 pixeli, care necesit a doar 18 operatii pentru ecare pixel). n
gurile urm atoare se prezint a efectul unei operatii de mediere cu un nucleu de 7 x 7: se
remarc a faptul c a imaginea rezultat este mai neclar a si cetoas a (efect de blur) si c a toate
contururile au devenit mai vagi.
Imagine original a
Rezultatul unei ltr ari de mediere
33
3.1 Filtrarea liniar a de netezire
Efectul de ncetosare a unei imagini poate considerat si ca un efect de mbun at atire
a uniformit atii regiunilor [18]. Aceasta nseamn a c a se elimin a micile diferente dintre
valorile pixelilor apartinnd unei aceleiasi 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 toti pixelii ce o formeaz a au aceeasi valoare) produce variatia valorilor
din interiorul acesteia, deci micsoreaz a uniformitatea. Variatiile introduse sunt cu att
mai mari cu ct puterea zgomotului este mai mare; pentru un zgomot de medie nul a
(asa cum este zgomotul alb gaussian aditiv) puterea este identic a cu varianta. Teoria
proceselor aleatoare [16] arat a c a, pentru o combinatie liniar a de realiz ari ale unei variabile
aleatoare y =
n

i=1
a
i
x
i
, varianta noii variabile aleatoare este proportional a cu varianta
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, varianta 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 vrf 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 ltrarea de mediere
Figurile urm atoare prezint a o imagine degradat a cu un zgomot aditiv, alb, gaussian,
de medie nul a (gura 3.1 SNR=16.97 dB, PSNR=22.43 dB, MAE=15.22) si imaginea
ltrat a cu un ltru liniar de mediere aritmetic a, cu fereastr a 3 x 3 (gura 3.2 SNR=19.33
dB, PSNR=24.79 dB, MAE=9.31). Se poate observa att o calitate vizual a mai bun a
(regiuni mai uniforme) ct 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 toti pixelii vor avea aceeasi valore, si deci uniformitatea nu mai
poate mbun at atit a. n acelasi timp, operatia de ltrare 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
denitie a ltr arii liniare (3.2), vom obtine c a
=

(k,l)W
w
kl

adic a:

(k,l)W
w
kl
= 1 (3.8)
Aceast a conditie (suma coecientilor m astii de ltrare s a e unitar a) se numeste conditia
de normare a nucleelor de ltrare de netezire si deneste un astfel de nucleu.
Nucleele de ltrare 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 astile 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 ltrare poate avea orice
form a (deci exist a o libertate total a n denirea multimii W (3.2)); n acelasi timp ns a,
practica a demonstrat sucienta consider arii unor forme regulate (p atrate, centrate) pen-
tru masc a. Orice masc a poate extins a cu puncte ce au atasat un coecient nul, pen-
tru a rezulta o masc a p atrat a centrat a; spre exemplu, masca W
4
poate 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 astile W
2
si W
3
. Trebuie remarcat
c a toate aceste m asti respect a conditia de normare a unui nucleu de netezire (3.8).
3.2 Filtrarea liniar a de contrastare
Contrastarea unei imagini are ca obiectiv mbun at atirea perceperii vizuale a contururilor
obiectelor (mbun at atirea detectabilit atii componentelor scenei de-a lungul frontierelor
acestora). n principiu, acest deziderat se poate realiza prin modicarea valorilor pixelilor
aati de o parte si de alta a unei frontiere comune.
O experient a de perceptie vizual a subiectiv a (benzile lui Mach) a pus n evident a faptul
c a sistemul vizual uman are tendinta de a adnci prolul zonelor de tranzitie dintre regiuni
uniforme. Studiul ziologiei 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 informatia vizual a;
efectul global poate descris ca sc aderea din semnalul original a unei derivate secunde
a acestuia, ponderat a corespunz ator (asa cum prezint a gurile 3.3 si 3.4, pentru cazul
unidimensional - sectiunea unei frontiere ntre regiunile imaginii).
36
0 50 100 150 200 250
-0.5
0
0.5
1
1.5
Fig. 3.3: Prolul original de tranzitie si prolul adncit 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 prolului original prezentat anterior
Implementarea unei derivate secunde pentru cazul discret va trebui s a ia n considerare
existenta a dou a directii de derivare de baz a si modul de denire a derivatei n cazul discret
(de exemplu prima derivat a pe directia orizontal a poate 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 asti


obisnuite de implementare a unei derivate secunde bidirectionale (operator Laplacian)
pot [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 esential ca r aspunsul s au pentru pixeli din
interiorul unei regiuni absolut uniforme (de valoare ) s a e nul (derivata unei constante
este nul a); pentru aceasta, din formula de denitie a ltr 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 conditia de normare a unui nucleu de ltrare derivativ a, pentru care suma
coecientilor m astii trebuie deci s a e nul a. Se remarc a faptul c a nucleele de derivat a
secund a (operatori laplacieni) prezentate anterior veric a acest a conditie de normare
(3.9). Figurile urm atoare prezint a o imagine slab contrastat a si varianta sa mbun at atit a
prin contrastare cu nucleul laplacian W
5
.
Imagine original a Contrast mbun at atit
3.3 Filtrarea liniar a adaptiv a
Termenul de adaptiv se refer a la capacitatea ltrului de a-si ajusta comportarea (care este
determinat a de caracteristicile sale de denitie) n functie 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 lng 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 dect o
alta. Prin procesul de adaptare, n ecare nou punct prelucrat structura ltrului este
alta, lund n considerare caracteristicile locale pixelului curent prelucrat.
Atta timp ct (cel putin teoretic) n ecare punct al imaginii operatia este diferit a
(deoarece se face cu un ltru diferit), ltrarea global a nu mai este liniar a (nu mai respect a
principiul superpozitiei (3.1)).
Adaptarea ltrelor liniare nu poate urm ari dect dou a variante: modicarea formei fe-
restrei de ltrare, sau modicarea coecientilor unei ferestre de ltrare de form a xat a.
38
Exemplul cel mai folosit de modicare a modicare a formei ferestrei de ltrare este ltrul
de netezire directional a adaptiv a [9]. Termenul de ltrare directional a se refer a la forma
puternic orientat a a ferestrei de ltrare (deci fereastra de ltrare nu mai este p atrat a, ci va
avea o form a liniar a, orientat a dup a o anumit a directie). Pentru ecare punct al imaginii
se pot considera mai multe orient ari (deci mai multe directii) posibile pentru masca de
mediere. Pentru ecare dintre directiile alese se obtine n urma ltr arii o valoare. n mod
ideal, dorim ca valoarea obtinut a prin ltrare s a nu difere n mod semnicativ de valoarea
initial a din pixelul considerat. O diferent a semnicativ a poate nsemna c a punctul curent
este situat pe un contur, si acceptarea acestei valori mult diferite de cea initial a produce
efectul de ncetosare a imaginii (caracteristic oric arei ltr ari de netezire). Solutia adus a
de ltrul adaptiv este de a alege din setul de valori obtinute pentru diferitele ferestre
de ltrare pe aceea care este cea mai apropiat a de valoarea initial a din punctul curent.
Fragmentul de cod urm ator prezint a un caz particular de ltrare directional a adaptiv a:
ferestrele directionale au trei puncte si sunt alese dup a cele patru directii principale
(orizontal, vertical si cele dou a diagonale, adic a directiile orientate la 0

, 45

, 90

si 135

fat 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 iesire 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 obtinute prin ltrarea di-
rectional 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 ltrului
39
numai dac a acest a valoare este sucient de apropiat a de valoarea original a se poate aplica
si pentru ltrarea de netezire cu fereastr a si coecienti csi [5]. n acest caz rezultatul
netezirii ntr-un punct va acceptat doar dac a diferenta fat a de valoarea original a este
mai mic a dect un prag impus:
g(n, m) =
_

(k,l)W
w
kl
f(mk, n l), dac a

f(m, n)

(k,l)W
w
kl
f(mk, n l)

< T
f(m, n), n rest
O variant a clasic a de ltrare liniar a adaptiv a, realizat a prin recalcularea coecientilor
m astii de ltrare n ecare punct al imaginii este prezentat a n [18]. Acest ltru este
o combinatie liniar a convex a a imaginii zgomotoase si a imaginii obtinute din aceasta
printr-o ltrare liniar a de mediere (cu fereastr a constant a), adic a:

f = f +

f. O
combinatie liniar a convex a se obtine 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 deneste ltrul adaptiv este coecientul ; acesta este calculat local impunnd
optimizarea unei m asuri de calitate obiective - eroarea p atratic a medie ntre imaginea
original a g si rezultatul ltr arii

f.

2
=
_

f g
_
2
= (n + ( 1)(g g))
2
=
2
n
2
+2(1)ng2(1)ng+(1)
2
(gg)
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 varianta
(puterea) zgomotului
2
n
si varianta imaginii originale
2
g
. G asirea coecientului optim
nseamn a g asirea minimului lui
2
, deci anularea derivatei acestuia.
d
2
d
= 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 nal a a ltrului:

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 varianta local a (n ecare punct)
al imaginii zgomotoase. Adaptarea se face ntre dou a cazuri limit a: dac a puterea de
zgomot este mult mai mare dect varianta valorilor imaginii originale (
2
n

2
g
) atunci,
din prima parte a formulei (3.13) rezult a = 0 si deci ltrul optim este un simplu ltru
de mediere; dac a varianta valorilor din imagine este mult mai mare dect puterea de
zgomot (
2
f

2
n
, deci este de presupus c a punctul curent considerat este situat pe un
contur) atunci = 1 si ltrul optim este un ltru identitate (trece tot). Prezent am n
continuare codul Matlab ce implementeaz a acest a ltrare 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 functiile Matlab mean (pentru a calcula media valorilor selectate de fereastra
de ltrare p atrat a de 3 x 3) si std (pentru a calcula varianta 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 ltr arii
liniare a imaginilor: reprezentarea n domeniul frecventelor spatiale (o extensie direct a
a spectrului semnalelor unidimensionale). De asemenea vom ar ata c a r amne valabil a
teorema convolutiei, prin care vom introduce si o nou a modalitate de implementare a
ltrelor liniare: ltrarea n domeniul de frecvent a.
41
Capitolul 4
TRANSFORM

ARI INTEGRALE
UNITARE DISCRETE
4.1 Generalit ati
Aceast a categorie de prelucr ari include operatii de tip integral totalitatea pixelilor
imaginii initiale contribuie la obtinerea valorii ec 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
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 =
N1

m=0
N1

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 coecientii
dezvolt arii n serie. Exprimnd relatia (4.1) la nivelul ec arui pixel al imaginii U obtinem
U(m, n) =
N1

k=0
N1

l=0
a

kl
(m, n)V (k, l) (4.2)
Calculul coecientilor V (k, l) ai transform arii se poate face n conditiile impuse de orto-
1
n acest capitol vom folosi notatiile 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) =
N1

m=0
N1

n=0
a
kl
(m, n)U(m, n) (4.3)
Multimea coecientilor transform arii V (k, l) formeaz a matricea V, transformata imaginii.
Atunci relatia (4.2) este transformarea direct a a imaginii, iar relatia (4.3), prin care se
obtine 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
operatii de nmultire, si deci o
complexitate O(N
4
).
Conditia de ortonormalitate a matricilor de baz a se exprim a ca
N1

m=0
N1

n=0
a
kl
(m, n)a

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.
Conditia de completitudine a matricilor de baz a se exprim a ca
N1

k=0
N1

l=0
a
kl
(m, n)a

kl
(m

, n

) = (mm

, 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
coecienti a
kl
(m, n), ce pot
interpretati ca valori ai unei functii de patru variabile (k, l, m, n), cte dou a pentru ecare
imagine (initial a si transformat a). Aceast a functie se numeste nucleul transform arii. Prin
denitie, 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)
Impunnd conditiile (4.4) si (4.5) acestei noi forme a coecientilor transform arii, rezult a
c a matricile A = {a(k, m)} si B = {b(l, n)} trebuie s a e matrici unitare:
AA
T
= A
T
A

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

= I
N
Pentru o transformare separabil a, relatiile de denitie (4.2) si (4.3) pot rescrise sub
form a matricial a ca:
V = AUB
T
(4.8)
U = A
T
VB

(4.9)
43
Num arul de nmultiri 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 atii 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,
relatia (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 ecare linie sau
coloan a a lui U urmat a de aceeasi transformare pe ecare coloan a sau linie a rezulta-
tului. Astfel, transform arile practic utilizate n prelucrarea imaginilor (matricilor) sunt
(paradoxal ?) unidimensionale.
Aceste observatii ne conduc la concluzia c a pentru acoperirea cazurilor utilizate n mod
curent este sucient a studierea propriet atilor transformatelor integrale unitare unidimen-
sionale.
4.2 Propriet atile 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, obtinut a prin folosirea matricii unitare A. Relatiile 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 spatiul
N-dimensional de reprezentare. Conservarea energiei este deci echivalent a cu con-
servarea lungimii vectorului, deci transformarea unitar a este o rotatie n spatiul
semnalului. Aceasta nseamn a c a baza de reprezentare a lui u este rotit a, iar v este
proiectia 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)
Corelatiei componentelor semnalului se modic a; dac a not am cu C matricea de
covariatie 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 tendinta de a aglomera o mare parte a
energiei medii a semnalului n relativ putini coecienti ai transform arii. Deoarece
energia total a se conserv a prin transfomare, multi coecienti ai transform arii vor
contine foarte putin a energie. Energia medie a coecientilor transform arii va avea
o distributie neuniform a, chiar dac a n secventa de intrare aceasta era uniform
distribuit a.
Dac a componentele lui u sunt puternic corelate, coecientii transform arii vor
decorelati (termenii matricii de covariatie 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
(2e |C
u
|
1/N
) =
N
2
log
2
(2e |C
v
|
1/N
) = H(v) (4.15)
Deoarece entropia este o m asur a a cantit atii de informatie (informatia medie)
nseamn a ca transform arile unitare p astreaz a informatia continut 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 spatiul semnalului si spatiul de frecvente ale semnalului. Dup a
cum semnalul este clasic (temporal, si deci unidimensional) sau cu suport spatial bidi-
mensional (imagine), spatiul de frecvent a marcheaz a frecvente propriu-zise sau frecvente
spatiale.
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 veric a (4.7). Elementele matricii transform arii sunt expo-
nentialele complexe:
F(k, n) =
1

N
e
j
2
N
kn
=
1

N
w
kn
N
(4.16)
Separabilitatea ne permite deci s a studiem majoritatea propriet atilor transform arii pe
cazul unidimensional, urmnd ca rezultatele s a e usor extinse pentru cazul bidimen-
sional. Folosind notatiile introduse n sectiunea 4.2, putem scrie deci transformata Fourier
unidimensional a direct a ca:
v(k) =
N1

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

k=0
v(k)w
kn
N
, n = 0, N 1 (4.18)
Relatiile se extind imediat la cazul bidimensional:
v(k, l) =
N1

m=0
N1

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

k=0
N1

l=0
v(k, l)w
(kn+ml)
N
, m, n = 0, N 1 (4.20)
Trebuie totusi 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, denitia (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 atile fundamentale ale transformatei Fourier
Dintre numeroasele propriet ati ale transformatei Fourier [9], [19] ne vom referi doar
la dou a propriet ati fundamentale: simetria central a a spectrului de frecvent a (avnd
drept consecint a important a faptul c a este necesar acelasi spatiu de memorie pentru a
reprezenta e spectrul unei imagini, e imaginea propriu-zis a) si teorema convolutiei cir-
culare (care face leg atura ntre ltrarea n domeniul spatial si n domeniul de frecvent a).
Transformata Fourier a unei secvente (matrici) reale este complex conjugat a fat 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
Relatiile arat a c a exist a o simetrie central a a spectrelor de frecvent a, n centru andu-se
o valoare real a. Dar singura valoare real a din spectre este cea ce corespunde componentei
de fecvent a nul a (componenta medie), si deci este necesar a o interschimbare a jum at atilor
de spectru (n cazul secventelor unidimensionale) sau a sferturilor de spectru (n cazul
imaginilor), astfel nct componenta de frecvent a nul a s a e n centru. n gura 4.1 este
reprezentat modulul spectrului de frecvent a al imaginii lena, reprezentat cu 256 nivele
de gri (valorile au fost scalate dup a o reprezentare logaritmic a) astfel nct valorile mai
mari corspund unei nuante mai deschise. Se observ a n partea dreapt a spectrul cen-
tral simetrizat, n care valorile maxime (corespunzd frecventelor cele mai mici, inclusiv
46
Fig. 4.1: Spectrele de frecvent a (Fourier) ale imaginii lena, nainte si dup a aranjarea
cu simetrie central a.
zero) se g asesc n centrul imaginii, iar n partea stng a spectrul original obtinut n urma
transform arii Fourier, n care maximele se g asesc pe cele patru colturi.
Ca si n cazul unidimensional, si pentru imagini leg atura dintre frecventele spatiale si
obiectele din domeniul spatial (imagine) se p astreaz a: frecventele spatiale ridicate co-
respund detaliilor, obiectelor mici, contururilor, zgomotului. n gura 4.2 este prezentat
spectrul de frecvent a al imaginii lena degradat a de zgomot impulsiv de tip sare si piper
(gura 5.1); zgomotul impulsiv corespunde aparitiei a numeroase detalii (obiecte mici
punctele de zgomot) si variatii ale nivelului de gri. Efectul evident este acela de m arire
a valorilor din spectru corespunz atoare frecventelor nalte si, corespunz ator, diminuarea
importantei relative a frecventelor joase.
Fig. 4.2: Spectrul de frecvent a al imaginii lena degradat a de zgomot impulsiv.
47
Prelucrarea imaginilor (e ele scalare sau vectoriale) presupune executarea, prin inter-
mediul unui bloc functional ce poate presupus initial de tip cutie neagr a, a unei
operatii de tip Image In, Image Out [2] (spre deosebire de tehnicile de analiz a ce pot
caracterizate ca operatii Image In, Description Out). Transformarea imaginii de intrare
n imaginea rezultat de iesire (ce prezint a aceleasi caracteristici majore, simbolice si per-
ceptuale
3
) se numeste n mod generic ltrare
4
. Functia unui ltru este de a transforma
un semnal dat ntr-un alt semnal, mai potrivit unei anume aplicatii date.
Denitiile ltr arii (sau ale dispozitivului care o realizeaz a, ltrul) ce se reg asesc n dic-
tionarele lingvistice de uz general fac apel la notiunea de semnal electric si de frecvente
asociate componentelor acestuia. Descrierea actiunii ltrului este descrierea unei operatii
liniare efectuate n domeniul frecventelor. Extinderea acestor denitii la cazul imaginilor
presupune n primul rnd denirea spectrului de frecvent a asociat unui semnal cu suport
[spatial] multidimensional si, implicit, introducerea notiunii de frecvent a spatial a. Uti-
lizarea unei prelucr ari n domeniul frecventelor presupune apoi identicarea benzilor de
frecvent a corepunz atoare entit atilor ce se doresc p astrate, respectiv eliminate, asociere
ce nu este ntotdeauna simpl a. n practic a, aceasta nseamn a determinarea unui spectru
de frecvente transformat, care apoi este transformat prin transformata Fourier invers a n
imaginea ltrat a aceasta este ltrarea n domeniul frecvent a.
Filtrarea liniar a a imaginilor se bazeaz a pe convolutia [circular a] ntre imaginea de pre-
lucrat si un nucleu de ltrare (a se vedea capitolul 3); teoria transformatelor unitare
[9] arat a c a o asemenea operatie este echivalent a unui produs ntre spectrul Fourier al
imaginii si spectrul Fourier al nucleului de ltrare; aceasta este teorma convolutiei. n
cazul unidimensional, dac a secventele x si y au aceeasi lungime, si U este operatorul de
convolutie circular a (denit n (4.23)) atunci:
Fourier(x Uy) = Fourier(x) Fourier(y) (4.22)
x Uy(n) =
N1

k=0
x((n k) mod N) y(k), n = 0, N 1 (4.23)
Teorema convolutiei ofer a deci instrumentul prin care se pot echivala operatiile de ltrare
realizate n domeniile spatial (ltrarea liniar a, prezentat a n capitolul 3) si de frecvent a.
Aceasta nseamn a c a un nucleu mic de convolutie (masc a de ltrare) este bordat cu ze-
rouri pn a la obtinerea dimensiunii imaginii (teorema convolutiei circulare se refer a la
3
Prin prisma acestei denitii, transfom arile unitare ale imaginilor (deci reprezentarea ntr-un spatiu
spectral) nu sunt ltr ari; spectrul unei imagini, desi este echivalent acesteia din punct de vedere infor-
mational, nu are aceleasi caracteristici perceptuale.
4
Filtrul este un sistem de circuite electrice, sonore, etc. cu care se selecteaz a dintr-un complex
de oscilatii cu frecvente diferite, oscilatiile cu frecventele cuprinse ntre anumite limite. (Dictionarul
Explicativ al Limbii Romne, 1995)
Filtrul este un dispozitiv ce amortizeaz a selectiv oscilatiile cu anumite frecvente si nu afecteaz a os-
cilatiile avnd alte frecvente. (Webster Encyclopedic Unabridged Dictionary, 1995)
Filtrul este un dispozitiv destinat favoriz arii sau inhib arii trecerii anumitor componente de frecvent a
a unui semnal electric. (Larousse, 1994)
48
secvente de aceeasi lungime) si apoi transformat Fourier; ceea ce se obtine este r aspunsul
n frecvent a al ltrului. Figura 4.3 prezint a r aspunsul n frecvent a a ltrului de mediere
aritmetic a realizat cu un nucleu p atrat, centrat de 3 x 3; se remarc a comportamentul de
tip ltru trece jos. Acest comportament este leagt de efectul de blur al ltrului de me-
diere, pus n evident a prin reducerea vizibilit atii contururilor imaginii, si deci nl aturarea
frecventelor nalte ce le sunt asociate.
Fig. 4.3: R aspunsul n frecvent a a unui nucleu 3 x 3 de mediere aritmetic a.
4.3.2 Transformata Fourier rapid a
Implementarea direct a a relatiei de denitie a transform arii Fourier discrete unidimen-
sionale (4.17) necesit a evident N
2
nmultiri complexe si N(N1) 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 initial a a fost divizarea n
timp: cele N esantioane ale secventei se mpart n dou a, dup a indicii pari si respectiv
impari:
v(k) =
N1

n=0
u(n) exp(j
2
N
kn) =
=
N/21

n=0
u(2n) exp(j
2
N
k 2n) +
N/21

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

n=0
u(2n) exp(j
2k
N/2
2n) exp(j
2k
N
2n)+exp(j
2k
N
)
N/21

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

n=0
u
par
(n) exp(j
2k
N/2
n) + exp(j
2k
N
)
N/21

n=0
u
impar
(n) exp(j
2k
N/2
n) =
= v
par
(k) + exp(j
2k
N
)v
impar
(k) (4.24)
n (4.24) am notat cu u
par
secventa obtinut a din toate valorile pare ale secventei initiale,
iar cu u
impar
secventa obtinut a din toate valorile impare ale secventei initiale. Aceast a
relatie exprim a posibilitatea construirii transform arii Fourier a secventei u de lungime
N prin transform arile Fourier ale unor jum at ati de secvent a (de lungime N/2) v
par
si
v
impar
.
Dac a not am cu T(N) timpul de calcul al transformatei Fourier a secventei de lungime
N, atunci avem:
T(N) = 2T
_
N
2
_
+N (4.25)
n mod evident T(1) = 1 (transformata Fourier a secventei de lungime 1 este identic a cu
secventa); dezvoltnd ecuatia recurent a din (4.25) obtinem:
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, cnd 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 obtinut prin
FFT fat a de implementarea clasic a este deci proportional cu N/ log
2
N (deci aproape un
ordin de m arime pentru o lungime tipic a de secvent a N = 256).
Relatia de implementare de baz a (4.24) mai poate 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 semnic a faptul c a dou a valori ale transform arilor Fourier ale secventelor pe
jum atate sunt combinate liniar pentru a genera dou a valori, simetrice fat a de centru, ale
secventei originale. Blocul ce realizeaz a aceste prelucr ari este numit celul a buttery,
caracterizat de o operatie de nmultire-adunare
5
(gura 4.4).
5
Operatia de multire-adunarte este una dintre operatiile de baz a (cablate) din setul de instructiuni
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 buttery
Construind etapele succesive de njum at atire a lungimii secventei, pentru o secvent a de
lungime N = 8 se ajunge la schema din gura 4.5. Se remarc a reordonarea esantioanelor
secventei de intrare dup a ordinea de bit invers a bit-reverse (forma binar a a noului indice
este forma binar a a vechiului indice reectat 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 secvent a de lungime 8.
Implement arile clasice ale FFT folosesc o reordonare in-place a secventei de intrare (n
acelasi spatiu de memorie, prin interschimb ari) pentru numere complexe (scrise n ordinea
parte real a, parte imaginar a). Acelasi cod este folosit att pentru transformata direct a
ct si pentru transformata invers a, doar prin modicarea unui parametru de semn ce
intervine la calculul coecientilor Fourier w
N
. Rezultatul (transformata) ia locul datelor
51
de intrare, n acelasi spatiu 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 seceventei n ordinea invers a de bit. n
partea a doua a codului se realizeaz a calculul efectiv al celulelor buttery, corespunznd
transform arilor unor secvente de dimensiune mmax, si deci prelu arii unor date situate la
52
distanta mmax ntre indici (vizibil si n schema din gura 4.5).
Transformata rapid a bidimensional a implic a realizarea cte unei transform ari unidimen-
sionale pentru ecare linie si coloan a a imaginii (conform principiului separabilit atii);
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; aparitia acestora s-a datorat adapt arii mai bune dect 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 secvente u sunt denite ca:
v(k) = (k)
N1

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

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 atile importante ale transformatei cosinus se refer a la leg atura acesteia
cu transformata Fourier: transformata cosinus a unei secvente nu este partea real a a
transformatei Fourier a aceleiasi secvente. Transformata cosinus se poate obtine prin
transformarea Fourier a unei secvente rearanjate sau a unei secvente dublate si simetrizate
central. Fie N par; si denim
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 secventa u
1
este u(0), u(2), u(4), ..., u(N 2), u(N 1), u(n3), ...,
u(3), u(1), iar secventa 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(
jk
2N
) Fourier( u
1
)
_
(4.34)
COS(u) = Fourier( u
2
) exp(
k
2N
), k = 0, ..., N 1 (4.35)
O consecint a imediat a a acestor relatii 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 covariatie este de
forma (4.36). Dar aceast a form a este tipic a secventelor stationar Markov de ordinul 1,
cu parametru de corelatie 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 aplicatiile ei practice se g asesc n sectiunea 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 secevente u sunt denite ca:
v(k) =
_
2
N + 1
N1

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

k=0
v(k) sin
(k + 1)(n + 1)
N + 1
, n = 0, N 1 (4.39)
Una dintre propriet atile importante ale transformatei sinus se refer a la leg atura acesteia
cu transformata Fourier: transformata sinus a unei secvente nu este partea imaginar a
a transformatei Fourier a aceleiasi secvente. Transformata sinus se poate obtine prin
transformarea Fourier a extensiei antisimetrice a secventei. Fie N par; si denim
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 secventa u este 0, u(N1), u(N2), ..., u(1), u(0), 0, u(0), u(1), ...,
u(N 1). Atunci
SIN(u) = Im
_
j(1)
k
Fourier( u)

(4.41)
O consecint a imediat a a acestei relatii 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 covariatie este de forma
(4.42). Dar aceast a form a este tipic a secventelor stationar Markov de ordinul 1, cu
parametru de corelatie [0.5; 0.5].
55
Capitolul 5
FILTRAREA NELINIAR

A A
IMAGINILOR
Operatiile de ltrare studiate pn a n prezent au fost caracterizate esential (din punct de
vedere matematic) de c atre principiul liniarit atii (sau superpozitiei). Istoric, acestea au
fost primele operatii utilizate, avnd un suport teoretic solid si desigur, avnd mai multe
caracteristici utile. O mare parte a aplicatiilor curente de prelucrare a imaginilor probabil
c a se pot rezolva sucient de precis folosind doar operatii liniare. Limit arile operatiilor
liniare de ltrare apar ns a n momentul n care se consider a zgomote ce nu au distributie
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 uniform acoperit a de puncte foarte nchise (negre) si foarte
deschise (albe), rezultatul ind ceea ce se numeste zgomot de tip sare si piper (vezi
gura 5.1). Asemenea erori apar n portiunile de achizitie 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 distributie cu coad a lung a - deci care asigur a probabilit ati nenule de
aparitie a unor valori mult diferite de medie. Aceste valori aberante (mult mai mari sau
mai mici dect valorile normale ale regiunii n care apar) sunt numite outlier: valori
extreme sau erori grosiere.
Dac a o asemena imagine ar ltrat a liniar (cu un ltru de mediere sau poate cu un ltru
de reliefare) rezultatul ar 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 modicate
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 ltrare, care nu mai
respect a principiul superpozitiei, si deci sunt neliniare. O clas a esential a de astfel de
metode de ltrare sunt cele bazate pe ordonare - rank order ltering [12]. Ideea esential a
este aceea c a operatia de ordonare plaseaz a valorile aberante (extremale) la capetele
sirului de valori (deci ntr-o zon a bine denit a), permitnd astfel identicarea si eliminarea
acestora.
5.1 Filtrarea de ordine
Filtrele de ordine sunt operatori locali: ltrul este denit 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 acelasi model de prelucrare al ferestrei glisante, ntlnit si la ltr arile liniare n
domeniul spatial). Valorile selectate de fereastra de ltrare sunt apoi ordonate cresc ator;
dac a valorile selectate de o fereastr a cu n pozitii sunt {x
1
, x
2
, ..., x
n
}, atunci acelasi 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.
Iesirea ltrului 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, iesirea unui ltru de ordine este una dintre valorile selectate de fereastra de
ltrare, si deci nu se creaz a la iesire valori noi (asa cum se ntmpl a la ltrarea liniar a);
acesta este un avantaj att n ceea ce priveste p astrarea valorilor originale din imagine,
ct si din punctul de vedere al simplic arii calculelor (nu mai sunt necesare operatii cu
numere reale, ce trebuie apoi rotunjite sau truncheate la numere naturale).
Filtrele de ordine nu sunt liniare din cauza operatiei de ordonare (ce nu respect a principiul
superpozitiei); 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 operatiile de modicare 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 functiile de distributie ale iesirii ltrului (functie
de densitate de probabilitate, functie de repartitie) atunci cnd functiile de distributie
ale valorilor de intrare sunt presupuse cunoscute. Modelul folosit n general se bazeaz a pe
ipoteza de independent a si distributie identic a a valorilor selectate de fereastra ltrului
(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) functiile de densitate
de probabilitate si respectiv repartitie a valorilor pixelilor din imaginea ce se ltreaz a cu
un ltru de ordine de ordin k cu fereastr a de n elemente, atunci ceea ce intereseaz a este
functia de densitate de probabilitate a iesirii ltrului de ordine, f
k
(x).
Fie t o valoare oarecare din domeniul de variatie al variabilelor aleatoare; atunci proba-
bilitatea evenimentului ca iesirea ltrului 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 obtinute prin ordonarea cresc atoare a valorilor x
i
, ordonare
cresc atoare care poate 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
k1
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 e mai mici dect t (deci F
k1
(t)), probabilitatea ca nk valori s a e 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))
nk
) si probabilitatea ca o valoare s a e cuprins a n intervalul
[t; t +dt] (deci f(t)dt), adic a:
P = F
k1
(t)(1 F(t))
nk
f(t)dt
Num arul total de evenimente de tipul (5.7) este nC
k1
n1
(n moduri de alege o valoare din
cele n, la ecare dintre aceste alegeri corespunznd C
k1
n1
moduri de a alege din cele n1
valori r amase k 1 valori care s a e mai mici ca t). Atunci:
Pr
_
t x
(k)
t +dt
_
= nC
k1
n1
F
k1
(t)(1 F(t))
nk
f(t)dt (5.8)
si deci functia de densitate de probabilitate a iesirii ltrului de ordine de ordin k este:
f
k
(x) = nC
k1
n1
F
k1
(x)(1 F(x))
nk
f(x) (5.9)
n [12] sunt prezentate diferite utiliz ari ale functiei de densitate de probabilitate a iesirii
ltrelor de ordine, mai ales pentru determinarea comport arii asimptotice (n ) a
ltrelor.
Propriet atile deterministe ale ltrelor de ordine se refer a la comportamentul acestora
n zonele tipice ale unei imagini: portiuni 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 modicate prin ltrare.
Orice secvent a {x
i
} monoton a (cresc atoare sau descresc atoare) este un semnal r ad acin a
pentru ltrele de ordine. n plus, ltrele de ordine comut a cu orice functie monoton a g:
rank
k
(g(x
i
)) = g(rank
k
(x
i
))
Pe lng a metodele analitice de construire a semnalelor r ad acin a [12], n practic a, semnalele
r ad acin a se obtin prin ltrarea repetat a a unui semnal oarecare, pn a la obtinerea invari-
antei. S a consider am spre exemplu secventa unidimensional a x = {0, 1, 1, 3, 1, 3, 2, 3, 3, 2,
1, 1} pe care o vomltra cu o fereastr a de ltrare de dimensiune 3, centrat a, cu un ltru de
ordine de ordin 2. Dup a prima ltrare se obtine secventa x1 = {0, 1, 1, 1, 3, 2, 3, 3, 3, 2, 1, 1, 0},
iar dup a a doua ltrare se obtine secventa x2 = {0, 1, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 0}. Aceast a
secventa este invariant a la ltr arile urm atoare si este deci un semnal r ad acin a. Figura
5.4 prezint a secventele x, x1, x2.
5.1.1 Filtrul median
Filtrul median este un ltru de ordine a c arui iesire este statistica de ordine de ordin
central a setului de valori selectate de fereastra de ltrare.
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 initial oarecare; prin ltr 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 ltr ari a secventei initiale.
0 2 4 6 8 10 12 14
0
2
4
Fig. 5.4: Semnal r ad acin a al ltrului de ordine considerat, obtinut dup a dou a iteratii ale
ltr arii.
60
Iesirea ltrului median este deci valoarea din centrul secventei ordonate; n cazul secventelor
(ferestrelor de ltrare) de dimensiune par a, aceast a pozitie central a nu exist a, si atunci
este denit a ca media aritmetic a a valorilor vecine centrului imaginar. n practic a, ltrul
median se foloseste doar cu ferestre de ltrare 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 ltrare are 3 puncte, medianul este statistica de
ordinul 2
2
, pentru o fereastr a ltrare cu 9 puncte, medianul este statistica de ordinul 5,
iar pentru o fereastr a de ltrare de 25 de puncte, medianul este statistica de ordinul 13.
Figura 5.5 prezint a rezultatul ltr arii cu un ltru median cu fereastr a p atrat a de 3 x 3
puncte a imaginii degradate cu zgomot impulsiv din gura 5.1.
Fig. 5.5: Imagine ltrat a cu ltru median cu fereastr a de 3 x 3.
Efectele de ltrare 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 aa la capetele sirului
de valori; iesirea ltrului median, ind statistica de ordin central, este situat a departe
de valorile extreme. n imaginea ltrat a median (gura 5.5) se observ a totusi existenta
unor puncte albe si negre (puncte de zgomot) ce nu au putut eliminate prin ltrare;
spunem c a n acele pozitii ltrul a fost str apuns de impulsuri (care deci au ajuns la
iesirea ltrului). Probabilitatea de str apungere a unui ltru median este dependent a de
procentul de puncte de zgomot din imagine si de dimensiunea ferestrei de ltrare folosite.
Str apungerea ltrului median se produce atunci cnd n fereastra de ltrare avem m acar
n+1
2
impulsuri de zgomot de aceeasi valoare.
O variant a a ltrului median cu fereastr a de ltrare p atrat a este ltrul median separabil.
Separabilitatea semnic a (ca si n cazul transform arilor unitare) realizarea operatiei nti
2
Aceasta nseamn a deci c a exemplul de construire a semnalului r ad acin a prezentat anterior este rea-
lizat pentru un ltru median.
61
pe linii, si apoi pe coloanele imaginii, pe baza unor ferestre de ltrare liniare. Este
evident c a rezultatul acestei operatii de ltrare nu coincide cu rezultatul ltr arii mediane
cu fereastr a p atrat a
3
(gura 5.6 prezint a rezultatul ltr arii mediane separabile cu ferestre
de dimensiune 3 a imaginii cu zgomot impulsiv din gura 5.1; rezultatul ltr arii mediane
cu fereastr a p atrat a 3 x 3 este prezentat n gura 5.5).
Fig. 5.6: Rezultatul ltr arii cu un ltru median separabil.
Se remarc a faptul c a aceast a structur a de ltrare, desi prezint a avantaje din punctul
de vedere al timpului de calcul necesar, se str apunge mai usor dect ltrul median cu
fereastr a p atrat a din care a derivat.
5.1.2 Filtrele de ordine ponderate si structurile multietaj
Att ltrele liniare ct si ltrele de ordine se bazeaz a pe acelasi principiu al ferestrei
glisante. Prelucr arile realizate asupra valorilor selectate de aceast a fereastr a de ltrare
sunt evident diferite, dar se poate totusi remarca faptul c a structura de ltrare liniar a
permite o exibilitate mai mare (se pot realiza un num ar innit de ltre liniare pentru o
aceeasi fereastr a de ltrare, prin varierea coecientilor de ponderare). Singurul factor de
reglaj al ltrelor de ordine este ordinul statisticii selectate la iesire
4
.
Este evident c a ponderarea ltrelor de ordine nu se poate face prin multiplicarea valori-
lor selectate de fereastra de ltrare cu diferiti coecienti, asa ca n cazul ltrelor liniare.
3
Filtrul de minim (ltrul de ordine de ordin 1) si ltrul de maxim (ltrul de ordine de ordin n) sunt
singurele ltre de ordine separabile.
4
Zamperoni a propus adaptarea ordinului statisticii folosite ca iesire a ltrului de ordine prin k =
_
1
2
+
n

i=1
x
(i)
x
(1)
x
(n)
x
(1)
_
.
62
Ponderarea are ca scop nt arirea inuentei anumitor pixeli din fereastra de ltrare (de
exemplu pixelul central - curent prelucrat - care ar de asteptat ca s a aib a o inuent a
mai puternic a asupra rezultatului ltr arii dect vecinii s ai). Avnd n vedere c a rezul-
tatul ltr arii (deci valoarea unei anumite statistici) este determinat a n urma ordon arii,
modalitatea de a nt ari inuenta unei anume valori este de a o repeta de mai multe ori,
crescnd astfel probabilitatea de a o reg asi ca statistica de ordin dorit. Asadar, pondera-
rea ltrelor de ordine se refer a la repetarea de un num ar xat de ori a valorilor selectate
de fereastra de ltrare. Multimea de valori ce rezult a se numeste multiset. Ponderile w
i
atasate ec arei pozitii de ltrare vor numere naturale nenule, ce exprim a num arul de
repetitii al valorii corespunz atoare n multiset.
Spre exemplu s a consider am portiunea de imagine selectat a de o fereastr a de ltrare 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 situatii este 3 (setul ordonat de valori ind 1, 1, 2, 2, 3, 3, 3, 4, 5). Dac a consider am
acum ltrul 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 e 2 (si deci o valoare mai apropiat a de valoarea original a din
punctul curent prelucrat). Masca de ponderare W semnic a faptul c a valoarea central a
este repetat a de 3 ori, valorile de pe pozitiile vecinilor imediati (orizontali si verticali)
sunt repetate de cte 2 ori, iar valorile de pe pozitiile 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 contine
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
_
(presupunnd un
num ar impar de valori n multiset). Un caz particular destul de des utilizat este acela al
ltrelor de ordine central ponderate, n care toti coecientii de ponderare (repetitie) sunt
1, cu exceptia coecientului ce corespunde pixelului curent prelucrat, ce are o valoare mai
mare ca 1.
Structurile multietaj grupeaz a cteva ltre de ordine (median, minim, maxim) aplicate
succesiv, cu ferestre de ltrare diferite. Cele mai r aspndite structuri sunt cele de tip
median multietaj (median din median pe orizontal a, median pe vertical a si valoarea
curent a), reprezentat n gura 5.8 si max/min-median (maxim sau minim din medianele
pe vertical a, orizontal a si cele dou a diagonale ale ferestrei de ltrare p atrate centrate n
punctul curent prelucrat), reprezentat n gura 5.7.
63
Fig. 5.7: Structr a multietaj de tip max / min - median, bazat a pe o fereastr a de ltrare
de dimensiune 3.
Fig. 5.8: Structur a de ltrare de tip median - median, bazat a pe o fereastr a de ltrare
p atrat a de dimensiune 3.
64
5.2 Filtre de ordine de domeniu
Filtrele de ordine de domeniu (ltre LUM Lower-Upper-Middle [18]) introduc o posi-
bilitate de adaptare si reglare a ltrelor de ordine.
Valoarea y de iesire a ltrului LUM de netezire este denit a ca:
y =
_
_
_
x
(k)
, dac a x

< x
(k)
x
(nk+1)
, dac a x

> x
(nk+1)
x

, n rest
(5.12)
unde x

este valoarea ce corespunde originii ferestrei de ltrare cu n pozitii, iar k este


parametrul de reglaj al ltrului. Valoarea k este un ntreg din intervalul [0;
n+1
2
]; dac a
k = 0 ltrul de comport a ca un ltru trece tot (y = x

), iar dac a k =
n+1
2
, ltrul este un
ltru median (y = x
(
n+1
2
)
).
Valoarea y de iesire a ltrului LUM de conturare este denit a ca:
y =
_
_
_
x
(l)
, dac a x
(l)
< x

<
x
(l)
+x
(nl+1)
2
x
(nl+1)
, dac a
x
(l)
+x
(nl+1)
2
< x

< x
(nl+1)
x

, n rest
(5.13)
unde x

este valoarea ce corespunde originii ferestrei de ltrare cu n pozitii, iar l este


parametrul de reglaj al ltrului. Valoarea k este un ntreg din intervalul [0;
n+1
2
]; dac a
l = 0 ltrul de comport a ca un ltru de reliefare extrem a, iar dac a l =
n+1
2
, ltrul este
un ltru trece tot (y = x

).
5.3 L-ltre
L-ltrele [12] au fost introduse din dorinta de a oferi o mai mare exibilitate operatiilor
de ltrare neliniar a bazate pe ordonare; pasul resc de dezvoltare a fost combinarea
tuturor statisticilor de ordine n valoarea de la iesirea ltrului. Iesirea unui L-ltru este
o combinatie 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 coecientilor w
i
se pot obtine diferite ltre, inclusiv ltrele
de ordine (un singur coecient egal cu 1, iar restul nuli). Coecientii celor mai uzuale
L-ltre sunt prezentati n tabelul 5.1
65
Filtru Coecienti
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+1k
= 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: Coecientii celor mai uzuale L-ltre.
Se poate demonstra cu usurint a c a coecientii L-ltrelor trebuie s a ndeplineasc a aceleasi
conditii de normare ca si coecientii ltrelor liniare: s a aib a suma 1 pentru un ltru de
netezire (conform (3.8)) si suma 0 pentru un ltru de reliefare (conform (3.9)). Toate
ltrele prezentate n tabelul 5.1 sunt deci ltre de netezire, al c aror scop este m arirea
uniformit atii regiunilor imaginii prin eliminarea diferitelor zgomote suprapuse acesteia.
Tabelul 5.2 prezint a ltrele cele mai potrivite pentru eliminarea diferitelor tipuri de zgo-
mote.
Tip zgomot Filtru
impulsiv (sare si piper) ltru de ordine (median, maxim, minim)
gaussian ltru de mediere aritmetic a
impulsiv + gaussian ltru de tip medie -reglabil a
uniform ltru de mijloc
Tabel 5.2: L-ltre utilizate pentru reducerea diferitelor tipuri de zgomote.
Un exemplu de ltru de reliefare (cu comportare derivativ a, care s a satisfac a deci (3.9))
este gradientul morfologic diferenta ntre valoarea maxim a si minim a din fereastra de
ltrare curent a:
grad{x
1
, x
2
, ..., x
n
} = x
(n)
x
(1)
Folosirea unui asemenea operator produce o imagine n care valoarea ec arui pixel este
invers proportional a cu gradul de uniformitate (netezime) al vecin at atii acestuia (vezi
gura 5.9).
5.4 Aspecte de implementare
Implementarea ltrelor neliniare de ordine sau a L-ltrelor urmeaz a aceleasi principii
ca si oricare tehnic a de tip fereastr a glisant a (ca ltrarea liniar a) n ceea ce priveste
66
Fig. 5.9: Operatorul gradient morfologic aplicat imaginii ltrate din gura 5.5.
problemele legate de realizarea formei ferestrei de ltrare si efectele de margine. Ceea ce
este particular ltrelor din aceast a categorie este etapa de ordonare a valorilor selectate
de fereastra de ltrare n ecare pozitie.
n teoria algoritmilor au fost dezvoltati numerosi 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 insertie) pn 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 neecient a dect
o metod a de sortare O(n): complexitatea unui algoritm exprim a comportarea asimpto-
tic a a num arului de operatii necesare, n conditiile 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 ltrelor neliniare de ordine prelucreaz a seturi mici de date (s a nu uit am c a
rareori o fereastr a de ltrare dep aseste 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-ltru cu o fereastr a p atrat a de dimensiune
3 x 3, centrat a; ponderile ltrului sunt stocate n vectorul w (1 linie, 9 coloane, prima
pozitie corespunznd coecientului statisticii minime). L-ltrul 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 functiei standard sort ce realizeaz a operatia de ordonare cresc atoare
a valorilor; iesirea L-ltrului este produsul scalar al vectorului de coecienti ai ltrului
cu vectorul statisticilor de ordine.
n cele ce urmeaz a vom considera un exemplu de implementare a unui ltru cu ordonare
dup a rang relizat cu o fereastr a centrat a de 3 x 3 pixeli, pentru ltrarea unei imagini
cu NRLIN linii si NRCOL coloane; prima si ultima linie si coloan a sunt identice cu cele
din imaginea ce se ltreaz a (remarcati buclele for de alocare a spatiului pentru imaginea
ltrat a si initializarea 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 ltrare sunt stocate n vectorul de 9 pozitii temp. Citirea
acestor valori se face printr-un ciclu, bazndu-se pe introducerea unei relatii de echivalent a
ntre ordinea de baleiaj a ferestrei si pozitia valorilor n vector (economia nu este de timp
de executie 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; ecare pozitie a vectorului ce contine
valorile extrase de fereastra de ltrare este comparat a cu pozitia 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 veric 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
ecare pozitie a ferestrei de ltrare; o serioas a economie de timp se poate realiza dac a se
tine seama c a la mutarea ferestrei de ltrare de la un pixel al imaginii la un pixel vecin
acestuia, se modic a un num ar relativ mic de valori (restul r amnnd neschimbate).
Aceasta poate conduce la ideea p astr arii unei p arti 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 ltrare. Histograma (2.10) reprezint a num arul de puncte ce au
o anumit a valoare si este echivalent a cu functia de densitate de probabilitate a unei
variabile aleatoare. Pentru aceeasi varibil a aleatoare exist a ns a si functia de repartitie
primitiva functiei de densitate de probabilitate; asadar 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 dect 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 ltrare 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 07).
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 15
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 pn 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 identicat 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 rnd de timpul de
determinare a num arului j ce satisface (5.16), timp ce este direct proportional 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 ltrarea va selecta
relativ putine valori diferite, si atunci histograma va un vector rar (sparse), cu multe
intr ari nule, iar histograma cumulativ a va avea, corespunz ator, multe portiuni constante.
n aceste conditii, o reprezentare mai ecient a (att ca memorie ocupat a, ct si ca timp de
c autare) este memorarea doar a tranzitiilor (pozitie, valoare) din histograma cumulativ a,
adic a doar memorarea histogramei.
70
Capitolul 6
ELEMENTE DE MORFOLOGIE
MATEMATIC

A
n mod traditional, 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]). Desi aceste abord ari clasice sunt justicate 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 stiint a, deci
stiinta 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 simplic a structura ima-
ginii, p astrnd caracteristicile esentiale de form a si eliminnd irelevantele.
Ideea de baz a a oric arei prelucr ari morfologice este considerarea imaginii ca un ansamblu
(multime, reuniune de p arti) asupra c aruia se aplic a transform ari a c aror esent a este
comparatia cu multimi (ansambluri) mai simple, numite elemente structurante. Scopul
acestor transform ari este extragerea de forme mai simple din formele initiale (complexe)
ale imaginii.
Morfologia matematic a este utilizat a ca o abordare natural a a proceselor de vedere ar-
ticial a, deoarece tr as aturile si respectiv identicarea obiectelor sunt corelate cu forma.
Principalele aplicatii sunt n domeniile roboticii, microscopiei electronice, imagisticii bio-
medicale, telemetriei, inspectiei automate a produselor, analizei de scen a. Aplicatiile
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 exemplicare a conceptului de studiu al formei. Orice form a poate consi-
derat a ca o reuniune de componente (blocuri, regiuni, scheme) individuale independente,
plasate n diverse pozitii; a recunoaste forma implic a identicarea local a a p artilor sale
componente si deci o operatie simpl a de potrivire de m asti (pattern matching).
Rezultatul aplic arii acestei transform ari de identicare (numit a uneori si transformarea
totul sau nimic) este o multime ale c arei puncte satisfac criteriul de identicare a unei
vecin at ati cu masca aplicat a.
Transformarea Hit or Miss se deneste pe baza unei partitii (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 multimea c areia i se aplic a transformarea, A
C
este complementara multimii
A, B este elementul structurant si (B
i
)
x
este multimea B
i
translatat a cu vectorul x.
Trebuie remarcat faptul c a oric arui element structurant trebuie s a i se ataseze o origine.
Figura 6.1 prezint a o exemplicare a transform arii Hit or Miss.
Se poate observa c a aceast a transformare produce ca rezultat o multime de puncte ce
satisfac concomitent un set de conditii de tipul (B
i
)
x
A
i
, unde {A
i
} formeaz a o partitie
a spatiului.
Este evident c a {A, A
C
} formeaz a o partitie, dar aceasta nu este singura posibil a. Anu-
mite aplicatii practice pot impune ns a situatii mai complexe, a c aror rezolvare dep aseste
cadrul morfologiei binare [14]. Astfel se pot cita asa numitele cazuri: cazul petrograc
(provenit din analiza hidrocarburilor si a mineralelor), n care p componente mpart exact
spatiul (f ar a a l asa locuri libere) si cazul geograc, n care p componente nu ocup a n-
treg spatiul 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 constructiei morfologiei matematice. Se va ar ata ns a c a este
posibil a exprimarea acesteia si n functie de transform arile morfologice fundamentale larg
utilizate (erodarea si dilatarea).
72
Fig. 6.1: Exemplicare a transform arii de identicare a conguratiilor locale (Hit or
Miss); n particular exemplul prezint a determinarea punctelor de tip colt dreapta-jos.
Fig. 6.2: Exemplu de transformare Hit or Miss extins a pentru o partitie cu trei multimi
a spatiului imaginii.
73
6.1.2 Erodarea morfologic a
Erodarea morfologic a a multimii A prin elementul structurant B se deneste ca multimea
punctelor (elementelor) cu care se poate translata elementul structurant astfel nct acesta
s a e inclus n multimea de prelucrat A:
AB = {x|B
x
A} (6.2)
Erodare morfologic a a multimii A este transformata Hit or Miss a multimii 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 relatie de denitie se mai poate exprima ca:
A B = {x|B
x
A} = {x|b B, a A astfel nct b +x = a} = (6.3)
= {x|b B, a A astfel nct x = a b} =

bB
A
b
=

bB
S
A
b
(6.4)
Figura 6.3 prezint a rezultatul erod arii unor multimi discrete, iar gura 6.4 prezint a rezul-
tatul erod arii unor multimi continue.
Fig. 6.3: Exemple de erodare a unor multimi discrete cu diferite elemente structurante,
ce si contin (sau nu) originea.
74
Fig. 6.4: Rezultatul erod arii unor multimi continue cu un element structurant de tip disc
(originea elementului structurant este centrul discului).
6.1.3 Dilatarea morfologica
Dilatarea morfologic a a multimii A cu elementul structurant B se deneste ca multimea
punctelor (elementelor) cu care se poate translata elementul structurant astfel nct acesta
s a aib a puncte comune cu multimea de prelucrat A:
A B = {x|B
x
A = } (6.5)
Erodare morfologic a a multimii Aeste complementara transformatei Hit or Miss a multimii
cu un element structurant B = B
2
(B
1
= ):
(AB)
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
}
AB = {x|(B)
x
A
C
}
C
= {x|(B)
x
A
C
} = {x|B
x
A = }
Relatia de denitie mai poate exprimat a si ca:
A B = {x|B
x
A = } = {x|b B, a A astfel nct b +x = a} = (6.6)
= {x|b B, a A astfel nct x = a b} =
_
bB
A
b
=
_
bB
S
A
b
(6.7)
Figura 6.5 prezint a rezultatul erod arii unor multimi discrete, iar gura 6.6 prezint a rezul-
tatul dilat arii unor multimi continue.
75
Fig. 6.5: Exemple de dilatare a unor multimi discrete cu diferite elemente structurante,
ce si contin (sau nu) originea.
Fig. 6.6: Rezultatul dilat arii unor multimi continue cu un element structurant de tip disc
(originea elementului structurant este centrul discului).
76
6.1.4 Propriet atile erod arii si dilat arii
Se observ a c a, n general, efectul operatiei de dilatare este de a m ari obiectul; acesta creste,
se um a, corespunz ator formei si dimensiunii elementului structurant. Efectul erod arii
este, dup a cum am v azut, o micsorare a obiectului. Modicarea 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 modicare simetric a
a dimensiunilor; dac a elementul structurant nu este simetric, efectele se vor manifesta
asupra obiectului pe directia elementului structurant si n sens contrar acestuia. Efectele
erod arii si dilat arii vor discutate n continuare, pe baza propriet atilor matematice ale
acestora.
Dilatarea si erodarea formeaz a o pereche de operatii duale:
(AB)
C
= A
C
B si (AB)
C
= A
C
B (6.8)
Demonstratia este imediat a:
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} = 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 = } = AB (6.10)
Interpretarea dualit atii ca obtinerea acelorasi efecte, dar asupra unor multimi comple-
mentare, este corect a: dac a dilatarea va m ari obiectul (multimea), aceasta nseamn a c a
va micsora n acelasi timp fundalul (complementara multimii), deci va echivalent a cu o
erodare a fundalului. Dac a erodarea micsoreaz a obiectul (multimea), aceasta nseamn a
o m arire simultan a a fundalului (complementara multimii), deci o dilatare a acestuia.
Un caz particular ce poate apare este acela al elementelor structurante ce nu contin
originea. Folosind un asemenea element structurant, rezultatele operatiilor morfologice
vor translatate fat a de pozitia la care ar fost de asteptat s a apar a.
Leg atura ntre translatia elementului structurant (faptul c a acesta nu contine originea
poate interpretat ca o deplasare) sau a multimii (obiectului) care se prelucreaz a si
deplasarea rezultatului operatiilor morfologice este dat de propriet atile de invariant a la
translatie:
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 ati de invariant a la translatie (translatia obiectului si translatia elementu-
lui structurant) pot avea mai multe interpret ari. n primul rnd, invarianta la translatie
asigur a faptul c a forma rezultat a prin dilatarea sau erodarea unei multimi este aceeasi,
indiferent de pozitia multimii prelucrate. n al doilea rnd, relatiile enuntate asigur a su-
cienta consider arii doar a elementelor structurante ce contin originea; un element struc-
turant ce nu contine originea poate obtinut prin translatie dintr-un element structurant
ce contine originea; multimea (forma) rezultat a n urma prelucr arii va trebui translatat a
n sens opus elementului structurant.
n acelasi grup de propriet ati de invariant a a operatiilor morfologice se ncadreaz a si
invarianta la scalare (omotetie). Dac a este parametrul nenul de scalare, atunci:
1

(AB) = A
1

B si
1

(A B) = A 
1

B (6.13)
ntr-adev ar,
1

(AB) =
1

(A+B
S
) =
1

{x|x = ab, 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

B)
C
= A 
1

B
Relatiile de invariant a la scalare arm a c a rezultatul unei transform ari morfologice apli-
cate unei versiuni scalate a formei A este identic cu aceeasi scalare aplicat a rezultatului
transform arii morfologice a formei A prin acelasi element structurant scalat invers.
Propriet atile de monotonie a unei transform ari nu pot neglijate la descrierea acesteia.
Att dilatarea ct si erodarea sunt cresc atoare fat a de multimea 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 fat a de elementul structurant folosit este diferit a: dilatarea este cresc atoare,
iar erodarea este descresc atoare: dac a B
1
B
2
, atunci:
AB
1
AB
2
si A B2 AB1 (6.15)
Aceste propriet ati subliniaz a corectitudinea interpret arii dilat arii ca o ad augare, ca o
ngrosare, iar a erod arii ca o subtiere; grosimea stratului ad augat sau ndep artat este
78
dat a de elementul structurant. Deci cu ct elementul structurant este mai mare, cu att
corpul se va m ari mai mult n urma dilat arii sau se va micsora mai mult n urma erod arii.
n general, dilatarea este extensiv a, adic a:
A AB. (6.16)
O conditie sucient a pentru ca aceast a proprietate s a e adev arat a este ca elementul
structurant s a contin a originea, {0
n
} B. Atunci
A B =
_
bB
S
A
b
= A (
_
bB
S
{0n}
A
b
) A (6.17)
Conditia ca elementul structurant s a contin a originea nu este ns a si o conditie necesar a
(a se vedea gura 6.7).
Fig. 6.7: Desi elementul structurant nu si contine originea, rezultatul dilat arii include
forma original a.
n general erodarea este antiextensiv a, adic a:
A B A (6.18)
O conditie sucient a pentru ca aceast a proprietate s a e adev arat a este ca elementul
structurant s a contin a originea, {0
n
} B. Atunci
A B =

bB
S
A
b
= A (

bB
S
{0
n
}
A
b
) A (6.19)
Conditia ca elementul structurant s a contin a originea nu este ns a si o conditie necesar a
(a se vedea gura 6.8).
79
Fig. 6.8: Desi elementul structurant nu si contine originea, rezultatul erod arii este inclus
n multimea initial 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(BC) = A+(BC)
S
= A+(B+C
S
)
S
= A+B
S
+C = (AB)+C = (AB)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
(BC))
C
= A(BC) (6.25)
Propriet atile de asociativitate ale dilat arii si erod arii pot interpretate si ca o de-
scompunere a elementului structurant; dac a un element structurant poate considerat
ca descompus prin dilatare n X = B C, atunci operatia morfologic a efectuat a prin
elementul structurant respectiv este echivalent a cu operatiile morfologice prin p artile
descompunerii elementului structurant, efectuate succesiv, adic a:
80
AX = (AB) C
S
si AX = (AB) C
Dilatarea si erodarea sunt transform ari (operatii) ce nu p astreaz a num arul de conexit ati
(num arul de obiecte). Rezultatul unei erod ari poate o multime vid a (dac a elementul
structurant nu poate inclus n form a pentru nici o pozitie) sau mai multe forme (com-
ponente conexe). Rezultatul dilat arii unei multimi formate din mai multe componente
conexe poate o singur a component a conex a; g aurile continute ntr-o form a pot
umplute.
Aceste propriet ati ale erod arii si dilat arii sunt fundamentul folosirii practice a acestora:
prin erodare se pot elimina dintr-o multime componentele conexe ce sunt mai mici dect
elementul structurant folosit (sau sunt mult diferite de acesta din punctul de vedere al
formei) - aplicatiile 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 operatii inversabile (nu admit o transformare invers a). Cu
att mai mult, dilatarea nu este inversa erod arii si erodarea nu este inversa dilat arii;
exemplele prezentate n gurile 6.9 si 6.10 ilustreaz a aceast a armatie.
(AB) B = A si (AB) B = A (6.26)
O alt a categorie de propriet ati se refer a la distributivitatea operatiilor morfologice fat a
de operatiile cu multimi. Pentru dilatare avem:
(A B) C = (AC) (B C) (6.27)
(AC)(BC) = (

cC
S
A
c
)(

cC
S
B
c
) = (

cC
S
A
c
B
c
) =

cC
S
(AB)
c
= (AB)C
A(B C) = (A B) (AC) (6.28)
(AB) (AC) = (A+B
S
) (A+C
S
) = (B
S
+A) (C
S
+A) = (

aA
B
S
a
) (

aA
C
S
a
) =
=

aA
(B
S
a
C
S
a
) =

aA
(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
multimi discrete.
Fig. 6.10: Dilatarea si erodarea nu sunt transform ari inverse una alteia; ilustrare pentru
multimi continue.
82
Aceast a din urm a relatie poate interpretat a si ca o descompunere prin reuniune a
elementului structurant X = B C, caz n care operatia morfologic a efectuat a prin
elementul structurant respectiv este echivalent a cu operatiile morfologice prin p artile
descompunerii elementului structurant, efectuate succesiv, adic a:
AX = (AB) (AC) (6.29)
Erodarea are propriet ati asem an atoare dilat arii fat a de intersectia multimilor:
A(B C) = (A B) (AC) (6.30)
(A B) (AC) = (

tB
S
A
t
) (

tC
S
A
t
) =

tB
S
C
S
A
t
=

t(BC)
S
A
t
= A(B C)
(A B) C = (AC) (B C)
(AC) (BC) = (

cC
S
A
c
) (

cC
S
B
c
) =

cC
S
(A
c
B
c
) =

cC
S
(AB)
c
= (AB) C
nrudite cu propriet atile de distributivitate deja enuntate, exist a o serie de inegalit ati
(relatii de incluziune) de aceeasi natur a:
A (B C) (AB) (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 atilor operatiilor morfologice de baz a (di-
latare, erodare) se reg aseste n majoritatea monograilor de morfologie matematic a, ca de
exemplu n [14], [7]. Desi, n esent a, propriet atile tratate sunt aceleasi, se impun cteva
preciz ari.
Notatiile introduse n acest text sunt diferite pentru operatiile Minkowski (adunare + si
sc adere ) si pentru operatiile morfologice (dilatare si erodare ). Leg atura dintre
aceste operatii este dat a de:
AB = A+B
S
si AB = AB
S
(6.31)
83
n majoritatea lucr arilor de morfologie ns a, nu se face nici o distinctie de notatie ntre
aceste operatii, ceea ce poate genera confuzii. Chiar n conditiile p astr arii acelorasi no-
tatii, exist a abord ari diferite privind denirea operatiilor 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 existenta propri-
et atilor de comutativitate si asociativitate a dilat arii (determinate direct de comutativi-
tatea si asociativitatea adun arii Minkowski). n plus, rezultatul dilat arii este o crestere
a formei pe directia si n sensul elementului structurant folosit.
Dezavantajul acestei abord ari este acela c a trebuie redenit conceptul de dualitate 6.8
(dac a se doreste p astrarea propriet atii 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 denirea dilat arii unei multimi ca adunarea Minkowski a multimii
cu elementul structurant simetrizat.
6.1.5 Aspecte de implementare
Din punct de vedere practic (al implement arii), elementul structurant poate interpretat
analog suportului ferestrei de ltrare folosit a pentru orice operatie bazat a pe principiul
ferestrei glisante: cu valorile selectate din imagine se face ceva. Va trebui ns a introdus
un mecanism de specicare a formei ferestrei de ltrare (elementului structurant) care
s a permit a modicarea relativ simpl a a acesteia (puterea morfologiei matematice const a
n alegerea a diferite tipuri de elemente structurante optime unei anumite prelucr ari).
Conventia 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 conditii, putem g asi
o echivalent a intuitiv a simpl a operatiilor morfologice de erodare si dilatare. Rezultatul
operatiei 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 operatia de erodare printr-o operatie de minim. Rezultatul operatiei
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 operatia de dilatare printr-o operatie de maxim. n cele ce urmeaz a
prezent am codul pentru operatia de erodare.
# define SIZE_MAX_ES=16;
1
Reprezentarea grac a a acestei imagini, realizat a cu tabela de nivele de gri normal a va asa 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, avnd cel mult
16 linii si 2 coloane. Fiecare linie a matricii corespunde unui punct din elementul struc-
turant, reprezentat prin coordonatele fat a de originea elementului structurant: es[k][1]
si es[k][2]. De exemplu, elementul structurant orizontal, centrat, avnd 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 operatie (transformare) morfologic a derivat a operatia morfologic a construit a
ca o combinatie de transform ari de baz a: erod ari, dilat ari si operatii 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 multimea original a ce a fost prelucrat a).
Aceast a observatie conduce la ideea utiliz arii unor iter ari ale operatiilor morfologice de
85
baz a, obtinnd astfel operatii mai complexe, ale c aror propriet ati le fac mai adecvate
utiliz arii n scopuri practice.
Deschiderea morfologic a a multimii A prin elementul structurant B se deneste ca ero-
darea multimii cu elementul structurant respectiv, urmat a de dilatarea cu elementul
structurant simetrizat:
AB = (AB) B
S
(6.33)
nchiderea morfologic a a multimii A prin elementul structurant B se deneste ca dilatarea
multimii 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,
dilatareasi erodarea). Aceast a proprietate permite interpretarea rezultatelor unei operatii
si deducerea propriet atilor acesteia pe baza caracteristicilor dualei sale.
(AB)
C
= A
C
B si (A B)
C
= A
C
B (6.35)
Demonstratia acestor propriet ati 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 multimea
ce a fost prelucrat a. Relatia dintre rezultatul prelucr arii si multimea initial a este dat a de
propriet atile 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 arma c a:
AB A A B (6.36)
86
Relatiile pot interpretate ca o modicare sigur a a multimii: prin deschidere se vor
elimina o parte dintre elementele multimii ce se prelucreaz a, iar prin nchidere se adaug a
elemente noi multimii.
Proprietatea de idempotent a a operatiilor introduce o limitare a modic arilor: multimea
obtinut a dup a o deschidere sau nchidere este invariant a la repetarea operatiei:
(A B) B = A B si (AB) B = AB (6.37)
Relatiile se demonstreaz a folosind propriet atile deja enuntate ale deschiderii si nchiderii
(extensivitate) si propriet atile de monotonie ale operatiilor morfologice de baz a.
nchiderea si deschiderea mostenesc o parte dintre propriet atile operatiilor morfologice de
baz a: invarianta la translatie si la scalare, monotonia fat a de multimea prelucrat a si fat a
de elementul structurant folosit. Din punctul de vedere al acestor propriet ati, 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 priveste propriet atile legate de comportarea fat a de translatie 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 translatia multimii prelucrate (rezultatul unei deschideri
sau nchideri a unei multimi este acelasi, indiferent de pozitia spatial a a multimii). n
cazul translat arii elementului structurant, rezultatul operatiei este acelasi, invariant la
translatie (ca rezultat a iter arii erod arii si dilat arii cu elemente structurante simetrice).
Pentru realizarea efectiv a a operatiilor de deschidere si nchidere este important a expri-
marea acestora ca operatii la nivelul elementelor multimilor ce se prelucreaz a (si nu ca
o iterare de operatii morfologice de baz a). Deschiderea mai poate exprimat a si ca
multimea elementelor structurante translatate ce sunt incluse n multimea de prelucrat:
AB =
_
BxA
B
x
(6.38)
nchiderea mai poate exprimat a si ca multimea punctelor pentru care toate elementele
structurante translatate ce le contin au puncte comune cu multimea de prelucrat:
87
A B =

BxA=
B
x
(6.39)
Pe baza acestor exprim ari se pot deduce si efectele practice ale deschiderii si nchiderii
asupra formelor (multimilor). Prin deschidere, formele mai mici ca elementul struc-
turant folosit vor eliminate, se l argesc golurile nglobate n obiecte, contururile sunt
netezite prin tesirea convexit atilor iar obiectele unite prin istmuri sunt separate. Da-
torit a propriet atii de dualitate, nchiderea va avea aceleasi efecte asupra fundalului (com-
plementarei obiectelor) pe care le are deschiderea asupra multimilor. nchiderea umple
golurile nglobate n obiecte (dac a aceste g auri sunt mai mici dect elementul structurant
folosit), netezeste contururile formelor prin umplerea concavit atilor si uneste obiectele
foarte apropiate (umple strmtorile).
Efectele operatiilor de deschidere si nchidere pot considerate ca analoage efectelor unei
ltr 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
ltru este denit ca o operatie cresc atoare si idempotent a. Trebuie f acut a deci distinctia
ntre ltrul algebric si ltrul obisnuit, n sensul teoriei prelucr arii semnalelor.
6.2.2 Filtrele alternate secvential
Filtrele morfologice sunt transformari neliniare ale semnalului, care modic a local ca-
racteristici geometrice (de form a). Teoria algebric a general a a ltrelor [14] deneste o
transformare ca ltru dac a aceasta este cresc atoare si idempotent a, ceea ce nseamn a
deci c a deschiderea si nchiderea sunt ltre, n timp ce erodarea si dilatarea nu sunt ltre.
Dac a o imagine (multime) este ltrat 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. Totusi, se pot construi ltre ce actioneaz a asupra
obiectelor si detaliilor n mod gradat, pe masura iter arii: aceste sunt ltrele alternate
secvential, 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 simplicare a metodelor si calculelor. P astrnd
88
interpretarea pixelilor ca ind puncte ale obiectului sau ale fundalului, punctele de con-
tur sunt acele puncte de obiect ce au cel putin 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 = AB A (6.43)
grad A = A B AB (6.44)
6.3 Extinderea morfologiei matematice la nivele de
gri
Pna n acest moment s-au prezentat operatiile morfologice clasice, adic a aplicate asupra
unor seturi (multimi). Acestea prezint a limitarea implicit a n aplicarea numai asupra unei
categorii particulare de imagini, si anume cele a c aror structur a poate usor si imediat
asociat a unor multimi, adic a imaginile binare. Pentru extinderea operatiilor morfologice
la functii se vor construi transform ari ce permit trecerea de la o reprezentare de tip functie
la o reprezentare de tip multime.
n cele ce urmeaz a ne vom referi la o submultime Aa spatiului discret n-dimensional, adic a
A Z
n
. Elementele multimii 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 multimii si
cea de-a n-a coordonat a, suprafa ta mul timii. Vom nota aceste p arti ale multimii A cu
A
(1,n1)
si respectiv A
(n,n)
. Putem avea n moduri diferite de a alege aceste partitii ale
coordonatelor (corespunznd modului n care se poate alege o coordonat a dintr-un total
de n).
Vrful (top) sau suprafata de vrf a unei multimi A este functia T(A) : A
(1,n1)
A
(n,n)
denit a de:
T(A)(z) = max{y | (z, y) A, z A
(1,n1)
} (6.45)
n acest mod se introduce o functie, pornind de la o multime; functia este cu valori
ntregi (functie scalar a) de argument vectorial n 1-dimensional. Pentru exemplicare
consider am cazul n care n = 2, deci ecare punct al multimii A este un vector bidimen-
sional, x = (i, j). Consider am coordonata i ca ind domeniul spatial si coordonata j ca
89
i O
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ + +
+ +
+
multimea A
vrful lui A
i
j
O
+
+
+
+ +
+ +
+
functia asociata multimii A
Fig. 6.11: Exemplicare pentru functia vrf a unei multimi.
ind suprafata multimii. Atunci, prin transformarea vrf, asociem multimii A o functie
denit a pe domeniul s au spatial si cu valori n suprafata sa.
Umbra unei functii oarecare f este denit a ca transformarea f : B Z
n1
C Z
dat a de:
U(f) = {(z, y) | z B, y Z, y f(z)} (6.46)
n acest mod, plecnd de la o functie de variabil a vectorial a n1-dimensional a, cu valori
scalare, se obtine o multime ale c arei elemente sunt vectori n-dimensionali. Multimea
obtinut a este semideschis a (nemarginit a).
i
j
O
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ + +
+
functia f
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+ +
+
+ +
umbra lui f
umbra este nemarginita
Fig. 6.12: Determinarea umbrei unei multimi.
n mod evident, vom avea urm atoarele relatii ntre cele dou a transform ari multime-functie
(vrful si umbra):
T(U(F)) = f si A U(T(A)) (6.47)
90
Operatiile morfologice pentru functii se denesc prin intermediul transform arii acestora
n multimi (reducnd astfel operatiile pe functii la operatii pe multimi, asa 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 multimi, g se numeste element structurant (functie struc-
turant a). Se numeste element structurant at, elementul structurant pentru care g(y) =
0, y Supp(g). Aceste elemente structurante de tip at sunt echivalente cu cele folosite
n morfologia clasic a pe multimi.
Forma echivalent a a denitiilor erod arii si dilat arii (folosite n mod efectiv n practic a)
este, pentru x Supp(f) :
f g = min
ySupp(g)
{f(x y) g(y)} , f g = max
ySupp(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 relatii de denitie devin identice cu
ltr arile de ordine de rang minim si respectiv maxim:
f g = min
ySupp(g)
{f(x y)} , f g = max
ySupp(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 ct mai mic de biti (mai mic dect num arul de biti al reprezent arii initiale).
Necesitatea reducerii cantit atii de informatie necesar a reprezent arii este evident a dac a
consider am cazul memor arii imaginilor radiograce (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 ux de 18.6 MB/ secund a) [9]. Procesul de
recompunere a imaginii initiale din reprezentarea restrns a se numeste decompresie sau
decodare; este evident c a prin decodare trebuie s a se obtin a o imagine ct 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 diferente fat 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 informatie necesar a reprezent arii imaginii initiale si cantitatea de informatie 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 informatie necesar a reprezent arii comprimate a ec arui
pixel al imaginii; rata de compresie se m asoar a n biti per pixel (bpp).
O alt a clasicare posibil a a tehnicilor de compresie se poate face dup a tipul imaginii
c areia i se aplic a: vom face astfel distinctia ntre compresia imaginilor binare si compresia
imaginilor cu nivele de gri. Se impune totusi o observatie: metodele de codare ce se vor
prezenta n cadrul tehnicilor speice imaginilor binare pot folosite pentru compresia
oric arei succesiuni de valori binare, indiferent de semnicatia acestora (ceea ce nseamn a
c a ar putea 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 e 0 (reprezentnd fundalul de
culoare alb a), e 1 (reprezentnd 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
Human) si metodele de codare on-line (pe ux de biti); 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 (Human)
Codarea entropic a (Human) este metoda optimal a de codare a unei surse de informatie.
Codarea sursei de informatie S ale c arei mesaje sunt {s
1
, s
2
, ..., s
N
}, de probabilit ati
{p(s
1
), p(s
2
), ..., p(s
N
)} prin alfabetul X cu D simboluri nseamn a a asocia ec arui mesaj
s
i
al sursei primare de informatie 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 doreste obtinerea 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
obtinut este:
l
min
=
H(S)
log D
(7.2)
Procedeul practic prin care se realizeaz a alocarea simbolurilor din alfabetul codului astfel
nct entropia acestuia s a e maximizat a (metoda Human) se bazeaz a pe reducerea
iterativ a a num arului de simboluri ale sursei de codat si construirea unei surse restrnse.
La ecare etap a cele D simboluri cele mai putin probabile ale sursei de informatie sunt
reunite ntr-un nou simbol; procedeul de restrngere continu a pn a cnd se obtine o
surs a redus a cu exact D simboluri. Apoi, pentru ecare reunire de simboluri, ecare
mesaj individual va primi codul cuvntului reunit ca prex, urmat de cte un simbol din
alfabetul codului. Vom considera urm atorul exemplu.
O sursa S genereaza 6 simboluri, de probabilita ti descrise de vectorul P = [0.3; 0.25; 0.2; 0.1;
0.1; 0.05]. Sursa este codata optimal, simbol cu simbol, cu cuvinte de cod generate cu
1
Deci conventia de reprezentare prin culori este modicat a fat a de conventia general a utilizat a 0 nu
mai este negru, ci alb.
93
simboluri dintr-un alfabet ternar. Sa se calculeze cuvintele de cod, arborele de codare si
ecien ta codarii.
Codarea optimal a a unei surse se realizeaz a conform algoritmului Human. Se stie c a
num arul de simboluri ale sursei ce se codeaz a trebuie s a ndeplineasc a o anume relatie
_
ND
D1
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 augnd sursei simboluri de probabilitate nul a; n acest caz, cu un
singur astfel de simbol ad augat obtinem 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 cuvnt de cod este:
l
min
=
H(S)
log D
=
2.366
log 3
= 1.493 bit
Codarea Human 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 restrns a restrns 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 Human
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 cte B biti succesivi (astfel, sursa primar a are 2
B
mesaje, ale c aror probabilit ati
de aparitie sunt specice imaginii considerate). Cu ct B este mai mare, cu att mai
mare va ecienta cod arii. Tabelul de codare (echivalenta ntre mesajele sursei primare
si sirurile de simboluri de cod) este specic ec arei imagini si trebuie s a nsoteasc a codul.
Codarea clasic a este binar a (D = 2, X = {0, 1}).
7.1.2 Codarea pe ux de biti
Metodele de codare pe ux de biti (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
att n formate de siere grace (TIFF) ct si n arhivatoare uzuale (ZIP) metoda Ziv-
Lempel. Aplicarea cod arii la imagini presupune n primul rnd 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 aceeasi valoare. Odat a ce o secvent a de simboluri
succesive de aceeasi valoare (run length) se ncheie, simbolul urm ator nu poate avea dect
95
valoarea complementar a celei initiale, prin alternant 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 e compus din codurile ce co-
respund lungimilor secventelor de valori identice succesive; aceasta nseamn a c a num arul
de biti al reprezent arii binare al cuvintelor de cod trebuie s a permit a reprezentarea
lungimii celei mai mari secvente. Cum determinarea de ecare dat a a acestei lungimi
maximale si varierea lungimii cuvntului de cod nu este o solutie corespunz atoare, se
prefer a xarea unei lungimi maximale admise a secventelor. Orice secvent a mai lung a
dect secventa maxim a este desp artit a prin intercalarea ctiv a a unor simboluri comple-
mentare. S a consider am o codare RLE cu lungimea cuvntului de cod de 2 biti; aceasta
nseamn a c a lungimea secventei maxime este 3 (codul 0 trebui rezervat pentru secventa
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 1, 3, 0, 3, 0, 1, 1, 1, 3, 0, 2 (unde ecare cifr a va reprezentat a pe 2 biti).
O codare mai bun a se obtine dac a lungimile secventelor de simboluri identice succesive
sunt codate (ntr-o faz a ulterioar a) entropic, cu un algoritm de tip Human. Standardul
CCITT de transmisie fax recomand a folosirea unor cod ari Human truncheate: astfel,
dac a o lungime de secvent a este mai mic a dect 64 este codat a direct, cuvntul de cod
respectiv numindu-se terminator; dac a o lungime de secvent a este cuprins a n gama
[64;1791] se codeaz a separat num arul de pixeli ce formeaz a un multiplu de 64 (formnd
un cod masc a, make-up code) si restul mp artirii lungimii secventei la 64, cu un cod
terminator. n plus, exist a un cod special de sfrsit de linie (EOL). Tabelele de codare
sunt standardizate (se pot g asi de exemplu n [9, pp. 544-545]). Pe lng a transmisia de
fax, codarea RLE mai este utilizat a n diferite formate de siere imagine (BMP, PCX,
TGA).
Portiunea 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. Pozitiile curente din
sirurile de intrare si iesire sunt determinate de variabilele pos_in si respectiv pos_out.
Implementarea presupune c a tipul de date al sirului in permite aplicarea operatorului de
negatie (! ).
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 artirea sirului binar
n grupe de cte D simboluri succesive. Principiul cod arii este simplu: un bloc nul
este nlocuit cu un singur simbol de 0, un bloc nenul este prexat 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 artit 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), transformndu-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 contine n
0
grupe nule, n urma compresiei
mai r amn (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 proportia de grupe nule din sir trebuie s a e mai mare dect inversul num arului de
simboluri dintr-o grup a.
Pentru o larg a categorie de imagini, lungimea blocului de codare D = 10 poate folosit a
cu rezultate bune [9]. O mbun at atire a performantei se poate obtine dac a se introduce
o adaptare a cod arii, prin detectia 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 prex de valoare 1). O alt a variant a a metodei exploateaz a structura
bidimensional a a imaginii, codnd blocuri p atrate din imagine (deci imaginea nu mai este
vectorizat a).
Portiunea 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 iesire out. Vericarea dac a blocul curent este nul se face
prin sumarea valorilor acestuia. Pozitiile curente n sirul de intrare si sirul de iesire 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 Human), ci se bazeaz a pe tehnica dictionar 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) pozitiilor la care se g asesc respec-
tivele siruri de simboluri n dictionarul codului (tabela de codare). Tabela de codare
(dictionarul) 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
).
Dictionarul initial are dou a cuvinte: cuvntul 0, avnd indicele 0 si cuvntul 1, avnd
indicele 1. Din sirul de intrare (presupus binar) se extrage cte un bit si se veric a
dac a sirul de biti deja extras se reg aseste sau nu n dictionar. Dac a sirul se reg aseste
n dictionar, se mai adaug a un bit din sirul de intrare. Dac a sirul nu se reg aseste n
dictionar, atunci sirul este trecut n dictionar, n sirul codat se scrie codul (indicele)
prexului sirului nou ad augat (deci pozitia la care se g aseste n dictionar cuvntul 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 existenta unei tabele de codare implicite, cunoscute (ca de exemplu tabela de culoare cu nivele
de gri).
98
ad augnd ultimul bit al sirului de intrare se obtine un cuvnt nou) si ultimul bit din sir
devine primul bit al urm atorului sir de intrare. Procedeul continu a pn a cnd sirul de
intrare nu mai are simboluri necodate. Dac a, naintea termin arii simbolurilor din sirul
de codat, tabela de codare (cu num ar xat de intr ari) se umple, exist a dou a variante de
continuare: e restul sirului de intrare se codeaz a conform tabelei de codare existente prin
c autarea celor mai lungi cuvinte de cod, e tabela de codare este golit a si se continu a
cu procedeul initial.
S a consider am sirul de intrare 1, 0, 0, 0, 0, 1, 0, 1, 1, 1; dictionarul cuvintelor de cod
contine cuvntul 0 (cu indice 0) si cuvntul 1 cu indice 1. Simbolul curent este 1 (pe
prima pozitie a sirului de intrare) si formeaz a sirul de biti extras; acest sir se reg aseste n
dictionar (cu indicele 1) si atunci se mai extrage un bit din sir; sirul de biti extrasi devine
10. Cuvntul 10 nu exist a n dictionar, si atunci: n sirul de iesire se scrie indicele celui
mai lung cuvnt din dictionar la care ad augnd un bit obtinem noul cuvnt (noul cuvnt
este 10, cuvntul prex este 1, iar indicele scris la iesire este 1), n dictionar se adaug a
cuvntul 10 (care va avea indicele 2), iar noua pozitie curent a din sirul de intrare este
ultimul bit al sirului deja extras, deci pozitia 2, bitul 0. Simbolul curent este 0; acest sir
se reg aseste n dictionar (cu indicele 0) si atunci se mai extrage un bit din sir; sirul de biti
extrasi devine 00. Cuvntul 00 nu exist a n dictionar, si atunci: n sirul de iesire se scrie
indicele prexului noului cuvnt (deci 0), n dictionar se adaug a cuvntul 00 (care va avea
indicele 2), iar noua pozitie curent a din sirul de intrare este ultimul bit al sirului deja
extras, deci pozitia 3, bitul 0. Simbolul curent este 0; acest sir se reg aseste n dictionar
(cu indicele 0) si atunci se mai extrage un bit din sir; sirul de biti extrasi devine 00. Sirul
00 se reg aseste n dictionar (indicele 3) si atunci se mai extrage un bit din sir; sirul de
biti extrasi devine 000. Cuvntul 000 nu exist a n dictionar, si atunci: n sirul de iesire se
scrie indicele prexului noului cuvnt (deci 3), n dictionar se adaug a cuvntul 000 (care
va avea indicele 4), iar noua pozitie curent a din sirul de intrare este ultimul bit al sirului
deja extras, deci pozitia 5, bitul 0. Procedeul continu a n mod analog.
Pentru decodare, ecare nou cuvnt de cod implic a scrierea unei noi intr ari n tabelul
de codare (dictionar) n care sirul de simboluri este format din prex (sirul de simboluri
care se g aseste n dictionar la intrarea precizat a de cuvntul de cod) si o terminatie de 1
bit, a c arei valoare rezult a la primirea cuvntului 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, incluznd
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 biti si de aplica metodele de codare pentru imagini binare: e pentru
99
ecare plan de bit al reprezent arii binare a nivelor de gri, e pentru succesiunea de biti
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 existenta unei importante corelatii spatiale ntre valorile
pixelilor unei imagini (deci valorile pixelilor vecini sunt asem an atoare). Aceast a corelatie
poate implica, de exemplu, c a valoarea unui pixel poate aproximat a cu o combinatie
a valorilor unora dintre vecinii s ai. Dac a se stabileste o ordine de parcurgere a pixelilor
ce formeaz a imaginea (deci dac a se stabileste o ordine de baleiere a imaginii) si pentru
aproximarea valorii pixelului curent se folosesc pixeli vecini spatial lui, parcursi anterior,
spunem c a prezicem valoarea pixelului curent. Predictia se realizeaz a printr-o functie,
care, cunoscut a la nivelul ntregii imagini permite determinarea unei variante aproxima-
tive a imaginii date cunoscnd doar un num ar mic de pixeli de start. Pentru a avea o
codare ct mai precis a, se folosesc si erorile dintre valorile prezise si cele reale; codarea
asociat a imaginii initiale va contine deci functia de predictie, valorile de start si erorile
de aproximare ale ec arui punct. Dac a predictorul este determinat n mod corect, atunci
eroarea de predictie e(n) este mic a si reprezentarea ei necesit a mult mai putini biti dect
reprezentarea valorii originale u(n). Schema de codare cu predictie este reprezentat a n
gura 7.1.
Fig. 7.1: Schema de codare cu predictie.
Ecuatiile ce descriu procesul sunt ecuatia erorii (7.5) (care exprim a eroarea de aproxi-
mare e(n) ca diferent a ntre valoarea corect a u(n) si valoarea prezis a u(n)) si ecuatia de
predictie (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 gura 7.2. Eroarea de predictie e
q
(n)
(cuantizat a) este adunat a la valoarea aproximativ a

u

(n), determinat a cu acelasi predictor


pred din valorile u

(n) deja calculate.


Fig. 7.2: Schema de decodare cu predictie.
Predictorii cei mai simpli sunt liniari si sunt invariati 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 aceeasi linie u(m, n) = u(m, n 1) sau de pe aceeasi
coloan a u(m, n) = u(m1, 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(m1, n) +u(m, n 1)) (7.7)
u(m, n) =
1
4
(u(m1, n) +u(m, n 1) +u(m1, n 1) +u(m1, n + 1)) (7.8)
Un caz particular de codare cu predictie este modulatia delta, caracterizat a de cuantizarea
erorii de predictie (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 atile de com-
pactare a energiei si decorelare a componentelor spectrale pe care le prezint a majoritatea
transform arilor integrale unitare (discutate n sectiunea 4.2). Atta vreme ct cea mai
mare parte a energiei este distribuit a n cteva componente spectrale (de joas a frecvent a),
toate celelalte pot 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 frecventei limit a de la care ncepe ignorarea valorilor si,
n ne, cuantizarea componentelor spectrale p astrate.
Transformarea optimal a trebuie s a decoreleze complet componentele spectrale (asigurnd
astfel si compactarea maxim a a energiei si cea mai bun a eroare de aproximare prin
truncherea frecventelor nalte). Decorelarea complet a este dependent a de propriet atile
statistice ale imaginii (matrice de covariatie), deci, teoretic, pentru ecare 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 normati ai matricii de covariatie 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
aproximatii. n conditiile n care majoritatea imaginilor naturale pot aproximate printr-
un model Markov puternic corelat (exprimnd dependenta puternic a a valorii pixelilor
de valorile vecinilor lor imediati), transformata cosinus s-a dovedit o foarte bun a alegere.
Cuantizarea componentelor spectrale poate integra si selectia componentelor cel mai
importante: componentele de frecvent a joas a sunt cuantizate o precizie mai mare, iar
componentele de frecvent a nalt a sunt cuantizate grosier (echivalent chiar cu elimina-
rea acestora). Num arul de nivele de cuantizare si distributia acestora (diferentele 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 (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 coecienti ai transform arii sunt copiati ntr-un vector prin baleierea pe di-
agonal a a blocului de 8 x 8 pixeli. Coecientii sunt cuantizati n conformitate cu un
num ar prestabilit de nivele de cuantizare (stabilit prin standard, si proportional cu fac-
torul de calitate dorit pentru imaginea ref acut a). Coecientii corespunznd frecventelor
nule (valorile medii ale blocurilor) sunt codate predictiv printr-o tehnic a de tip DPCM
(Dierential Pulse Code Modulation). Valorile celorlalti coecienti sunt codati entropic
(Human). Factorii de compresie ce rezult a sunt cuprinsi n mod tipic ntre 10 si 100.
Aspectul de compresie cu pierderi (diferentele fat a de imaginea original a) se manifest a
prin efectul de blocking: sublinierea frontierelor de separatie a blocurilor de baz a (efect
observabil si n gura 7.3).
7.2.3 Codarea cu arbori cuaternari
Un arbore cuaternar (numit n engleza quadtree) este un arbore n care ecare nod neter-
minal are exact patru descendenti.
Orice imagine p atrat a, de dimensiune putere a lui 2 (N = 2
K
) poate 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
ecare nivel al arborelui corespund unei mp artiri a unei zone p atrate din imagine n patru
sferturi. R ad acina arborelui este asociat a ntregii imagini (imaginii initiale), nodurile
de pe primul nivel al arborelui corespund celor patru sferturi ale imaginii, nodurile de
pe nivelul doi corespund sferturilor ec arui sfert anterior determinat al imaginii, si asa
mai departe. mp artirea imaginii poate continua pn a cnd nodurile nivelului curent al
arborelui corespund unor zone p atrate a c aror dimensiune este de un pixel. Adncimea
arborelui astfel obtinut este K, si ecare pixel al imagini va corespunde unui nod terminal
(frunz a) de pe ultimul nivel al arborelui. Fiecare nod terminal contine informatia de
valoare a pixelului la care este asociat.
Structura arborelui anterior poate simplicat a prin introducerea n etapa de constructie
a unui test de uniformitate a regiunilor reprezentate de ecare nod: dac a regiunea p atrat a
considerat a nu este uniform a, atunci aceasta va descompus a prin t aiere n patru p arti
egale si nodul corespunz ator va deveni neterminal (va c ap ata cei patru descendenti).
Dac a regiunea p atrat a considerat a este uniform a (deci este compus a din pixeli de acelasi
fel), nodul respectiv devine un nod frunz a (terminal) al arborelui (deci nu mai are de-
scendenti). Fiecare nod terminal contine informatia de valoare a zonei de imagine la care
este asociat (vezi gura 7.4). O zon a este considerat a uniform a dac a diferenta maxim a
de nivel de gri a pixelilor ce o formeaz a nu dep aseste un anumit prag impus; valoarea
zonei uniforme este media nivelelor de gri a pixelilor ce o compun.
Pentru refacerea imaginii intiale din reprezentarea arborescent a este sucient a alegerea
nodurilor terminale a c aror valoare corespunde pixelilor de obiect. Adncimea la care
este plasat a n arbore o frunz a contine informatia de dimensiune a zonei p atrate core-
spunz atoare din imagine (o frunz a situat a la adncimea h corespunde unei zone p atrate
de latur a 2
Kh
pixeli). Pozitia frunzei fat a de nodurile de pe acelasi nivel ce au acelasi
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 gura 7.5).
Codarea imaginii (sau a arborelui cuaternar asociat) se face prin memorarea pozitiei
n arbore a nodurilor terminale si a valorilor acestora. Pozitia n arbore a unui nod se
specic a prin descrierea c aii prin care se ajunge la acesta, pornind de la r ad acina arborelui;
aceast a cale va contine codurile de alocare a descendentilor ce corespund avansului n
adncime n arbore.
Fig. 7.4: Exemplu de reprezentare a unei imagini binare pe un arbore cuaternar complet
Fig. 7.5: Regula de alocare a descendentilor
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 ec arui bloc presupune testarea
valorilor tuturor pixelilor care compun blocul. Pe ansamblu, aceasta duce la parcurgerea
ec arui pixel din imagine de un num ar de ori egal cu adncimea n arborele cuaternar al
blocului p atrat din care face parte.
Pentru a nl atura acest incovenient este sucient ca pixelii imaginii s a nu mai e parcursi
n ordinea traditional a de baleiaj (pe linii, de la stnga 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 spatiului: un
parcurs ce trece o singur a dat a prin ecare pixel al imaginii, nu se autointersecteaz a si n
care oricare doi pixeli parcursi consecutiv sunt vecini spatial n imagine (ntr-o vecin atate
de tip V
4
sau V
8
). Curbele de umplere a spatiului sunt structuri fractale, denite prin
repetarea la diferite nivele ierarhice a unei aceleiasi structuri. Pentru baleiajul imaginilor
s-au retinut dou a astfel de curbe: curba Peano-Hilbert (numit a si curba Peano n U, dup a
forma celulei sale de baz a) (vezi gura 7.6) si curba Morton (sau curba Peano n Z) (vezi
gura 7.7).
Fig. 7.6: Ordinea de parcurgere a pixelilor pentru curba Peano n U, la dou a nivele de
rezolutie
Dispunnd 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 aceeasi valoare) sunt detectate
ntr-o singur a trecere si astfel arborele cuaternar poate creat direct prin nodurile sale
terminale. Pentru o implementare ecient 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 relatie rapid a de calcul, prin ntreteserea bitilor ce
dau coordonatele n imagine a punctului. Cuvntul binar ce exprim a indicele pe curb a
a oric arui punct este format din bitii din coordonata vertical a, ce vor ocupa pozitiile de
ordin par si din bitii din coordonata orizontal a ce vor ocupa pozitiile de ordin impar
(p astrndu-si aceeasi 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, putnd interpretat ca o extensie a conceptului de
cuantizare scalar a. Cuantizarea scalar a asociaz a unei multimi mari de valori numere
dintr-o multime mai mic a (n mod tipic acestea din urm a ind numere naturale); asocierea
include (chiar dac a nu explicit) operatii de tipul rotunjirii la cel mai apropiat ntreg.
Cuantizarea vectorial a aproximeaz a (sau rotunjeste) un grup de numere deodat a, nu
doar unul singur. Asadar, 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
rezolutie
de vectori de aproximare (inclusiv metoda prin care acestea pot 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. Operatia
de cuantizare presupune nlocuirea vectorilor de intrare x
i
cu vectori de aproximare
j
,
introducnd deci erori; pentru ca erorile (m asurate de eroarea p atratic a medie) s a e
ct mai mici, este necesar ca pentru ecare vector de intrare, aproximarea s a se fac a cu
vectorul de aproximare cel mai apropiat (n sensul distantei euclidiene). Aceasta este
regula de asociere. Dac a exist a n vectori de aproximare ce pot folositi, acestia se pot
grupa ntr-un tabel de codare (existent si la codare si la decodare), iar ecare vector de
aproximare
j
va reprezentat doar prin indicele j (deci o alt a aplicare a tehnicii LUT).
Dac a vectorii de intrare au p componente, codate ecare cu cte b biti, iar num arul de
vectori de aproximare poate reprezentat pe n
b
biti, 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 (rezultnd 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 deneste un grup, ciorchine, snop sau o clas a de unit ati, asem an a-
toare. Asem anarea unit atilor este determinat a n mod uzual prin asociere, similaritate
sau distant a ntre unit ati (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 biti.
106
multimi de unit ati (entit ati) i se asociaz a, element cu element, o informatie de aparte-
nent a la un anumit grup. Mai general, putem interpreta procesul de clustering ca un
proces de partitionare a unui set de unit ati ntr-un num ar de submultimi (numite clase
sau clustere), pe baza unui anumit criteriu. Indiferent de criteriul folosit, se doreste
obtinerea unor clustere distincte, omogene si bine separate. Num arul de clustere n care
se face mp artirea setului de unit ati nu este n mod obligatoriu cunoscut apriori.
Metodele de clustering iterativ distribuie obiectele (vectorii) ntr-un num ar predenit
de clase, repetnd testarea unor conditii pentru ecare obiect al multimii; n functie de
ndeplinirea sau nu a respectivelor conditii, partitia existent a la un moment dat este
declarat a corespunz atoare sau, n urma modic arii aloc arii unor unit ati, procedeul de ve-
ricare se reia. Se poate considera c a algoritmii iterativi fac mai multe treceri prin setul
de obiecte de partitionat, pn a la obtinerea stabiliz arii (convergentei) valorii criteriului
ce caracterizeaz a calitatea partitiei.
Calitatea partitiei (a clasic arii) este m asurat a de suma variantelor clusterelor (adic a
suma distantelor de la ecare vector la centrul clasei n care apartine, ceea ce poate
interpretat si ca o eroare de aproximare a vectorilor din clase prin centrul respectivei
clase). Deci functia 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
, coecientii de apartenenta ai vectorilor i la clasele j, deniti 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 functiei 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 apartin acestora:

j
=
N

i=1
u
ij
x
i
N

i=1
u
ij
(7.13)
Determinarea coecientilor de apartenent a u
ij
este ns a o problem a de optimizare com-
binatorial a, care nu poate rezolvat a analitic. Pentru rezolvarea acestei probleme sunt
107
necesare metode iterative. Metoda imediat a urm areste s a determine, pentru ecare vec-
tor al setului, dac a acesta poate mutat dintr-o clas a n alta, astfel ca suma variantelor
claselor s a scad a. Dup a ecare asemenea mutare, este necesar a actualizarea mediilor
claselor ntre care s-a f acut schimbul. Iteratiile se repet a pn a cnd nici un vector nu mai
poate mutat. Algoritmul poate descris n etapele urm atoare:
1. se alege o partitie aleatoare a setului de obiecte (vectori)
2. pentru ecare 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

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 putin 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 ecare schimbare ce implic a ecare vector al multimii considerate, ceea ce are ca
efect un volum mare de calcule. O simplicare a metodei provine din observatia intuitiv a
c a este normal ca un obiect s a e alocat (s a apartin a) clasei de care este cel mai apropiat
(n sensul distantei la media acesteia). Folosind acest a observatie, realocarea se poate
face pentru toate obiectele considerate f ar a a nevoie de recalcularea mediilor claselor
pentru ecare obiect; recalcularea mediilor se va face dup a ecare parcurgere complet a
a multimii de obiecte de partitionat. Acest algoritm este algoritmul Basic ISODATA
4

(cunoscut si sub numele de k-means - cele k medii). Algoritmul poate descris de


urm atoarele etape:
1. se alege o partitie aleatoare a setului de obiecte (vectori)
2. pentru ecare vector x
i
din set, se caluleaz a distantele sale la mediile tuturor
claselor,
d
k
= x
i

2
(7.15)
3. n iteratia urm atoare, vectorul x
i
va mutat n clasa la care distanta 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 (fat a de iteratia anterioar a) nici un vector nu a fost mutat n alt a clas a (sau
media nici unei clase nu s-a modicat), algoritmul se ncheie; dac a nu, se reia
algoritmul de la pasul 2.
Pentru nici unul dintre algoritmii iterativi prezentati nu se poate preciza num arul de
parcurgeri ale setului de vectori (obiecte) de partitionat. Num arul de iteratii este puternic
dependent de alegerea partitiei initiale 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 ind
num arul mic (16) de vectori de cod folositi. 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 obtine 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 extrase din imagine obiecte distincte,
regiuni ce satisfac anumite criterii de uniformitate, sau alte elemente.
n [19] se propune o denitie matematizat a a procesului de segmentare, si anume seg-
mentarea unei imagini f este denit a ca partitionarea [complet a] a lui f (8.1) ntr-un
ansamblu de multimi disjuncte nevide si conexe (8.2), ce satisfac ecare un anumit cri-
teriu (8.3), criteriu ce nu mai este respectat pentru reuniunea oric aror dou a elemente
ale partitiei.
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 specice de segmentare (partitionare a imaginii) este legat a de mai
multe aspecte caracteristice imaginii de analizat si cerintelor utilizatorului. Dup a natura
si continutul imaginii, tehnicile de segmentare trebuie s a tin a cont de prezenta n imagine
a diverse categorii de artefacte:
reexii, iluminare neomogen a
zgomot suprapus infomatiei 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 ati de tip discontinuitate (frontiere, segmente de
dreapt a, unghiuri) pentru tehnicile orientate pe contur. n cadrul segment arii orientate
pe regiuni se disting cteva categorii principale de tehnici:
etichetarea imaginilor binare
segmentarea pe histogram a
cresterea 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 semnicative.
8.1 Segmentarea orientat a pe regiuni
8.1.1 Segmentarea bazat a pe histogram a
n general, operatia de segmentare orientat a pe regiuni urm areste extragerea din imagine a
zonelor (regiunilor) ocupate de diferitele obiecte prezente n scen a. Un obiect se deneste
ca o entitate caracterizat a de un set de parametri ale c aror valori nu se modic a n
111
diferitele puncte ce apartin entit atii considerate. Mai simplu, putem spune c a obiectul
are proprietatea de uniformitate a parametrilor de denitie.
Unul dintre cei mai simpli parametri de denitie este nivelul de gri al punctului. Nivelul
de gri corespunde n scen a unei propriet ati zice [9] (reectant a, transmitivitate, valoare
tristimulus, etc.) ce este preluat de senzorul de imagine si asociat luminantei imaginii. n
acest caz, histograma imaginii (functia de densitate de probabilitate a variabilei aleatoare
discrete ale c arei realiz ari sunt nivelele de gri din imagine) reect a distributia n scen a
a propriet atii zice nregistrate. Pentru o imagine f de M N pixeli si L nivele de gri,
histograma este denit a (8.4) ca probabilitatea de aparitie n imagine a diferitelor nivele
de gri posibile.
h(i) =
1
MN
M1

m=0
N1

n=0
(i f(m, n)) , i = 0, 1, ...L 1 (8.4)
Dac a nivelul de gri (respectiv proprietatea zic a pe care acesta o reprezint a) caracteri-
zeaz a n mod sucient 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 obtinute prin scanarea documentelor
scrise si a tip ariturilor sau imaginile n infrarosu (temperatura punctelor este asociat a
nivelelor de gri astfel nct mai erbinte nsemn a mai alb). Pentru toate aceste tipuri de
imagini histograma este de tipul celei prezentate n gura 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 identicarea obiectelor din imagine, respectiv
caractere scrise / pagini albe si obiecte erbinti / 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 initial a f de nivele de gri se construieste o imagine
de etichete (imagine etichetat a) g, conform transform arii descrise de (8.5) (vezi gura
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 descris a de dou a etichete: E
0
pentru punctele al c aror nivel de
gri este mai mic dect pragul T si E
1
pentru punctele al c aror nivel de gri este mai mare
dect pragul T. Etichetele E
0
si E
1
pot valori numerice (0 si 1, sau 0 si 255) sau pot
siruri de simboluri sau alti identicatori.
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 modicare
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) semnic a determinarea
unor nivele de gri ce separ a modurile histogramei. Tuturor punctelor din imagine al c aror
nivel de gri corespunde unui acelasi mod, li se asociaz a o aceeasi etichet a (num ar, sir de
simboluri), rezultnd o imagine etichetat a, ce pune n evident a diferitele obiecte ale scenei
initiale.
1
Exist a ns a si o variant a de binarizare cu dou a praguri (transformare punctual a numit a decupare -
slicing), (gura 8.2) denit a de ecuatia 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 existentei 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 inspectia histogramei, n minimele locale ale acesteia. Acest tip
de segmentare multinivel este mai putin ecient dect binarizarea, din cauza dicult atii
de stabilire a pragurilor care s a izoleze ecient intervalele de interes din histogram a, mai
ales atunci cnd num arul modurilor este mare. Trebuie de asemenea remarcat faptul c a
este necesar a cunoasterea 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 obtinut a nu este corect a (exist a regiuni prost etichetate); ca o regul a gen-
eral a de mbun at atire a performantelor, se recomand a aplicarea, naintea segment arii, a
unor operatii de ltrare (eliminare a zgomotului), contrastare, mbun at atire, netezire a
histogramei - numite preproces ari.
n general, se admite clasicarea 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 functie de nivelul de gri din ecare 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 numeste 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 numeste local a dac a pragurile depind de nivelul de gri si de anumite
atribute locale calculate pentru vecin at ati ale ec arui punct:
T
k
= T
k
(f(m, n), p(m, n)) (8.9)
Segmentarea se numeste dinamic a dac a pragurile depind de pozitionarea 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
functii de densitate de probabilitate de tip normal (Gaussian). Modelarea modurilor
histogramei imaginilor prin distributii normale este o presupunere ce se ntlneste n
multe tehnici de prelucrare si analiz a si pare a justicat a de considerarea imaginii ca
provenind dintr-o imagine ideal a, n care ecare 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
variantele acestor moduri sunt determinate de zgomotul suprapus imaginii (care nu este
obligatoriu s a afecteze n acelasi 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 urmnd a determinat n mod automat. Ideea de
plecare a metodei este de a determina parametrii caracteristici ai unei distributii normale.
Pentru o distributie normal a
N(
k
,
k
)(x) =
1

2
e

(x
k
)
2
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 distributiei normale
este o dreapt a de pant a negativ a, din ai c arei parametri se pot deduce media si varianta
distributiei. Parametrii statistici ai distributiei sunt dati de ecuatiile (8.11).

k
=
_
1
|m
k
|
, si
k
=
n
k
|m
k
|
(8.11)
Aceast a observatie poate aplicat a si pentru o mixtur a de distributii normale. S a con-
sider am c a histograma h a imaginii este compus a prin superpozitia 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-
tributiei 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 functia este liniar a si descresc atoare, ce corespund
modurilor.
116
Asadar, pentru aplicarea metodei la segmentarea pe histogram a a imaginilor, se va studia
comportamentul derivatei logaritmului histogramei, adic a a functiei z(a):
z(a) = ln
h(a)
h(a 1)
, a = 1, L 1 (8.12)
Pentru functia astfel construit a, se determin a intervalele pe care acesta este descresc atoare
(vezi gura 8.4); limitele superioare ale acestor intervale sunt pragurile T
k
de segmentare
pe histogram a. Suplimentar, pe ecare dintre aceste intervale se poate face o aproximare
liniar a a punctelor si pe baza parametrilor dedusi 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 identica un num ar mai mare de praguri dect este necesar,
producnd 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. Informatiile 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 ecare tip de obiecte, P
i
si distributia nivelelor de gri ce caracterizeaz a ecare tip
de obiect, p
i
(x). Atunci histograma imaginii va determinat a de mixtura distributiilor
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 distributiile celor dou a tipuri de obiecte din imagine
(n mod tipic, obiecte utile si fundal). Criteriul ce se urm areste optimizat este eroarea
de segmentare (clasicare) a punctelor din imagine, adic a este dat de num arul de pixeli
ce apartin primului tip de obiect, dar au nivelul de gri mai mare ca pragul T (ind deci
alocati gresit celui de-al doilea tip de obiect) si num arul de pixeli ce apartin celui de-al
doilea tip de obiect, dar au nivelul de gri mai mic dect pragul de segmentare T (ind
deci alocati gresit primului tip de obiect). Asadar, eroarea de segmentare va 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 ecuatiei (8.15), n necunoscuta T.
E(T)
T
= 0 (8.15)
Derivnd (8.14) se obtine forma echivalent a a ecuatiei (8.15):
P
1
p
1
(T) = P
2
p
2
(T) (8.16)
Dup a cum am mentionat si n sectiunea dedicat a tehnicilor de segmentare ce nu folosesc
informatii apriori despre imagine (metoda Bhattacharyya), presupunerea c a distributia
nivelelor de gri a diferitelor tipuri de obiecte este de tip normal (Gaussian) este relativ
des ntlnit a. n aceste conditii, distributiile p
1
(x) si p
2
(x) sunt distributii normale,
N
1
(
1
,
1
)(x) si N
2
(
2
,
2
)(x), iar ecuatia (8.16) devine:
P
1
1

2
e

(T
1
)
2
2
2
1
= P
2
1

2
e

(T
2
)
2
2
2
2
Prin logaritmare, se obtine urmatoarea ecuatie de gradul 2 n necunoscuta T:
T
2
_
1

2
1

1

2
2
_
2T
_

2
1


2

2
2
_
+
_

2
1

2
1


2
2

2
2
_
2 ln
P
1
P
2

1
= 0
Una dintre simplic 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, avnd varianta
2
. n aceste conditii, ecuatia
de gradul 2 devine o ecuatie liniar a, a carei solutie este:
T =

1
+
2
2


2

2
ln
P
1
P
2
Metoda se poate extinde si pentru imagini ce contin mai mult de dou a tipuri de obiecte;
n acest caz este ns a necesar a presupunerea suplimentar a de localizare a modurilor, astfel
nct s a se poat a considera, ca si n cazul metodei Bhattacharyya, c a inuenta ec arui
mod este limitat a la intervale nesuprapuse de nivele de gri.
118
8.1.2 Cresterea si fuziunea regiunilor
Pentru aplicarea cu succes a tehnicilor de segmentare pe histogram a prezentate anterior
trebuiesc ndeplinite neap arat cteva conditii (deja enuntate). Aplicarea tehnicilor de
segmentare pe histogram a este conditionat a n primul rnd de reprezentarea diferitelor
clase de obiecte din imagine pe intervale de nivele de gri diferite care nu se suprapun (sau
se suprapun partial pe portiuni foarte mici); apoi este necesar a cunoasterea num arului
de tipuri de obiecte diferite. n ne, se presupune c a valorile prag corespunz atoare se pot
determina cu o precizie corespunz atoare.
Chiar n cazurile n care toate aceste conditii enuntate sunt ndeplinite, nu se poate
garanta conditia de conexitate a regiunilor obtinute n urma segment arii (8.2). Acest lucru
este evident, att timp ct dou a obiecte de acelasi tip, neconexe, primesc prin segmentarea
pe histogram a o aceeasi etichet a, si formeaz a n imaginea de etichete o regiune neconex a.
O metod a care respect a toate conditiile impuse de denitia metematic a a segment arii, si
anume (8.1), (8.2) si (8.3), este cresterea regiunilor.
Cresterea regiunilor
Principiul pe care se bazeaz a cresterea regiunilor este simplu: se aleg n imagine puncte
reprezentative pentru ecare obiect individual si categorie de obiecte, pe baza c arora
are loc un proces de aglomerare a pixelilor vecini acestora, ce au aceleasi propriet ati
(n particular acelasi nivel de gri). n urma acestui proces de aglomerare (ad augare de
puncte) se obtin zone (regiuni) de pixeli cu aceleasi caracteristici, deci obiecte individuale.
Procesul se opreste n momentul n care ecare punct al imaginii a fost alocat unei regiuni.
Evident, metoda astfel descris a pe scurt, are dou a etape esentiale: alegerea punctelor de
start (puncte initiale), numite germeni sau seminte, si cresterea propriu-zis a a regiunilor
[19], [2].
Num arul nal de regiuni rezultate este egal cu num arul de germeni alesi initial pentru
crestere. n principiu, este de dorit ca ecare obiect individual aat n imagine s a e
marcat de cte un germene. Dac a n interiorul unui aceluiasi obiect se g asesc mai multi
germeni, pentru ecare dintre ei va crescut a o regiune; acesta face ca obiectul initial
s a e mp artit articial prin segmentare n mai multe regiuni. Partial, acest neajuns se
poate corecta printr-o etap a ce urmeaz a cresterii regiunilor, si anume fuziunea regiunilor
adiacente ce au propriet ati asem an atoare. Dac a n interiorul unui obiect nu este ales nici
un germene, obiectul respectiv va nglobat de regiunile ce cresc pornind de la germeni
din vecin atatea sa spatial a; astfel, respectivul obiect nu apare ca o regiune distinct a si
este pierdut, rezultnd o eroare grav a de segmentare.
Pentru a preveni efectul unor neuniformit ati de iluminare pe suprafata imaginii, acesta
este mp artit a n ferestre nesuprapuse; n ecare astfel de fereastr a se alege un num ar
de germeni, al c aror plasament spatial este aleator (germenii se distribuie uniform pe
119
suprafata imaginii). Germenii se aleg astfel nct nivelul lor de gri s a e reprezentativ
pentru obiectele prezente local (deci nivelul de gri al germenilor trebuie s a corespund a
unor maxime ale histogramei locale). n plus, trebuie vericat ca plasamentul spatial
al germenilor s a se fac a n interiorul regiunilor si nu pe frontiera acestora. Vericarea
se poate face simplu pe baza calculului unui operator derivativ local, ca de exemplu
laplacianul (37); dac a valoarea acestuia nu dep aseste un anumit procent prestabilit (10%
- 20%) din diferenta maxim a de nivele de gri a ferestrei, punctul ales este considerat ca
plasat corect.
O vericare suplimentar a ncearc a s a previn a o eventual a suprasegmentare
2
(mp artirea
articial a a unui acelasi obiect n mai multe regiuni), eliminnd germenii plasati n inte-
riorul aceluiasi obiect. Vericarea se face pe baza calculului variatiei nivelelor de gri de-a
lungul drumurilor
3
arbitrare ce unesc perechi de germeni. Dac a exist a o cale ce uneste
doi germeni de-a lungul c areia nivelul de gri nu variaz a cu mai mult de 20% - 30% din
diferenta maxim a a nivelelor de gri din ferestr a, cei doi germeni sunt plasati n interi-
orul unei zone de nivele de gri uniforme, deci n interiorul unui acelasi obiect. n aceste
conditii 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 dect pragul ales, atunci se consider a c a cei doi germeni sunt plasati 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 veric a doar
c aile formate din segmente verticale si orizontale, si eventual, dreapta ce uneste cele dou a
puncte (dac a aceast a dreapt a poate reprezentat a de o secvent a de puncte conexe) (vezi
gura 8.5).
Valorile procentuale ale pragurilor de comparatie, precumsi num arul de germeni distincti
ce r amn dup a procesul de reducere, nu trebuie considerate ca xe; nu exist a valori stan-
dardizate si alegerea acestora se face pe baza conditiilor particulare (legate de continutul
imaginii) si a experientei utilizatorului.
Pornind de la germenii alesi, regiunile sunt obtinute printr-un proces de crestere aproape
simultan a, nceput de la acestia, pn a cnd toti pixelii imaginii sunt repartizati unei
regiuni. Cvasi-simultaneitatea cresterii poate realizat a cu un algoritm serial, prin alo-
carea pixelilor ce sunt adiacenti (vecini) zonelor deja segmentate. Acest a alocare trebuie
s a tin a seama de criteriul ca regiunile crescute s a e uniforme: nivelul de gri al pixelului
ce se adaug a nu trebuie s a difere cu mai mult de un prag prestabilit fat a de nivelul de gri
al germenului regiunii la care se aloc a. n acelasi timp, la o singur a trecere, num arul de
puncte ce se adaug a unei regiuni nu poate dep asi un num ar prestabilit (conditia ncearc a
2
n general, prin suprasegmentare se ntelege partitionarea imaginii ntr-un num ar de regiuni mai
mare dect num arul de obiecte. Exist a si notiunea reciproc a de subsegmentare: mp artirea 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 secvent a ordonat a de puncte ale imaginii, vecine dou a
cte 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 uniti de o cale cu segmente
paralele cu orizontala si verticala de intensitate constant a, deci sunt redundanti; germenii
3 si 4 sunt uniti de o cale dreapt a de aceesi intensitate, deci sunt redundanti; orice cale
ce uneste germenii 1 si 3 are o diferent a mare de intensitate.
s a asigure cresterea 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),
diferenta maxim admis a pentru nivelul de gri poate crescut a n etape, pn a la epuizarea
pixelilor imaginii.
Avantajele pe care le are o asemenea tehnic a de crestere a regiunilor sunt acelea c a nu
mai este necesar a nici o informatie privind continutul imaginii, regiunile crescute sunt
conexe si nu exist a puncte neetichetate (nealocate vreunei regiuni) si pozitia frontierelor
dintre diferitele regiuni corespunde pozitiei frontierelor percepute subiectiv n imagine.
Fuziunea regiunilor
O extindere a principiului utilizat n cresterea regiunilor, si anume ad augarea la o regiune
a unor entit ati (pixeli n acest caz) a c aror propriet ati sunt similare cu cele ale unui obiec-
tului de baz a (regiunea), se a a la baza tehnicilor de fuziune a regiunilor [9]. Fuziunea
regiunilor const a n reunirea iterativ a a regiunilor adiacente (ncepnd de la nivelul unor
entit ati atomice ale imaginii - deci pixelii) pn a cnd regiunile adiacente devin sucient
de diferite. Procesul de fuziune a regiunilor poate aplicat si n urma unei cresteri a
regiunilor, pentru a nl atura efectele unei eventuale suprasegment ari. Exist a mai multe
criterii de fuziune a regiunilor adiacente, a c aror actiune de vericare a deosebirii ntre
regiuni se face e prin inspectia frontierei comune, e 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 m asurat a e ca perimetru, e 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 diferenta nivelelor de gri ntre
vecinii din regiunile adiacente este foarte mic a (mai mic a dect un anumit prag xat). Un
punct tare este acel punct pentru care diferenta de nivele de gri ntre vecinii din regiunile
adiacente este foarte mare (mai mare ca un anumit prag xat). Cu aceste notatii, 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 denirea a dou a
componente: o modalitate de caracterizare a propriet atilor regiunilor si o modalitate de
a deni 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 varianta acestuia.
n [9] se propun patru functii de m asur a a asem an arii ntre perechi de vectori; pentru doi
vectori x
i
si x
j
, avnd aceeasi dimensiune, acestea se denesc 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

(corelatia normalizat a dintre vectori)


F
4
(x
i
, x
j
) = (x
i
x
j
) A (x
i
x
j
)
T
(distanta generalizat a dintre vectori, unde A este o matrice pozitiv denit a)
Pentru primele trei functii, 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 functia de
similaritate bazat a pe distanta generalizat a, o valoare mai mic a corepunde unei asem an ari
mai puternice ntre vectori. Prin particularizarea matricii Ase pot obtine diferite distante,
ca distanta Euclidian a obisnuit a (A ind matricea unitate, A = I), distante Euclidiene
ponderate (dac a A este o matrice diagonal a), sau distanta Mahalanobis (dac a A este o
matrice de covariatie a componentelor).
122
8.2 Segmentarea orientat a pe contururi
ntr-o imagine, variatiile de valoare ale pixelilor reprezint a schimb ari ale propriet atilor
zice sau geometrice ale scenei sau ale obiectului observat. Aceste schimb ari pot co-
respunde zic la variatiile ilumin arii, schimb arile de orientare sau de distant a fat a de
observator, schimb ari de reectant a ale suprafetelor, variatii de absorbtie a radiatiei.
ntr-un num ar mare de cazuri, aceste variatii de intensitate sunt informatii importante
pentru operatiile ce urmeaz a segment arii, informatii ce corespund frontierelor regiunilor
determinate de obiectele scenei.
8.2.1 Metode derivative
Principiul acestei metode const a n denirea punctelor de contur ca ind acei pixeli ai
imaginii n care apar schimb ari importante (abrupte) ale nivelului de gri. Deci, m asurarea
acestei variatii se va face prin operatori derivativi de tip gradient.
Pentru o imagine cu suport spatial continuu, pe directia unei muchii, derivata va
maxim a. Derivata imaginii pe directia r, ce face unghiul cu orizontala, este dat a
de combinatia liniar a a derivatelor partiale pe directiile 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 ecuatia

_
f
r
_
= f
x
sin +f
y
cos = 0
ce are solutia evident a:

0
= arctan
_
f
y
f
x
_
(8.18)
Pe aceast a directie, 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 ecare punct al imaginii, a derivatelor partiale f
x
si f
y
, calcularea modulului
gradientului maxim (8.19) si a directiei acestuia (8.18). Valoarea gradientului maxim din
ecare punct al imaginii este apoi comparat a cu un prag xat: dac a pragul este dep asit
123
(deci gradientul maxim n pixelul respectiv este sucient de important) atunci pixelul
testat este pixel de contur.
Realizarea derivatelor partiale dup a directiile orizontal a si vertical a implic a translatia 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 partiale 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(m1, n) f(m, n), f
y
= f(m, n 1) f(m, n) (8.21)
f
x
= f(m1, 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 combinatii liniare ale valorilor unor
pixeli din imagine, situati n vecin atatea pixelului curent din pozitia (m, n). Deci toate
aceste operatii se pot realiza prin ltr ari liniare cu m asti 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 gura 8.6.
Harta de orient ari este o imagine care contine, pentru ecare 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 directional a de contururi). Harta
de contururi este o imagine binar a n care punctele marcate (puncte-obiect) corespund
pozitiei punctelor de contur (puncte cu gradient de modul mare). O simplicare 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 astilor de derivare pe vertical a si orizontal a prezentate are ns a serioase nea-
junsuri: dimensiunea lor mic a face ca rezultatele s a e extrem de sensibile n prezenta
zgomotului. n aceste conditii a ap arut natural a ideea de a combina ltrarea de derivare
cu o ltrare de netezire, care s a mai reduc a efectele zgomotului. Considernd zgomotul
de tip gaussian, aditiv, ltrarea de netezire are ca efect secundar micsorarea contrastului
frontierelor obiectelor din imagine (efectul de ncetosare, sau blur). Pentru ca n aceste
conditii detectia contururilor s a nu e afectat a, trebuie ca operatia de mediere prin care se
realizeaz a netezirea s a se fac a pe o directie perpendicular a directiei contururilor c autate
[3]. Atunci derivarea pe vertical a se combin a cu o operatie de netezire cu masc a orizon-
tal a
_
1/3
1/3
1/3
_
si derivarea pe orizontal a se combin a cu o operatie 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 ltrare rezultant a va
_
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 important 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 astile:
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 obtine 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 astii de ltare este
neesential a, ntruct conditia de normare ce trebuie ndeplinit a este cea pentru ltre de
contrastare (derivare) (3.9): suma coecientilor m astii s a e nul a. Figura 8.7 prezint a
125
harta de intensitate a tranzitiilor (modulul maxim al gradientului,
_
f
r
_
max
) iar gura 8.8
prezint a harta binar a de contururi extras a prin compararea h artii de intensit atii cu un
prag xat (binarizarea h artii de intensitate).
Fig. 8.7: Harta de intensitate a contururilor (modulul maxim al gradientului) calculat
cu m asti Prewitt pentru imaginea lena.
Fig. 8.8: Harta binar a de contururi extras a din harta de intensit ati precedent a.
Informatia 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 directiei conturului n punctul
curent, calculat cu un efort semnicativ de calcul (mp artire si calcul de arctangent a).
n practic a, aceast a informatie este prea exact a: pe grila p atrat a de esantionare nu se
pot reprezenta cu usurint a drepte continue dup a orice directie
5
; cteva directii sunt fa-
5
Problema tras arii gurilor geometrice oarecari (inclusiv a dreptelor) este rezolvat a de graca pe
126
vorizate si usor de utilizat (vertical, orizontal, cele dou a diagonale). n acest caz se poate
m asura n ecare modulul gradientului dup a aceste cteva directii importante, si apoi se
poate alege directia dup a care acest modul este maxim. Acesta este principul operatorilor
compas.
Un operator compas este denit de un num ar de m asti de derivare (corespunz atoare
n continuare unor ltr ari liniare) pe directiile principale (vertical, orizontal, cele dou a
diagonale), n cele dou a sensuri. Compasul clasic are D = 8 m asti de ltrare (identice
dou a cte dou a, mai putin semnul), ecare dintre ele realiznd o derivare dup a o directie
multiplu de 45

. Schema bloc a unui operator compas este prezentat a n gura 8.9; se


remarc a faptul c a, odat a determinat a valoarea maxim a a modulului gradientului n pixelul
curent (m, n), obtinerea h artii 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 asti de derivare directional a sunt m astile urm atoare (indexate dup a
directia geograc 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 asti se poate genera pornind de la una dintre m astile Prewitt,
prin translatii circulare cu o pozitie a frontierei m astii n jurul centrului ei; n mod analog
se pot obtine operatori compas bazati 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 translatii ale frontierei m astii; 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 tranzitiei) n conditiile unei pante putin abrupte a aces-
tuia (tranzitii slabe, graduale). Derivata a doua poate ns a folosit a pentru a determina
capetele tranzitiei (cele dou a extreme), sau pentru a marca centrul tranzitiei (trecerea sa
prin zero); gura 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 directii, combinate n laplacian:
f =

2
f
x
2
+

2
f
y
2
n cazul discret, m asti ce implementeaz a laplacianul sunt m astile W
5
W
7
, prezentate
la capitolul de mbun at atire a contrastului imaginilor (pag. 37). Precizia sporit a a
operatorilor laplacieni conduce ns a la o sensibilitate crescut a n prezenta zgomotelor (mai
mare dect a operatorilor de gradient). Mai mult, laplacianul nu mai contine informatie
relativ a la directia tranzitiei.
8.2.2 Alte metode
O clas a important a de operatii neliniare de extragere a contururilor sunt cele bazate
pe morfologia matematic a. n sectiunea 6.2.3 am prezentat operatori morfologici de
extragere a contururilor. Principiul acestora este de a m asura diferentele dintre valorile
extreme (minim si maxim) ale vecin at atii punctului curent; dac a diferenta dintre aceste
valori este sucient de mare nseamn a c a punctul curent este un punct de contur, andu-
se ntr-o zon a de tranzitie a valorilor pixelilor. Variante ale acestei tehnici de baz a se
pot obtine prin considerarea a mai multe elemente structurante, avnd diferite forme si
dimensiuni.
128
Fig. 8.10: Prol de tranzitie gradual a; maximul primei derivate nu poate marca cu
precizie centrul tranzitiei; derivata secund a trece prin zero la mijlocul conturului.
129
Capitolul 9
PARAMETRI DE FORM

A
Prin parametri de form a ntelegem n general orice scalar sau functie (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 diferente mari ntre parametrii de form a ce le sunt asociati. Parametrii
de form a compun un fel de s a de identitate a formei respective, pe baza c arei aceast a
form a poate recunoscut a n mod unic. n mod ideal, acesti parametri trebuie s a e
invarianti la translatie, rotatie si scalare. Tehnicile de recunoastere a formelor sau de
clasicare 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 functie de dou a variabile, cu suport compact
f(x, y) : K R; n general valorile acestei functii sunt binare (0 sau 1), descriind
deci o parte a unei imagini binare (zona din imagine n care se a a obiectul de interes).
Atunci functia poate v azut a ca o functie caracteristic a a formei, asem an atoare functiei
caracteristice a unei multimi.
n cele ce urmeaz a vom prezenta ctiva 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 combinatii de tip raport.
Raportul de compacitate (numit si factor de form a [19]) este raportul dintre p atratul
130
perimetrului si suprafata formei:
=
P
2
4S
(9.1)
Pentru o form a circular a raportul este unitar; cu ct num arul este mai apropiat de
aceast a valoare, cu att 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 aceeasi valoarea a
parametrului dat de (9.1).
Excentricitatea sau circularitatea formei (m asura n care forma dat a se deosebeste de
disc) poate denit 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 invarianti
Interpretnd functia caracteristic a a formei ca pe o functie de densitate de probabilitate
bidimensional a, putem deni 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 proiectia functiei f(x, y) pe poli-
noamele x
p
si y
q
ale bazei complete de polinoame. Teorema reprezent arii cu momente
arm a c a multimea innit a de momente m
pq
determin a n mod unic f(x, y) si reciproc.
n cazul imaginilor binare, coordonatele sunt discrete si functia este o functie 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 innit a de numere (asa cum cere teorema
reprezent arii cu momente) nu este posibil a, n practic a se folosesc serii de momente
truncheate pn a la un ordin maxim xat N (p + q N). Acestea ns a caracterizeaz a
o alt a functie, g(x, y), o aproximare a lui f(x, y). Aceast a aproximare este dat a de o
combinatie liniar a a polinoamelor bazei, ponderate cu scalarii necunoascuti 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). Rezolvnd sistemul de ecuatii cuplate ce
se formeaz a (a se vedea [9]), se pot obtine relatiile c autate; calculul trebuie ns a ref acut,
din cauza cupl arii ecuatiilor, ori de cte ori se doreste 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 (asa cum este familia de polinoame x
p
y
q
) pentru calculul momentelor;
problema a fost rezolvat a prin folosirea proiectiilor 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 invariant a c autate; de aceea au
fost introduse momente statistice invariante [19], [9].
Momentele statistice invariante la translatie sunt momentele statistice centrate:

pq
=

f(x,y)=0
(x x)
p
(y y)
q
(9.6)
Momentele statistice invariante la translatie si scalare sunt denite de:

pq
=

pq

00
, = 1 +
p +q
2
(9.7)
Invariantii la translatie, scalare si rotatie ai unei forme, obtinuti n conditiile folosirii unor
momente statistice de ordin cel mult 3 (N = 3), sunt n num ar de 7 si sunt exprimati 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

Initial (mijlocul anilor 60) acesti invarianti au fost folositi pentru recunoasterea carac-
terelor mari de tipar, cu rezultate modeste. Ecienta lor const a ns a n modul rapid de
calcul si posibilitatea de a le utiliza cu succes pentru recunoasterea formelor geometrice
convexe.
132
Folosind momentele invariante, se mai pot deduce alte atribute: excentricitatea suprafetei
(9.15), care m asoar a gradul de uniformitate al distributiei punctelor formei n jurul cen-
trului de greutate si orientarea suprafetei, caracterizat a de unghiul fat a de orizontal a
al axei fat a de care momentul inertie al formei este minim (9.16).
=

2

00
(9.15)
=
1
2
arctan
2
11

20

02
(9.16)
9.3 Semn atura formei
Semn atura unei forme este o functie scalar a de o variabil a, asociat a unei forma plane.
Semn atura este denit a de distanta de la un punct de referint a xat x (n general centrul
de greutate al formei) la ecare punct de pe conturul (frontiera) formei. Aceast a distant a
este exprimat a (sau m asurat a) n functie de unghiul la centru realizat de punctul curent
de pe contur cu axa orizontal a de referint a, d
x
() sau n functie de abscisa curbilinie
(lungimea conturului cuprins ntre punctul curent si punctul n care axa de referint a in-
tersecteaz a conturul), d
x
(). Semn atura formei este o reprezentare reversibil a (cunoscnd
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 functie de unghiul la centru; punctul de referint a este
centrul de greutate, axa de referint a este orizontala.
Este posibil ca, pentru formele concave, semn atura n functie de unghiul la centru s a nu
poat a calculat a, deoarce, pentru anumite unghiuri , intersectia dreptei de directie
cu conturul s a e format a din mai multe puncte. Aceast a problem a nu apare n cazul
semn aturii n functie de abscisa curbilinie. Ca o restrictie general a, n cazul folosirii
semn aturii bazate pe unghi, trebuie ca punctul de referint a x s a apartin a nucleului formei.
Nucleul formei K, Ker(K) este denit prin:
Ker(K) = {x|y K, [xy] K} (9.17)
133
Fig. 9.2: Semn atura unei forme poligonale n functie de abscisa curbilinie; punctul de
referint a este centrul de greutate, axa de referint a este orizontala.
unde [xy] semnic a segmentul de dreapt a denit de punctele x si y. n cazul formelor
concave, nucleul formei este o multime vid a.
Folosind semn atura formei, se pot deni parametri de tip geometric. Raportul de simetrie
este denit ca
Y (K) = sup
xK
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
distantelor d
x
() si d
x
( + ) implic a calcularea raportului de simetrie dup a punctele ce
apartin nucleului formei.
Raportul de circularitate este denit ca:
C(K) =
sup

(d
x
() +d
x
( + ))
inf

(d
x
() +d
x
( + ))
(9.19)
Functia h
K
() = d
x
() + d
x
( + ) se numeste suportul formei, si este diametrul formei
pe directia .
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 aplicatie clasic a de recunoastere
a conturului unor tipuri de avioane). O alt a posibil a aplicatie a semn aturii pleac a de la
observatia c a, pentru o form a poligonal a, n semn atur a, pozitia vrfurilor este marcat a
de puncte unghiulare (a se urm ari gurile 9.1 si 9.2). Atunci aceasta poate o metod a de
aproximare poligonal a a unei forme oarecari (g asirea vrfurilor unui poligon ce o aprox-
imeaz a ct mai bine).
134
9.4 Skeletoane morfologice si generalizate
Skeletonul este o reprezentare bidimensional a simplicat a, echivalent a, a unei forme. Pen-
tru o form a A oarecare se deneste discul maximal n A, de centru x si raz a r, B
x
(r) ca
ind 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 e 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 e identic cu acesta (9.21). O form a poate avea
mai multe discuri maximale.
Skeletonul unei forme este multimea centrelor discurilor maximale ale formei. Ca exem-
ple simple, skeletonul unui disc este centrul s au, skeletonul unui p atrat este reuniunea
diagonalelor sale (gura 9.3).
Fig. 9.3: Exemple de skeletoane ale unor forme continue simple.
9.4.1 Skeletonul morfologic
Calculul skeletonului unei forme reprezentate n spatiul discret se poate face prin formula
Lantuejoul [15]; skeletonul formei A, SK(A), este format din reuniunea unui num ar nit
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
informatia de apartenent a a ec arui punct la un anumit set skeleton.
Reconstructia formei din skeleton se face dup a formula
A =
N
max
_
n=0
S
n
(A) nB (9.24)
Se pot realiza si reconstructii partiale (aproxim ari ale multimii 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 reconstructie:

A
k
=
Nmax
_
n=k
S
n
(A) nB (9.25)
Skeletonul este invariant la translatie, nu este conex (chiar dac a forma A este conex a; a se
vedea gura 9.5), nu este comutativ cu operatia de reuniune a formelor (a se vedea gura
9.6). Transformarea skeleton este idempotent a (SK(SK(A)) = SK(A)) si antiextensiv a
(SK(A) A). Seturile skeleton sunt disjuncte dou a cte dou a (S
i
(A) S
j
(A) = , i =
j).
Folosirea skeletonului morfologic pentru recunoasterea fomelor este restrictionat a de pu-
ternica sa sensibilitate la zgomote (o mic a schimbare a formei duce la o modicare semni-
cativ a a skeletonului
1
), si de variatia la rotatia si scalarea obiectelor (pentru reprezent ari
n spatiul discret). n acelasi timp, folosirea elementului structurant de tip disc unitar
aduce o puternic a dependent a de metrica folosit a n denirea 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.
spatiu 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 cu greu interpretate ca discuri. Aceasta
a dus la folosirea unei clase de elemente structurante care s a nu provin a din notiunea de
metric a - elementele structurante generalizate.
9.4.2 Skeletonul generalizat
Fie {G
i
} un set de multimi, numit set generator. Elementele structurante generalizate
sunt denite recurent prin:
B
i
= B
i1
G
i
, i = 1, 2, ... (9.26)
B
0
= 0
n
n general se folosesc seturi generatoare avnd o anumit a periodicitate T (G
i+kT
=
G
i
, i, k Z). De exemplu, gura 9.7 prezint a constructia setului de elemente struc-
turante generalizate rezultat dintr-un set generator cu perioad a 1 (deci compus dintr-o
singur a multime), 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: Constructia unui set de elemente structurante generalizate.
distante (a se vedea si gura 9.8):
D(x) =
_
0, dac a x / A
n, dac a (B
n1
)
x
A si (B
n
)
x
A
(9.27)
Fig. 9.8: Harta de distante 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 multimea 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 distant a anterioar a, skeletonul generalizat obtinut este prezentat n
gura 9.8.
2
Se poate remarca similitudinea cu denitia skeletonului, n care s-au nlocuit notiunile: 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 esentiale legate de implement arile practice ale sistemelor de prelucrarea si anal-
iza imaginilor urm aresc dou a directii, 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 zic pentru unitatea central a de prelu-
crare un calculator obisnuit (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 aplicatie si programe de uz general.
Un program dependent de aplicatie realizeaz a doar algoritmii specici operatiei pe care o
execut a sau supravegheaz a. Interactiunea cu operatorul uman este minim a si calicarea
acestuia nu este necesar s a o dep aseasc a pe cea a unui tehnician [11]. Adeseori programul
trebuie s a e de timp real. Aceste variante de implementare sunt potrivite pentru procese
caracterizate de parametri stabili si care se desf asoar a n conditii ambiante (iluminare,
poluare vizibil a particule, fum) relativ constante si nu sunt portabile (ind n general
optimizate pentru o anumit a structur a hardware).
Programele de uz general permit efectuarea unui mare num ar de operatii de prelucrarea
si analiza imaginilor, cu numerosi parametri reglabili. Interactiunea cu operatorul uman
este mare si acesta trebuie s a aib a o calicare superioar a. Programele de acest tip nu
sunt de timp real si n general sunt cuplate o-line cu instalatiile tehnologice propriu-
zise, f acnd parte mai ales din dotarea laboratoarelor de cercetare si de analiza calit atii
si conformit atii. Interfata utilizator este cea care creaz a diferenta ntre dou a categorii
de programe, n ceea ce priveste modalitatea n care operatorul specic a succesiunea de
operatii de executat. Din acest punct de vedere vom face distinctia ntre menu-driven si
ow-chart driven (deci programe controlate prin meniu sau prin graf de ux).
139
Implement arile de tip menu-driven aplic a cte un unic pas de prelucrare asupra imaginii
din fereastra activ a; rezultatul va prezentat ntr-o nou a fereastr a de asare. Tipurile
de operatii se aleg din meniuri sau bara de butoane. Asemenea solutii corespund ma-
jorit atii sistemelor software comerciale de grac a si imaging (de tipul Adobe Photoshop,
Corel Draw, Paint Shop Pro). Operatiile realizate sunt orientate mai ales c atre aspectul
grac (publicistic) al imaginilor, referindu-se n special la operatii de ltrare, modicare a
contrastului, pseudocolorare, decupare de regiuni. Programele cu comand a menu-driven,
cu rezultatele intermediare parcurgnd etapele operatiilor din fereastr a n fereastr a, sunt
direct derivate din proiectarea obiectelor de interfat a n sistemele de tip Windows.
Implement arile de tip ow-chart permit construirea grac a interactiv a a unui lant de
operatii aplicate unei imagini initiale. Fiecare operatie este un bloc functional caracte-
rizat de intr ari, iesiri si parametri de control; blocurile functionale sunt interconectate,
implementnd uxul de operatii pe care l va parcurge imaginea. Procesul de comand a
nseamn a selectarea imaginii initiale si actionarea unui buton de start. Asemenea pro-
grame sunt tipice sistemelor de calcul mari (statii de lucru), pentru care produsul Khoros
este un standard de fapt; un produs similar pentru PC este programul AdOculos (gura
10.1).
Fig. 10.1: Specicarea uxului de operatii n fereastra de comand a a programului AdOcu-
los.
Ca o categorie intermediar a ntre comenzile meniu si diagrama de ux, putem considera
programele cu comand a de tip macro (sau batch); programul (sau limbajul) Matlab poate
ncadrat ntr-o asemenea categorie.
Multe dintre opertiile initial realizate prin software-ul de aplicatie 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 asaj). Dup a ce, initial, problema era rezolvat a
140
de programele aplicatie, gestiunea culorilor a trecut n grija sistemului de operare, pentru
ca, recent, s a apar a pl acile grace inteligente. Aceasta este de altfel una dintre tendintele
actuale: evolutia accesoriilor (pl aci specializate, dispozitive de achizitie) inteligente, deci
cu facilit ati de prelucrare integrate. Senzorii de imagine CCD sunt una dintre tintele
predilecte ale acestei dezvolt ari, nglobnd cipuri de compresie si transmisie a imaginilor,
comand a de urm arire automat a a tintei, operatii de recunoastere.
Desi programarea orientat a pe obiecte este un concept destul de nou, evolutia sa a fost
deosebit de spectaculoas a. Probabil c a principalul atu al acestei evolutii a fost aparitia
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 aplicatii
Windows va face n mod clar apel la structuri predenite - clasele de baz a aplicatie,
fereastr a, buton, s.a.m.d. Atunci devine destul de normal s a e proiectate si datele
specice ale aplicatiei particulare tot ca structuri de tip obiecte.
Alegerea unui limbaj specic de programare nu mai este totusi o problem a esential 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, desi se revendic a ca o aplicatie pur distribuit a pentru folosirea retelelor si n
special a Internetului, nu este cu mult diferit a ca structur a de un C cu clase). Principala
evolutie a mediilor de programare nu a fost ns a legat a de modicarea limbajului n sine
(si deci a caracteristicilor de compilare a codului) ci modicarea stilului n care se creaz a
aplicatia specic a, si mai precis, aspectul de interfat a.
Proiectarea unei interfete pentru Windows nseamn a denirea unor actiuni asociate eveni-
mentelor produse n sistem (clicuri de mouse, ap as ari de taste) si construirea elementelor
grace specice (ferestre de asare si de dialog, meniuri, introducere date, etc.). Acest a
activitate a fost simplicat a la maximum prin aparitia constructoarelor vizuale de apli-
catii, n care interfata grac a este construit a prin alipirea unor elemente de baz a (butoane,
ferestre, zone de text) pe cadre xe (fereastr a), numai cu mouse-ul (prin tehnic a drag and
drop). Compilatorul genereaz a automat codul surs a aferent constructiei; tot ceea ce tre-
buie s a fac a programatorul este s a lege sursa ce descrie aplicatia si actiunea specic 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 atributia de
a scrie algoritmii specici; usurinta constructiei vizuale este legat a strict de constructia
interfetei aplicatiei, deci aspect grac si eventual partea de preluare a datelor. Progra-
matorul va dezvolta restul aplicatiei ca pentru un compilator clasic.
Concluzia ce rezult a din aceast a scurt a discutie este aceea c a, pentru orice aplicatie,
trebuie separata partea de interfa ta de partea de calcul specic. 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 contine valorile pixelilor din imagine si prelucr arile specice
141
asupra acestora) si o proiectare la nivelul interfetei (care s a specice cum se va face asarea
imaginilor pe ecran, cum vor scrise pe disc, cum se va face un eventual transfer dinamic
al datelor de la sau c atre alte aplicatii). Majoritatea covrsitoare a sarcinilor legate
de interfat a pot rezolvate f ar a a cunoaste nimic despre operatiile specice 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 as arii unei imagini ntr-o fereastr a.
F ar a ndoial a c a cel mai simplu mod de asare este folosirea imaginii ca un canvas,
nglobat n obiectul de tip fereastr a, si de a c arui asare se ocup a sistemul Windows.
Aceast a abordare exclude ns a accesul la continutul imaginii; aceasta trebuie deci separat a
de fereastra de asare. Este poate deci preferabil a memorarea imaginii ca o matrice
si transformarea acesteia ntr-o structur a bitmap atasat a ferestrei, la ecare cerere de
reasare a acesteia.
Cuvntul de ordine actual n implement arile software este orientarea-obiect (limbajele
C++, Delphi, Java), insistnd mai ales pe aspectele de polimorsmsi mostenire pe care le
aduce acest stil de programare. Mostenirea corespunde cazului unor imagini cu structur a
din ce n ce mai elaborat a, pentru care se pot face tot mai multe operatii (de tip analiz a
de form a si clasicare, de exemplu). Polimorsmul corespunde realiz arii unor operatii cu
nume (sau metode de implementare) identice care s a aib a comport ari diferite, n functie
de tipul datelor c arora li se aplic a (functia de histogram a poate produce, de exemplu,
functia de densitate de probabilitate a cmpului 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 ltrarea n domeniul spatial, un
numitor comun al diverselor tipuri de ltre este tehnica de tip fereastr a glisant a).
Tehnologia Java, aduce, pa lng a orientarea obiect, ideea de folosire a resurselor dis-
tribuite (e pe Internet, e ca resurse de multiprocesare). Astfel a devenit posibil a crearea
de depozite de software specializat, universal executabil (prin mecanismul de applet) pe
orice masin a pe care este disponibil un browser Internet. Marile avantaje anuntate pen-
tru Java (cod portabil, executie paralel a, protectie la manipularea defectuoas a a zonelor
de memorie, protectia 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 existenta si gestionarea de c atre o aplicatie oarecare a mai
multe re de executie ce ruleaz a concomitent din punct de vedere logic (sau aproape
concomitent din punctul de vedere zic al calculatorului cu unic procesor); astfel devine
posibil a rularea paralel a de aplicatii pe sisteme cu unic procesor, f ar a sisteme de operare
multi-tasking. De altfel, putine sisteme zice multiprocesor au fost realizate pentru pre-
lucrarea de imagini; sistemele de prelucrarea si analiza imaginilor au utilizat n general
masini 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; operatiile tipice de prelucrarea imaginilor sunt operatii relativ simple,
cu un num ar mare de instante (pentru ecare pixel al imaginii se face ceva), folosind
date putin redundante (suprapunerea ntre pozitiile al aturate ale ferestrelor de ltrare
este n general mic a) si, uneori, informatie global a (cazul histogramei sau a ltr arilor n
domeniul de frecvent a). Se pot distinge astfel dou a nivele de paralelism: un paralelism
masiv, intrinsec structurii imaginii, legat de nivelul pixel, si un paralelism ascuns, specic
operatiilor de prelucrare (ca de exemplu realizarea operatiilor morfologice prin (6.3) si
(6.6) sau implementarea paralel a a FFT).
n concluzie, putem arma c a prelucrarea si analiza imaginilor a reusit s a cstige teren ca
urmare a realiz arilor spectaculoase ale tehnologiei electronice si informaticii. Cresterea
continu a a puterii de calcul disponibile n unit atile de prelucrare ale calculatoarelor va
transforma probabil n viiitorul apropiat prelucrarea si analiza imaginilor dintr-o anex a
nebuloas a si exotic a a aplicatiilor speciale ntr-o solutie abil a de larg consum industrial.
143
Bibliograe
[1] Buzuloiu, V.: Prelucrarea imaginilor: note de curs, Universitatea Politehnica Bu-
curesti, 1998
[2] Castleman, K. R.: Digital Image Processing, Prentice Hall, Englewood Clis, NJ,
1996
[3] Cocquerez, J. P., Philipp, S. (coord.): Analyse dimages: ltrage 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 Clis,
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] Jhne, B.: Practical Handbook on Image Processing for Scientic Applications, CRC
Press, 1997
[9] Jain, A. K.: Fundamentals of Digital Image Processing, Prentice Hall, Englewood
Clis NJ, 1989
[10] Ministerium fr Wirtschaft, Mittelstand und Technologie des Landes Nordrhein-
Westfalen: Stand und Trends der Bidverarbeitung in NRW, Dsseldorf, 1995
[11] Ministerium fr Wirtschaft, Mittelstand und Technologie des Landes Nordrhein-
Westfalen: Produkte und Dienstleitungen fr die Bildverarbeitung. Stand und Trends,
Dsseldorf, 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 scientic 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-
curesti, 1984
[17] Vertan, C., Gav at, I., Stoian, R.: Variabile aleatoare: principii si aplica tii, Editura
Printech, Bucuresti, 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

You might also like