Sunteți pe pagina 1din 77

IMBUNATATIREA

IMAGINILOR

CUPRINS
NOTIUNI INTRODUCTIVE
MARIMI STATISTICE
EXTINDEREA CONTRASTULUI
TEHNICI DE MODIFICARE A HISTOGRAMEI
MARIREA CLARITATII IMAGINILOR

NOTIUNI INTRODUCTIVE
Principalul obiectiv al metodelor de imbunatatire a imaginilor
(image enhancement): rezultatul obtinut prin imbunatatirea unei
imagini sa fie mai adecvat decat imaginea originala pentru o aplicatie
specifica.
O anumita metoda nu este utilizabila in orice aplicatie!
Exemplu: o metoda utilizata in imbunatatirea unei radiografii medicale
nu poate fi utilizata pentru corectarea unei imagini transmise din
spatiul cosmic de catre o nava de cercetare.
Metodele discutate in continuare:
-metode din domeniul frecventa (bazate pe modificarea
transformatei Fourier a unei imagini);
-metode din domeniul spatial (actioneaza asupra planurilor de
imagine originale, modificand chiar pixelii imaginii).

La baza tehnicilor din domeniul frecventa: teorema convolutiei. Fie g(x,y)


o imagine formata din convolutia unei imagini f(x,y) si un operator invariant
pozitional h(x,y) (rezultatul operatorului depinde numai de valoarea lui f(x,y)
intrun punct dat al imaginii si nu de pozitia punctului):
g(x,y) = h(x,y) * f(x,y)
Astfel, din teorema convolutiei se obtine urmatoarea relatie din domeniul
frecventa:
G(u,v) = H(u,v) F(u,v)
unde G, H, F sunt transformatele Fourier ale functiilor g, h, f. Transformata
H(u,v) se mai numeste si functia de transfer a procesului.
Numeroase metode de imbunatatire si restaurare a imaginilor se bazeaza
pe aceste ecuatii.

Intro problema tipica de imbunatatire a imaginilor, este data functia


f(x,y), iar scopul, dupa calcularea lui F(u,v), este gasirea lui H(u,v)
astfel incat imaginea obtinuta:
g(x,y) = fourier

-1

{ H(u,v) F(u,v) }

evidentiaza anumite caracteristici ale imaginii initiale f(x,y).

Tehnicile din domeniul spatial se bazeaza pe manipularea


nivelurilor de gri sau a culorilor imaginii originale, in functie de criteriile
alese pentru imbunatatire.

Operatiile de imbunatatire se pot clasifica in urmatoarele categorii:


-operatii punctuale (pentru fiecare pixel se calculeaza noua valoare numai
pe baza valorii sale initiale). Aici pot fi considerate si operatiile de
pseudocolorare, prin care o imagine este afisata cu o paleta de culoare
modificata.
-operatii locale (sau de vecinatate): noua valoare a fiecarui pixel este
obtinuta din valoare initiala a pixelului repectiv si din valorile pixelilor dintr-o
vecinatate.
-operatii globale: noua valoare a fiecarui pixel este calculata in functie de
valorile tuturor pixelilor imaginii.

Transformarea nivelurilor de gri


O prelucrare simpla a nivelurilor de gri: operatia punctuala, in
care valoarea fiecarui pixel de coordonate (x,y) se calculeaza numai
pe baza valorii sale initiale. Se mai numeste transformarea scarii de
gri sau mapare.
Transformarea de prag
Cel mai simplu caz: transformarea de prag, in care este
aplicata o functie de tip treapta. Pentru fiecare pixel daca valoarea sa
este sub o valoare de prag aleasa, atunci in imaginea rezultata pixelul
primeste valoarea 0, altfel primeste valoarea maxima (de exemplu
255, pentru codificare pe 8 biti).

Functii de transformare a nivelurilor de gri:

MARIMI STATISTICE
Descrierile statistice ale imaginilor utilizeaza:
Functia de distributie a probabilitatii, notata P(a), este probabilitatea ca
o stralucire (valoarea unui pixel) aleasa din regiune sa fie mai mica sau egala
cu o valoare data a. Pe masura ce a creste de la - la +, P(a) creste de la 0
la 1. Functia P(a) este monoton crescatoare si dP/da0.
Functia de densitate a probabilitatii. Probabilitatea ca o stralucire dintro regiune sa fie cuprinsa intre a si a+a, data fiind functia de distributie a
probabilitatii P(a), poate fi exprimata prin p(a)a, unde p(a) este functia de
densitate a probabilitatii reprezentata prin relatia:

dP ( a )
p ( a ) a
a
da

Exista relatia:
b

P (b)

p ( a )da

Deoarece P(a) este o functie monoton crescatoare sunt adevarate


relatiile:

p(a) 0

si

p(a)da 1

adica P() 1

Functia de densitate a probabilitatii pentru stralucire este estimata frecvent prin


numararea aparitiilor fiecarei valori in regiunea respectiva => histograma h[a].
Histograma poate fi apoi normalizata, astfel incat intreaga arie de sub
histograma este 1. Rezulta relatia:

p[a ]

1
h[a ]

unde h[a ]
a

Functia de distributie a probabilitatii stralucirii pentru o imagine si histograma


stralucirii nenormalizata pentru aceeasi imagine:

Stralucirea medie a unei regiuni este definita ca media de selectie a stralucirii


pixelilor in cadrul acelei regiuni. Media ma a stralucirii pentru pixeli din cadrul
regiunii R este data de relatia:

1
ma
a[ m, n]

( m ,n )R
O varianta a acestei relatii se bazeaza pe histograma stralucirii
nenormalizate, h(a)=p(a), cu valori discrete ale stralucirii:

1
ma
ah[ a ]

Deviatia standard de selectie reprezinta o estimare a deviatiei standard a


stralucirii in cadrul regiunii R continand pixeli:

1
2
sa
(
a
[
m
,
n
]

m
)

a
1 m ,nR
Deviatia standard sa reprezinta o estimare a distributiei de probabilitate a
stralucirii de baza.

Coeficientul de variatie este adimensional si se defineste prin relatia:

sa
CV
100%
ma
Procentajul (p%) unei distributii a stralucirii este definit ca aceea
valoare a a stralucirii astfel incat:
a

P (a ) p %

sau echivalent

p( )d p%

Se pot distinge trei cazuri speciale frecvent utilizate in prelucrarile de imagini


(vezi figura precedenta):
-0% este valoarea minima in regiune;
-50% este valoarea mediana;
-100% este valoarea maxima.

Raportul semnal/zgomot (SNR- Signal to Noise Ratio) poate avea mai multe
definitii. Zgomotul este caracterizat prin deviatia sa standard sn. Semnalul
poate fi caracterizat diferit. Daca se cunoaste faptul ca semnalul se gaseste
intre doua limite amin a amax atunci raportul semnal/zgomot (semnal marginit)
este definit:

a max a min
SNR 20 log10
sn

dB

Daca semnalul nu este marginit, dar are o distributie statistica (semnal


stohastic) atunci se cunosc doua alte definitii:

ma
SNR 20 log10
sn
sa
SNR 20 log10
sn

dB

dB

(S&N interdependent)

(S&N independent)

O alta definitie pentru raportul semnal/zgomot considera f imaginea


originala (corecta) si g imaginea rezultata din f peste care s-a suprapus un
zgomot aditiv si a carei calitate trebuie determinata:
N

SNR 10 log

f 2 (n, m)

n 1 m 1

2
(
g
(
n
,
m
)

f
(
n
,
m
))

dB

n 1 m 1

Se mai utilizeaza de asemenea pentru determinarea calitatii unei imagini


raportul semnal de varf / zgomot (PSNR - Peak Signal to Noise Ratio):

NM ( max f ( n, m)) 2
PSNR 10 log

n ,m
N

2
(
g
(
n
,
m
)

f
(
n
,
m
))

n 1 m 1

dB

eroarea patratica medie (MSE - Mean Squared Error):

1 N M
2
MSE
(
g
(
m
,
n
)

f
(
n
,
m
))

NM n 1m 1
si eroarea medie absoluta (MAE - Mean Absolute Error):

1 N M
MAE
g ( m, n) f ( n, m)

NM n 1m 1

O categorie importanta de operatii la nivel de punct se


bazeaza pe histograma imaginii sau a unei regiuni. Dintre aceste
operatii fac parte:
-extinderea contrastului (contrast stretching);
-egalizarea histogramei;
-filtrarile minima, medie si maxima.

EXTINDEREA CONTRASTULUI
De multe ori o imagine achizitionata nu beneficieaza prin valorile
stralucirii de intreaga gama pusa la dispozitie de sistem (vezi figura precedenta
cu histograma).
Solutie: extinderea histogramei peste intregul interval de valori intre 0 si
2B-1 (B este numarul de biti pe care se reprezinta fiecare pixel) => se
asocieaza valoarea minima (valoarea de 0%) la stralucirea 0, iar valoarea
maxima (valoarea de 100%) la stralucirea 2B-1.
Transformarea corespunzatoare este data de relatia:

a[ m, n] minim
b[ m, n] ( 2 1)
maxim minim
B

unde a[m,n] si b[m,n] sunt valorile stralucirii inainte si respectiv dupa operatia
de extindere a contrastului intr-un punct de coordonate (m,n).

O exprimare mai generala este data de:

0
a[m, n] plow %
B
b[m, n] (2 1)
phigh % plow %

2B 1

a[m, n] plow %
plow % a[m, n] phigh %
a[m, n] phigh %

Este o formulare mai generala decat cea precedenta, caci valorile pentru plow%
si phigh% se pot alege (de exemplu: plow%=5% si phigh%=95%). Pentru plow%=0%
si phigh% =100% se obtine solutia precedenta.

Exemplu: imbunatatirea contrastului unei imagini. Fie r si s niveluri de gri


oarecare din imaginea initiala, respectiv din imaginea rezultata, cu relatia
s=T(r). Daca functia T(r) are forma din figura (a) aplicarea acestei functii asupra
imaginii initiale va produce o noua imagine avand un contrast marit, prin
micsorarea stralucirii nivelurilor sub un prag m si marirea stralucirii nivelurilor
deasupra pragului m. In cazul limita pentru o functie T(r) ca in figura (b)
rezultatul transformarii va fi o imagine binivel.

O operatie punctuala de modificare a contrastului, care asocieaza o


valoare a nivelului de gri r la o noua valoare s, printr-o functie s=T(r), cu r
apartinand intervalului [0; 2B 1] trebuie sa indeplineasca urmatoarele
conditii:
- transformarea T sa pastreze gama admisibila de valori ale imaginii,
deci 0 T(r) 2B-1;
- transformarea T sa fie monoton crescatoare sau monoton
descrescatoare pentru a pastra ordinea intre nivelurile de gri.

Modificarea liniara a contrastului


Tehnica de modificare liniara a contrastului: transformare liniara pe portiuni:

T1

pentru 0 r T1

s
( r T1 )
pentru T1 r T2
T2 T1

L 1 ( r T ) pentru T r L
2
2

T
2

unde T1, T2, si sunt parametri de control si sunt grupati


cate doi, definind punctele (T1, ) si (T2, ), impreuna cu punctele fixe (0, 0) si
(L 1, L 1) => trei segmente ce apar n formula, unde L=2B. Este o operatie
punctuala care transforma valoarea r a fiecarui pixel in noua valoare s.
Transformarea poate fi facuta n doua moduri:
-se repeta calculul din formula pentru fiecare pixel al imaginii;
-se calculeaza noile valori ale contrastului de la nceput pentru toate
nivelurile de gri posibile (ntre 0 si L1) si apoi aceste modificari se aplica
imaginii.

Scalarea amplitudinilor
O imagine digitala dupa prelucrare poate avea un interval de valori in
afara intervalului imaginii originale (inclusiv valori negative). Este necesara
scalarea. Tehnici:
Scalare liniara: imaginea prelucrata este mapata liniar in domeniul
ocupat de imaginea originala.

Scalare liniara cu retezare (clipping): valorile extreme de amplitudine


din imaginea prelucrata sunt retezate la limitele maxima si minima.

Solutia preferata pentru imagini cand un numar mic de pixeli depasesc limitele.

Scalare cu valori absolute pentru vizualizarea unei imagini cu valori


negative de pixeli.

Util: sisteme cu numere in complement fata de 2 pentru reprezentarea


amplitudinilor. Daca o amplitudine de pixel depaseste +1.0 (valoarea maxima
alb) cu o mica cantitate atunci se plaseaza in jurul lui -1.0, care este tot alb.
Asemanator, pixelii care sunt cu putin sub zero raman negri.

Se considera o imagine YIQ (Transmission Color Coordinate System):


-Y luma este proportionala cu luminanta (corectie de gamma);
-I si Q croma descriu atributele de nuanta si saturatie ale imaginii.
Relatiile:

Componentele
RGB ale imaginii de
test:

Componentele YIQ:

Scalarea amplitudinilor componentei Q a transformarii YIQ a imaginii


monocrome, continand si pixeli negativi:

(a) scalare liniara: pixelii negativi minimi mapati la negru(0.0), iar pixelii pozitivi
maximi mapati la alb (1.0);
(b) scalare liniara cu retezare: valorile negative mapate la 0.0 (negru), regiunile
negre din imagine corespunzand valorilor negative de pixeli;
(c) scalare cu valori absolute;

Tehnica de scalare liniara cu retezare este aplicata unei imagini din


satelit cu putine niveluri de gri pentru extinderea contrastului:

Imaginea originala si histograma sa.

Nivelurile de retezare au fost setate la limitele histogramei imaginii originale


(min.clip=0.17 si max.clip=0.64). Histograma ocupa intreaga plaja de valori
(catre extreme, numar foarte mic de pixeli).

Nivelurile de retezare trunchiaza aprox 5% din amplitudinile sub, respectiv


peste praguri (min.clip=0.24 si max.clip=0.35). Histograma indica multe valori
neocupate.

Modificarea contrastului

Imaginea originala si histograma sa, in care se observa putini pixeli de valori


mici si valori mari.

Aplicarea functiei de transformare conduce la extinderea contrastului. Imaginea


are contrast mai bun, fara sa se remarce vizual efecte de retezare a nivelurilor
de gri extreme.

Se considera transformari punctuale neliniare realizate cu functia


putere:
G(j,k) = [F(j,k)] p
unde 0.0 F(j,k) 1.0, p fiind parametrul functiei. Limitele functiei sunt foarte
importante, caci aplicarea acestei functii pe valori intregi de pixeli conduce la
erori.

p=2 functia patratica (cele mai bune rezultate).

p = 3 functia cubica

p = 1/2 functia radacina patrata.

p = 1/3 functia radacina cubica.

Functia de transformare rubber-band furnizeaza o aproximatie liniara a


curbelor functiilor putere. Utila in aplicatii interactive unde punctul de inflexiune
poate fi stabilit interactiv.

Functia de rasturnare a contrastului (reverse function sau negativul) utila


pentru vizualizarea unor detalii in zone intunecate din imagine. Definitia functiei
de rasturnare:
G(j,k) = 1.0 F(j,k)
unde 0.0 F(j,k) 1.0.

Functia de inversare a contrastului (inverse function) utila de asemenea


pentru vizualizarea unor detalii in zone intunecate din imagine. Definitia functiei
de inversare:

Un instrument interactiv: felierea nivelurilor de amplitudine


(amplitude-level sclicing), util pentru analiza vizuala a distributiei spatiale a
pixelilor de anumite amplitudini.

Toti pixelii din banda de trecere sunt setati la alb, toti ceilalti la negru (zero
backgrond).

Varianta: pixelii in afara benzii de trecere sunt afisati cu valorile originale


(image background).

Pseudocolorarea
Pseudocolorarea: tehnica care permite scoaterea in evidenta a unor
zone cu anumite valori de gri prin modificarea paletei de culori cu care
imaginea este afisata (reprezentata). Afisarea anumitor niveluri de gri se face
prin utilizarea unor culori.
Problema este asemanatoare cu modificarea contrastului: se aplica o
functie s=T(r), pentru toate valorile (sau pentru unele valori) r apartinand
imaginii initiale => se pot pune in evidenta anumite zone de interes intr-o
imagine cu niveluri de gri, zone care altfel ar putea fi distinse mai greu de
ochiul uman.
Se poate aplica si imaginilor color (colorare falsa false coloring): intro imagine color anumite culori sunt inlocuite cu altele, in acelasi scop, de a
permite o mai usoara observare a unor detalii.

TEHNICI DE MODIFICARE A HISTOGRAMEI


Pentru a compara doua sau mai multe imagini pe baza unui anumit criteriu,
(exemplu textura), este necesar mai intai sa se normalizeze histogramele
acestora la o histograma standard, mai ales atunci cand imaginile au fost
achizitionate in conditii diferite.
Cea mai utilizata tehnica de normalizare a histogramei: egalizarea
histogramei se incearca modificarea histogramei prin utilizarea unei functii
s=T(r), intr-o histograma constanta pentru toate valorile de stralucire, ceea ce
corespunde unei distributii de stralucire in care toate valorile sunt egal
probabile. Din pacate, pentru o imagine oarecare se poate numai aproxima
acest rezultat !
Pentru o functie convenabila T se poate stabili urmatoarea relatie intre
functia de densitate de probabilitate de intrare, functia de densitate de
probabilitate de iesire si functia T:

ps ( s )ds pr (r )dr

pr ( r )dr
dT
ps ( s )

distributia de probabilitate trebuie sa fie aceeasi, Ps(s)=Pr(r).

Functia T este derivabila si dT/dr0. Pentru egalizarea histogramei se doreste


ca ps(s)=constant, ceea ce inseamna ca:

T ( r ) ( 2 B 1) P ( r )
unde P(r) este functia de distributie a probabilitatii. Functia de distributie a
probabilitatii cuantizata, normalizata de la 0 la 2B-1 reprezinta tabela de
translatare necesara pentru egalizarea histogramei. In figura (a) este
prezentata o imagine originala, in figura (b) apare imaginea prelucrata prin
extinderea histogramei, iar in (c) se poate vedea rezultatul egalizarii
histogramei.

Fie variabila r nivelul de gri al pixelilor din imaginea care trebuie


imbunatatita. Pentru simplificare, se va presupune ca valorile pixelilor au fost
normalizate, astfel incat:
0r1
unde r=0 nivelul de negru, iar r=1 nivelul de alb.
Pentru orice r in intervalul [0,1] se studiaza transformarea:
s = T(r)
care produce un nivel s pentru fiecare nivel r din imaginea originala. Se
presupune ca functia de transformare data prin aceasta ecuatie satisface
conditiile:
a) T(r) este monoton crescatoare in intervalul 0 r 1.
b) 0 T(r) 1 pentru 0 r 1.
Conditia a) impune ordinea de la negru la alb in scara de niveluri de gri, iar
conditia b) garanteaza o transformare consistenta cu intervalul de valori ale
pixelilor imaginii.

O transformare inversa de la s inapoi la r:


r = T-1(s)
0s1
unde se presupune ca T-1(s) satisface de asemenea conditiile a) si b).
Nivelurile de gri dintro imagine sunt cantitati aleatoare in intervalul [0,1].
Presupunand ca sunt variabile continue, nivelurile de gri ale imaginii initiale si
respectiv ale imaginii transformate pot fi caracterizate prin functiile densitate de
probabilitate pr(r) si respectiv ps(s). Functia densitate de probabilitate
caracterizeaza luminozitatea unei imagini. Astfel, o imagine cu functia densitate
din figura (a) este intunecata, iar o imagine cu functia densitate din figura (b)
este luminoasa.

Din teoria probabilitatilor: daca functiile pr(r) si T(r) sunt cunoscute, iar T-1(s)
satisface conditia (a), atunci functia densitate de probabilitate pentru nivelurile
de gri este data de relatia:

dr
p s ( s ) pr ( r )
ds

r T 1 ( s )

(functia densitate de probabilitate a imaginii transformate depinde de functia


densitate de probabilitate a imaginii initiale si de functia de transformare).
Tehnicile de imbunatatire a imaginii care se discuta in continuare se
bazeaza pe modificarea aparentei unei imagini prin controlarea functiei de
densitate de probabilitate a nivelurilor de gri utilizand functia de transformare
T(r).

Egalizarea histogramei
Se considera functia de transformare
r

s T (r ) pr ( w)dw
0

0 r 1

denumita functia de distributie cumulativa (FDC) a lui r (notata P(r) in


paragraful de definitie a marimilor statistice), care satisface conditiile (a) si (b)
precedente. Derivand in ambii membri ai ecuatiei precedente in raport cu r se
obtine:
ds/dr = pr(r)
si inlocuind apoi in relatia pentru ps(s) rezulta:

1
p s ( s ) pr ( r )

p
(
r
)
r

1 r T 1 ( s ) 1

0 s 1

r T 1 ( s )

care este o functie de densitate de probabilitate uniforma in intervalul de


definitie a variabilei transformate s. De notat ca acest rezultat este independent
de functia de transformare inversa. Utilizarea unei functii de transformare egala
cu distributia cumulativa a lui r va produce o imagine ale carei niveluri de gri vor
avea o densitate uniforma.

Pentru a fi utile in prelucrarile de imagini digitale: conceptele de mai sus trebuie


reformulate intro forma discreta. Deoarece nivelurile de gri au valori discrete,
probabilitatile vor fi date de relatia:
pr(rk) = nk / n

0 rk 1
k=0,1,...,L1

unde L este numarul de niveluri de gri, pr(rk) este probabilitatea nivelului k, nk


este numarul de aparitii ale nivelului in imagine si n este numarul total de pixeli
din imagine. O reprezentare grafica a lui pr(rk) in raport cu rk se numeste
histograma, iar tehnica utilizata pentru a obtine o histograma uniforma se
numeste egalizarea histogramei sau liniarizarea histogramei.

Forma discreta a ecuatiei pentru s


este:

i 0

i 0

sk T ( rk ) pr ( ri )

ni
n

unde 0 rk 1, indexul k = 0, 1, 2, ... , L-1 si 0 sk 1,


iar transformata inversa este reprezentata de:
rk = T -1(sk)

0 sk 1

unde ambele functii T(rk) si T -1(sk) se presupune ca satisfac conditiile (a) si


(b). De notat faptul ca functia de transformare poate fi calculata direct din
imaginea initiala utilizand ecuatia pentru sk de mai sus.
Valorile sk vor fi scalate pana la valoarea L-1 (exemplu 255) si rotunjite la
cel mai apropiat intreg, astfel incat valorile de iesire ale acestei transformari vor
fi cuprinse intre 0 si 255. Discretizarea si rotunjirea valorilor sk la cel mai
apropiat intreg vor conduce la faptul ca imaginea rezultata nu va avea o
histograma perfect uniforma.

Specificarea directa a histogramei


In anumite situatii este de dorit sa se specifice o anumita histograma
particulara capabila sa evidentieze un anumit nivel de gri dintr o imagine.
Reconsiderand situatia corespunzatoare unei imagini continue, fie pr(r) si pz(z)
functiile de densitate de probabilitate originala si respectiv, dorita. Se presupune
ca mai intai o imagine data va fi egalizata ca histograma prin ecuatia:

s T (r )

pr ( w) dw

Daca imaginea dorita este disponibila, nivelurile sale pot fi de asemenea


egalizate utilizand functia de transformare:

v G( z)

p z ( w) dw

Procesul invers, z=G -1(v), va furniza nivelurile dorite. Aceasta, evident este o
formulare ipotetica deoarece nivelurile z sunt exact ceea ce se incearca sa se
obtina. De notat totusi ca ps(s) si pv(v) vor fi densitati uniforme identice
deoarece rezultatul final al ecuatiei pentru s este independent de densitatea din
interiorul integralei. Aceste aspecte sunt prezentate in schema urmatoare:

Astfel, in loc sa se utilizeze v in procesul invers, se vor utiliza nivelurile


uniforme s obtinute din imaginea originala, nivelurile rezultate z = G -1(s) vor
avea functia de densitate de probabilitate dorita. Presupunand ca G -1(s) este o
functie (cu valori singulare) => procedura:
(1) Se egalizeaza nivelurile imaginii originale utilizand ecuatia pentru s.
(2) Se specifica functia densitate dorita si se obtine functia de transformare
G(z) cu ecuatia pentru v.
(3) Se aplica functia de transformare inversa z=G -1(s) nivelurilor obtinute la
pasul (1).
Aceasta procedura va furniza o versiune prelucrata a imaginii originale
unde noile niveluri de gri sunt caracterizate prin densitatea specificata pz(z).

Metoda specificarii histogramei implica doua functii de transformare, T(r) si G


1
(s) este foarte simplu sa se combine ambii pasi de imbunatatire intr o
singura functie care va furniza nivelurile dorite pornind cu pixelii originali. Din
cele de mai sus rezulta ca :
z = G -1(s)
Substituind ecuatia pentru s in ecuatia precedenta rezulta functia de
transformare combinata:
z = G -1[T(r)]
Implicatia ecuatiei: o imagine nu necesita sa fie egalizata din punct de
vedere al histogramei in mod explicit. Tot ceea ce se cere este ca T(r) sa fie
determinata si sa fie combinata cu functia de transformare inversa. Pentru
variabile continue, o problema complicata este obtinerea functiei inverse in
forma analitica. In cazul discret aceasta problema este simplificata de faptul ca
numarul de niveluri de gri este redus si este fezabila calcularea si memorarea
cate unei mapari pentru fiecare valoare posibila de pixel.

Exemplu. Se considera o imagine 64x64 pixeli cu 8 niveluri avand


histograma data in figura, pentru care se cunosc valorile:
rk

nk

pr(rk)=nk/n

790

0.19

1/7

1023

0.25

2/7

850

0.21

3/7

656

0.16

4/7

329

0.08

5/7

245

0.06

6/7

122

0.03

81

0.02

s0 = T(r0) = pr(r0) = 0.19


s1 = T(r1) = pr(r0) + pr(r1) = 0.44
s2 = T(r2) = pr(r0) + pr(r1) + pr(r2) = 0.65
s3 = 0.81
s4 = 0.89
s5 = 0.95
s6 = 0.98
s7 = 1.00
Deoarece sunt permise numai opt valori, egal distantate, fiecare valoare
obtinuta din transformare trebuie asignata la valoarea valida cea mai apropiata,
obtinandu-se valorile:
s0 = 1/7
s1 = 3/7
s2 = 5/7
s3 = 6/7
s4 = 6/7
s5 = 1
s6 = 1
s =1

In acest moment fiecare nivel rk se mapeaza in nivelul sk, dar exista numai cinci
valori distincte pentru nivelurile de gri ale histogramei egalizate:
r0 s0 = 1/7 s0
r1 s1 = 3/7 s1
r2 s2 = 5/7 s2
r3 s3 = 6/7
r4 s4 = 6/7 s3
r5 s 5 = 1
r6 s 6 = 1 s 4
r7 s 7 = 1
Prin renotare se obtin valorile:
s0 = 1/7
s1 = 3/7
s2 = 5/7
s3 = 6/7
s4 = 1

Deoarece r0 = 0 s-a mapat in s0 = 1/7 rezulta ca exista 790 de pixeli cu aceasta


noua valoare. Analog exista 1023 de pixeli cu valoarea s1 = 3/7, 850 de pixeli
cu valoarea s2 = 5/7. Deoarece nivelurile r3 si r4 s-au mapat in s3 si s4, renotat
cu s3 = 6/7, exista 656 + 329 = 985 de pixeli cu aceasta noua valoare. Analog,
deoarece nivelurile r5, r6 si r7 s-au mapat in s4 = 1, exista 245 + 122 + 81 = 448
de pixeli cu aceasta valoare. Se obtine histograma:

Este de dorit sa se transforme histograma astfel incat sa se obtine forma data


in figura. Valorile din histograma specificata sunt date in urmatorul tabel:
zk

pz(zk)

z0=0

0.00

z1=1/7

0.00

z2=2/7

0.00

z3=3/7

0.15

z4=4/7

0.20

z5=5/7

0.30

z6=6/7

0.20

z7=1

0.15

Histograma imaginii initiale si histograma dorita:

Primul pas in procedura este sa se obtina maparea egalizarii de histograma.


Prin metoda precedenta sau obtinut urmatoarele rezultate:

rjsk

nk

ps(sk)

r0s0=1/7

790

0.19

r1s1=3/7

1023

0.25

r2s2=5/7

850

0.21

r3,r4s3=6/7

985

0.24

r5,r6,r7s4=1

448

0.11

In continuare, utilizand ecuatia sk se calculeaza functia de transformare:

vk G ( z k )

obtinand urmatoarele valori:


v0=G(z0)=0.00
v1=G(z1)=0.00
v2=G(z2)=0.00
v3=G(z3)=0.15
Functia de transformare:

p
j 0

(z j )

v4=G(z4)=0.35
v5=G(z5)=0.65
v6=G(z6)=0.85
v7=G(z7)=1.00

Pentru a obtine nivelurile z se aplica inversa transformarii G de mai sus


nivelurilor egalizate histogramic sk. Deoarece se lucreaza cu valori discrete
este necesar sa se faca o aproximare in cadrul maparii inverse. De exemplu,
valoarea cea mai apropiata lui s0=1/7=~0.14 este G(z3)=0.15, sau utilizand
inversa G -1(0.15)=z3. Astfel s0 este mapat in nivelul z3. Utilizand aceasta
procedura se obtine urmatoarea mapare:
s0=1/7 z3=3/7
s1=3/7 z4=4/7
s2=5/7 z5=5/7
s3=6/7 z6=6/7
s4=1 z7=1
Asa cum este aratat in ecuatia z = G -1[T(r)] aceste rezultate pot fi
combinate cu cele ale egalizarii de histograma, obtinand urmatoarea mapare
directa:
r0=0 z3=3/7
r4=4/7 z6=6/7
r1=1/7 z4=4/7
r5=5/7 z7=1
r2=2/7 z5=5/7
r6=6/7 z7=1
r3=3/7 z6=6/7
r7=1 z7=1

Redistribuind pixelii in acord cu aceste mapari si impartindu i cu n=4096 rezulta


histograma din figura. Valorile sunt listate in tabelul urmator:

zk
z0=0
z1=1/7
z2=2/7
z3=3/7
z4=4/7
z5=5/7
z6=6/7
z7=1

nk
0
0
0
790
1023
850
985
448

pz(zk)
0.00
0.00
0.00
0.19
0.25
0.21
0.24
0.11

Etapele de calcul sunt prezentate pe scurt in urmatoarea schema:


-se doreste transformarea: rk sk, unde functiile de densitate de
probabilitate sunt:

(cu o anumita densitate de probabilitate)


Histograma rezultata nu este apropiata de cea dorita ! Eroarea: transformarea
este garantata in cazul continuu, dar pe masura ce numarul de niveluri
descreste, eroarea intre histograma specificata si cea rezultata, creste.
=> Dar chiar si in astfel de conditii, in multe situatii se obtin imbunatatiri
de histograme deosebit de utile !

MARIREA CLARITATII IMAGINILOR


Tehnicile de marire a claritatii ("sharpening") sunt utile in primul rand pentru a
evidentia contururile intro imagine. Exista metode atat in domeniul spatial cat si
in cel de frecventa.
Marirea claritatii prin diferentiere
Operatia de mediere a pixelilor in cadrul unei regiuni are ca efect pierderea
detaliilor unei imagini. Deoarece medierea este analoaga unei integrari, este de
asteptat ca diferentierea sa aibe un efect opus.
Metoda utilizata cel mai frecvent pentru diferentierea unei imagini este
gradientul. Fiind data o functie f(x,y) gradientul lui f in punctul de coordonate
(x,y) este definit ca un vector:

f/x
G[f(x,y)] =

f/y

Exista doua proprietati importante ale gradientului:


1) Vectorul G[f(x,y)] este orientat in directia ratei maxime de crestere a
functiei f(x,y).
2) Marimea lui G[f(x,y)] notata G[f(x,y)] si data de relatia:
G[f(x,y)] = mag[G] = [ (f/x)2 +(f/y)2]1/2
este egala cu rata maxima de crestere a lui f(x,y) per unitate de distanta in
directia lui G.
Pentru o imagine digitala derivatele din ecuatia precedenta sunt aproximate
prin diferente, o aproximare tipica fiind data de relatia:
G[f(x,y)] =~ [[f(x,y)f(x+1,y)]2 + [f(x,y)f(x,y+1)]2]1/2

Rezultate similare se pot obtine utilizand valori absolute:


G[f(x,y)] =~ f(x,y) f(x+1,y) + f(x,y) f(x,y+1)
Aceste relatii pot fi usor implementate intrun limbaj de programare, chiar si
utilizand limbaj de asamblare.
O alta aproximare utila pentru a calcula gradientul este gradientul Roberts,
care utilizeaza urmatoarele diferente:
G[f(x,y)] = [[f(x,y) f(x+1,y+1)]2 + [f(x+1,y) f(x,y+1)]2]1/2
sau utilizand valori absolute:
G[f(x,y)] = f(x,y) f(x+1,y+1) + f(x+1,y) f(x,y+1)
Astfel, gradientul va lua valori mari pentru contururi pronuntate intr o
imagine si valori mici in regiuni care sunt bine netezite, chiar zero pentru zone
cu niveluri de gri constante.

Dupa selectarea metodei de determinare a gradientului, exista numeroase


solutii pentru a genera o imagine gradient g(x,y). O solutie imediata este
selectarea ca valoare a lui g in punctul de coordonate (x,y) a gradientului lui f in
acest punct:
g(x,y) = G[f(x,y)]
Principalul dezavantaj al solutiei: toate regiunile netede din imaginea f(x,y)
apar intunecate in g(x,y), datorita valorilor mici ale gradientului in aceste zone.
O alta solutie este formarea lui g(x,y) astfel:

G[f(x,y)]
daca G[f(x,y)] T
g(x,y) =
f(x,y)
altfel

unde T este o valoare de prag pozitiva. Printro selectare corespunzatoare a lui


T este posibil sa se evidentieze contururile fara a modifica caracteristicile
fondului.

Varianta: setarea contururilor la o anumita valoare specificata LG:

LG
daca G[f(x,y) T
g(x,y)=
f(x,y)
altfel

In anumite situatii este de dorit sa se studieze comportarea nivelurilor de gri


pentru contururi, fara vreo interferenta din partea fondului, utilizand relatia:

G[f(x,y)]
daca G[f(x,y)] T
g(x,y) =
LB
altfel

unde LB este o valoare specificata pentru fond.

In cazul in care prezinta interes numai amplasarea contururilor, se poate obtine


o imagine binara in care contururile si fondul sunt reprezentate fiecare prin cate
un nivel bine determinat, utilizand relatia:

LG
daca G[f(x,y)] T
g(x,y) =
LB
altfel