20
63 Capitolul 4 TRANSFORMĂRI DE IMAGINI 4.1 INTRODUCERE Termenul de transformări de imagini se referă la clasa matricilor unitare utilizate în reprezentarea imaginilor. La fel cum un semnal unidimensional poate fi reprezentat prin serii de funcţii ortogonale, o imagine se poate reprezenta printr-o serie de funcţii de bază ortogonale, în funcţie de un set de vectori de bază, numit imagine de bază, set generat cu ajutorul unor matrici unitare. Ca alternativă la reprezentarea sub formă matricială, o imagine de dimensiuni NxN poate fi considerată ăi ca vector de dimensiune N 2 x1. O transformare de imagini are ca rezultat un set de coordonate sau vectori de bază în acest spaţiu vectorial. În cazul unidimensional, considerăm secvenţa: {u(n), 0 n N 1} reprezentată de un vector u de ordin N. O transformare unitară a acestui vector se poate scrie ca: (4.1) unde A -1 = A *T este o matrice unitară. Rezultă, în acest caz: u A v sau u(n) a (k,n)v(n), 0 n N 1 *T * n 0 N 1 = = = (4.2) Coloanele lui A *T , adică vectorii a {a (k,n), 0 n N 1} k * * = ,

Transformata Harr

Embed Size (px)

DESCRIPTION

Image processing

Citation preview

Page 1: Transformata Harr

63

Capitolul 4

TRANSFORMĂRI DE IMAGINI

4.1 INTRODUCERE Termenul de transformări de imagini se referă la clasa matricilor unitare utilizate în reprezentarea imaginilor. La fel cum un semnal unidimensional poate fi reprezentat prin serii de funcţii ortogonale, o imagine se poate reprezenta printr-o serie de funcţii de bază ortogonale, în funcţie de un set de vectori de bază, numit imagine de bază, set generat cu ajutorul unor matrici unitare. Ca alternativă la reprezentarea sub formă matricială, o imagine de dimensiuni NxN poate fi considerată ăi ca vector de dimensiune N2x1. O transformare de imagini are ca rezultat un set de coordonate sau vectori de bază în acest spaţiu vectorial. În cazul unidimensional, considerăm secvenţa:

{u(n), 0 n N 1}≤ ≤ −

reprezentată de un vector u de ordin N. O transformare unitară a acestui vector se poate scrie ca:

(4.1)

unde A-1 = A*T este o matrice unitară. Rezultă, în acest caz:

u A v sau u(n) a (k,n)v(n), 0 n N 1*T *

n 0

N 1

= = ≤ ≤ −=

∑ (4.2)

Coloanele lui A*T, adică vectorii a {a (k,n), 0 n N 1}k

* *= ≤ ≤ − ,

Page 2: Transformata Harr

Cap.4 Transformări de imagini

64

se numesc vectorii bazei lui A. În figura 4.1 sunt prezentaţi câţiva vectori de bază ai unor transformări ortogonale mai uzuale în prelucrările digitale de imagini. Seria coeficienţilor v(k) dă o reprezentare a secvenţei iniţiale u(n) şi este utilă în filtrări, compresii de date, extragerea unor caracteristici şi alte tipuri de analize de imagini.

C o s i n u s S i n u s H a d a m a r d H a a r S l a n t K L T k=0 k=1 k=2 k=3 k=4 k=5 k=6 k=7

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Fig. 4.1 Vectori de bază ai unor transformări ortogonale

4.2 TRANSFORMĂRI UNITARE ORTOGONALE BIDIMENSIONALE În prelucrarea digitală a imaginilor, se poate considera o pereche de transformări bidimensionale ortogonale, ca fiind dezvoltările în serii ortogonale ale imaginii NxN date de:

v(k,l) a (m,n) u(m,n), 0 k,l N 1k,ln 0

N 1

m 0

N 1

= ⋅ ≤ ≤ −=

=

∑∑ (4.3)

şi

Page 3: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

65

u(m,n) a (m,n) v(k,l), 0 k,l N 1k,l*

l 0

N 1

k 0

N 1

= ⋅ ≤ ≤ −=

=

∑∑ (4.4)

unde v(k,l) sunt coeficienţii transformării, iar V={v(k,l)} se numeşte imaginea transformată. Mulţimea {ak,l(m,n)} este numită transformarea imaginii şi este un set de funcţii de bază discrete, ortogonale, care satisface următoarele proprietăţi:

• ortonormalitate: a m n a m n k k l lk l k ln

N

m

N

, ', '*( , ) ( ', ' ) ( ', ' )⋅ = − −

=

=

∑∑ δ0

1

0

1

(4.5)

• completitudine: a m n a m n m m n nk l k ll

N

k

N

, ,*( , ) ( ', ' ) ( ', ' )⋅ = − −

=

=

∑∑ δ0

1

0

1

(4.6)

Proprietatea de ortonormalitate asigură că orice dezvoltare în serie trunchiată de forma:

u (m,n) a (m,n) v(k,l) , P N,Q NP,Q k,l*

l 0

Q 1

k 0

P 1

= ⋅ ≤ ≤=

=

∑∑ (4.7)

minimizează suma erorilor medii pătratice:

σ e2

n 0

N 1

m 0

N 1

P,Q2[u(m,n) u (m,n)]= −

=

=

∑∑ (4.8)

unde coeficienţii v(k,l) sunt daţi de relaţia (4.3). Proprietatea de completitudine asigură că eroarea va fi nulă în cazul P=Q=N:

σ e2 0= = =dac` P Q N

Transformări unitare separabile

Numărul multiplicărilor şi adunărilor necesare calculului coeficienţilor v(k,l) ai transformării este O(N4) ăi este prea mare pentru necesităţile practice. Acest număr se reduce la O(N3) dacă se impune ca transformarea să fie separabilă, adică:

a m n a m b n a k m b l nk l k, ( , ) ( ) ( ) ( , ) ( , )= =1 (4.9)

unde {a (m), k 0,...,N 1} {b (n),l 0,...,N 1}k 1= − = −[i sunt seturile complete ortonormale de vectori ai bazei. Impunând condiţiile anterioare (4.5) şi (4.6) rezultă matricile: A a k m= { ( , )} şi B b l n= { ( , )} care sunt matrici unitare, adică:

AA A A I, BB B B I*T T * *T T *= = + = (4.10)

Dacă vom alege B identic cu A (caz des întâlnit), atunci relaţiile (4.3) şi (4.4) se reduc la:

v(k,l) a(k,m) u(m,n) a(l,n), saun 0

N 1

m 0

N 1

= ⋅ ⋅ ==

=

∑∑ V AUAT (4.11)

u(m,n) a (k,m) v(k,l) a (l,m), sau* *

l 0

N 1

n 0

N 1

= ⋅ ⋅ ==

=

∑∑ U A VA*T (4.12)

Dacă imaginea nu este pătratică, ci dreptunghiulară de dimensiuni MxN, perechea de transformări de imagine devine:

Page 4: Transformata Harr

Cap.4 Transformări de imagini

66

V A UAM N= (4.13)

U A VAM*T

N*T= (4.14)

unde AM şi AN sunt matrici unitare de dimensiuni MxM şi respectiv NxN. Transformările bidimensionale separabile sunt cele mai frecvent utilizate. Relaţiile (4.11) şi (4.12) pot fi scrise: V AUA , V A[AU]T T T= = (4.15)

ceea ce înseamnă că se transformă mai întâi fiecare coloană a matricii U şi asupra rezultatului obţinut se face o transformare a fiecărei linii. 4.3 PROPRIETĂŢI ALE TRANSFORMĂRILOR UNITARE Conservarea energiei

În transformări unitare de forma v = Au cu v u2 2= , se poate dovedi uşor că:

v v v u A A u u u u2 *T *T *T *T 2= = ⋅ = ⋅ ⋅ = ⋅ = ==

=

∑ ∑v(k) 2

0

1

0

1

k

N

n

N

u n( ) 2 (4.16)

respectiv o transformare unitară conservă energia semnalului sau, ceea ce este echivalent, lungimea vectorului u în spaţiul vectorial n-dimensional rămâne constantă. Aceasta înseamnă că orice transformare unitară este, de fapt, o simplă rotaţie a vectorului u în spaţiul N-dimensional. Cu alte cuvinte, se poate spune că o transformare unitară realizează o rotaţie a coordonatelor de bază, iar componentele lui v sunt proiecţiile lui u în noua bază. În mod similar, pentru transformări bidimensionale de tipul celor prezentate în relaţiile (4.3) şi (4.4), respectiv (4.11) şi (4.12), este valabilă relaţia:

u m n v k lk l

N

m n

N

( , ) ( , ),,

2 2

0

1

0

1

= ∑∑∑∑=

=

(4.17)

Compactarea energiei şi varianţa coeficienţilor

Majoritatea transformărilor unitare au tendinţa de împachetare (compactare) a unei importante părţi a energiei imaginii într-un număr relativ mic de coeficienţi ai transformatei imaginii. Dat fiind că energia totală se conservă, rezultă că o mare parte a coeficienţilor vor conţine o cantitate foarte mică de energie. Dacă notăm cu µu şi Ru valoarea medie şi covarianţa unui vector u, mărimile corespunzătoare ale vectorului transformat v sunt date de: µ µv uE E E= = = =[ ] [ ] [ ]v Au A u A (4.18)

R v v A u u A A R Av v vT

u uT T

uTE E= − − = − − = ⋅ ⋅[( )( ) ] ( [( )( ) ])* * * *µ µ µ µ (4.19)

Varianţele coeficienţilor transformatei sunt date de elementele diagonalei lui Rv, adică: σ v v k k u

Tk kk2 ( ) [ ] [ ],

*,= =R AR A (4.20)

Ţinând cont de faptul că A este o transformare unitară, rezultă că:

µ µvk

W

vT

v uT T

u un

N

k n( ) ( )* * *2

0

12

0

1

=

=

∑ ∑= ⋅ = ⋅ ⋅ =µ µ µ µA A (4.21)

Page 5: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

67

σ σvk

N

uT

u un

N

k n2

0

12

0

1

( ) [ ] [ ] ( )*

=

=

∑ ∑= = =Tr AR A Tr R (4.22)

sau

[ ] [ ]E v k E u nn

N

k

N

( ) ( )2 2

0

1

0

1

==

=

∑∑ (4.23)

Energia medie E[ v k( ) 2 ] a coeficienţilor v(k) tinde să fie inegal distribuită, chiar în cazul în care este egal distribuită în secvenţa de intrare u(n). Pentru un câmp aleator bidimensional u(m,n), a cărui valoare medie este µu(m,n) iar covarianţa este r(m,n;m',n'), coeficienţii transformării v(k,l) satisfac proprietăţile:

µ µv unm

k l a k m a l n m n( , ) ( , ) ( , ) ( , )= ⋅ ⋅∑∑ (4.24)

şi

[ ]σ µv v

nmnm

k l E v k l k l

a k m a l n r m n m n a k m a l n

2 2( , ) ( , ) ( , )

( , ) ( , ) ( , ; ' , ' ) ( , ' ) ( , ' )* *

''

= − =

= ⋅ ⋅ ⋅∑∑∑∑ (4.25)

În cazul în care covarianţa lui u(m,n) este separabilă, adică:

r m n m n r m m r n n( , ; ' , ' ) ( , ' ) ( , ' )= ⋅1 2 (4.26)

atunci varianţele coeficienţilor transformării pot fi scrise ca produse separabile:

[ ] [ ]σ σ σvT

k kT

l lk l k l2

12

22

1 2( , ) ( ) ( ) *,

*,

= ⋅ = AR A AR A (4.27)

unde R1={r1(m,m')} şi R2={r2(n,n')}. Decorelarea

În cazul în care elementele vectorului de intrare sunt înalt corelate, coeficienţii transformării tind să fie necorelaţi, respectiv termenii din afara diagonalei matricii de covarianţă Rv tind să devină foarte mici în comparaţie cu elementele de pe diagonală. Referitor la ultimele două proprietăţi, transformarea Karhunen-Loeve este optimală, adică împachetează maximum de energie într-un număr dat de coeficienţi ai transformării şi, în acelaşi timp, îi decorelează complet. Pentru exemplificarea compactării energiei şi decorelării, să considerăm un vector de dimensiuni 2x1, cu valoare medie nulă, u, care este transformat unitar în:

v u R=−

⎝⎜

⎠⎟ =

⎛⎝⎜

⎞⎠⎟ < <

12

3 11 3

11

, 0 1, unde u

ρρ

ρ

Parametrul ρ măsoară corelaţia între u(0) şi u(1). Covarianţa lui v se obţine ca:

R v =+

+

⎝⎜

⎠⎟

1 3 2 22 1 3 2ρ ρ

ρ ρ/ /

/ /

Din expresia lui Ru rezultă σ σu u2 2( ) ( )0 1 1= = adică energia medie totală, având valoarea

2, este egal distribuită între u(0) ăi u(1). Cu toate acestea, σ ρv2 ( )0 1+ 3 / 2= , iar

Page 6: Transformata Harr

Cap.4 Transformări de imagini

68

σ ρv2 ( )1 1 - 3 / 2= . Energia totală are valoarea 2, dar energia medie a lui v(0) este mai

mare decât a lui v(1). Dacă ρ=0,95, atunci 91,1% din energia totală medie va fi împachetată în primul eăantion. Corelaţia dintre v(0) ăi v(1) este dată de:

ρσ σ

ρ

ρv

v v

E v v( ) [ ( ) ( )]( ) ( ) ( )

0,1 0 10 1 2 1 3

42 1/ 2

= =−

ceea ce reprezintă, în valoare absolută, mai puţin decât ⎜ρ ⎜ (dacă ⎜ρ ⎜<1). Pentru ρ=0,95, se obţine ρv(0,1)=0,83, deci corelaţia între coeficienţii transformării s-a redus. În cazul în care vom aplica aceeaăi procedură pentru o transformare de dimensiuni 2x2:

A =−

⎛⎝⎜

⎞⎠⎟

12

1 11 1

se obţine σ ρv2 ( )0 1+= , σ ρv

2 ( )1 1 -= şi ρ v ( )0,1 0= . Pentru ρ=0,95, un procentaj de 97,5% din energie va fi împachetată în v(0). Mai mult decât atât, coeficienţii v(0) ăi v(1) devin necorelaţi. Funcţii şi imagini de bază

Diferenţa principală între diferite transformări unitare este dată de alegerea funcţiilor de bază, respectiv a liniilor matricii transformării. Aceste linii formează un set de vectori de bază într-un spaţiu N-dimensional. În mod normal, deşi orice set de asemenea vectori ortonormali poate fi folosit pentru a realiza o transformare liniară, se folosesc seturi care derivă din aceeaşi funcţie de bază. Transformarea Fourier, de exemplu, foloseşte funcţia exponenţială complexă ca funcţie de bază - prototip. Faţă de aceasta, funcţiile individuale de bază diferă numai în frecvenţă. Orice vector din spaţiu poate fi exprimat ca sumă ponderată de vectori de bază de lungime unitară. Orice transformare unitară unidimensională (Nx1) va corespunde, în consecinţă, unei rotaţii a unui vector în apaţiul vectorial N-dimensional. Prin generalizare, având în vedere că matricea corespunzătoare unei imagini de dimensiuni NxN poate fi considerată ca un vector de dimensiuni N2x1, orice transformare unitară, separabilă, simetrică, bidimensională va corespunde rotaţiei unui vector în spaţiul vectorial de dimensiune N2. Transformarea bidimensională inversă poate fi imaginată ca o însumare a unui set de imagini de bază, convenabil ponderate, în vederea reconstruirii imaginii. Fiecare element al matricii transformării reprezintă coeficientul cu care se înmulţeşte imaginea de bază corespunzătoare.

O imagine de bază poate fi generată prin transformarea inversă a unei matrici de coeficienţi conţinând numai un singur element nenul, care este considerat unitar. De fapt, există N2 asemenea matrici, care vor genera N2 imagini de bază. În fond, imaginile de bază pot fi considerate ca un set de componente în care poate fi descompusă o imagine şi, totodată, blocurile componente din care poate fi reconstruită. Transformarea directă realizează descompunerea, prin determinarea coeficienţilor, iar transformarea inversă realizează reconstrucţia prin însumarea imaginilor de bază, ponderate cu aceşti coeficienţi.

Page 7: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

69

Deoarece există o infinitate de seturi de imagini de bază, vor exista, de asemenea, o infinitate de transformări. Cu toate acestea, un anumit set de imagini de bază prezintă importanţă numai în contextul unei anumite transformări. 4.4 TRANSFORMĂRI SINUSOIDALE Transformata Fourier discretă unidimensională (DFT)

Transformarea Fourier (DFT) discretă a unei secvenţe {u(n), n=0,..., N-1} se defineşte ca:

v(k) u(n) W , k = 0,1,...N - 1Nkn

n 0

N 1

= ⋅=

∑ (4.28)

unde: W jNN = −⎛

⎝⎜⎞⎠⎟

exp 2π (4.29)

Transformarea DFT inversă este:

u(n) 1N

v(k)W , n 0,1,...N 1Nkn

k 0

N 1

= = −−

=

∑ (4.30)

Perechea de ecuaţii (4.29), (4.30) nu reprezintă transformări unitare şi, ţinând cont de faptul că în prelucrarea imaginilor este mult mai convenabil să lucrăm cu transformări unitare, vom considera perechea transformărilor DFT unitare, definite astfel:

v(k) 1 u(n) W , k = 0,1,...N - 1Nkn

n 0

N 1

= ⋅=

∑N (4.31)

u(n) 1N

v(k) W , n 0,1,...N 1Nkn

k 0

N 1

= ⋅ = −−

=

∑ (4.32)

Prin urmare matricea unitară a DFT este:

F 1N

W , 0 k,n N 1Nkn= ⎧

⎨⎩

⎫⎬⎭

≤ ≤ − (4.33)

Proprietăţile transformării Fourier discrete

Prezentăm, succint, proprietăţile mai importante ale transformării Fourier discrete: • Simetria: matricile transformărilor DFT şi DFT unitare sunt simetrice. • Extensii: extensiile transformărilor DFT ăi DFT unitare ale unei secvenţe şi

transformările lor inverse sunt periodice, cu perioada N. Dacă în definiţia (4.31) parametrul k ia toate valorile întregi, secvenţa v(k) se dovedeşte periodică, adică v(k)=v(k+N), pentru orice valoare a lui k.

• Algoritmi rapizi: transformările DFT şi DFT unitare pot fi implementate folosind algoritmi rapizi, în Nlog2N operaţii (fiecare operaţie fiind o multiplicare şi o adunare), folosind o clasă de algoritmi numită transformarea Fourier rapidă. Numărul real de operaţii necesare depinde de N şi de alegerea particulară a algoritmului din clasa respectivă. Cei mai uzuali algoritmi FFT necesită N=2p (cu p număr întreg pozitiv) operaţii.

Page 8: Transformata Harr

Cap.4 Transformări de imagini

70

• Simetria conjugată: transformarea Fourier discretă a secvenţei reale {x(n), n=0,...,N-1} este conjugată simetric în raport cu N/2. Din relaţia (4.31) se obţine:

v (n k) u (n) W u(n) W v(k)* *N

(N k)n

n 0

N 1

Nkn

n 0

N 1

− = ⋅ = ⋅ =− −

=

=

∑ ∑

(4.34) de unde rezultă imediat:

v N2

k v N2

k , k 0,..., N2

1*−⎛⎝⎜

⎞⎠⎟= +⎛

⎝⎜⎞⎠⎟

= − (4.35)

şi v N2

k v N2

k−⎛⎝⎜

⎞⎠⎟= +⎛

⎝⎜⎞⎠⎟

(4.36)

Deci frecvenţele DFT N/2+k, k=0,...,N/2-1 sunt pur şi simplu frecvenţele negative situare la ω=(2π/N)(-N/2+k) în spectrul Fourier al secvenţei finite {u(n), 0≤n≤N-1}. De asemenea, din relaţiile (4.27) şi (4.34) se poate observa că v(0) şi v(N/2) au valori reale, astfel încât secvenţa reală

v(0), {Re, {v(k)}, k=1,...,N/2 - 1}, {im{v(k), k=1,...,N/2 - 1}, v(N/2) (4.37)

defineşte complet transformarea Fourier discretă a secvenţei u(n). De aceea se poate spune că transformarea DFT sau DFT unitară a unei secvenţe reale de dimensiune Nx1 are N grade de libertate ăi necesită aceeaşi capacitate de memorie ca şi secvenţa însăşi. Transformarea Fourier discretă bidimensională

Transformarea Fourier discretă bidimensională a unei imagini {u(m,n)} de dimensiuni NxN este transformarea separabilă definită prin:

v(k,l) u(m,n) W W , 0 k,l N 1Nkm

n 0

N 1

Nln

m 0

N 1

= ⋅ ⋅ ≤ ≤ −=

=

∑∑ (4.38)

iar transformarea inversă este:

u(m,n) 1N

W W v(k,l) , 0 m,n N 12 Nkm

l 0

N 1

Nln

k 0

N 1

= ⋅ ⋅ ≤ ≤ −−

=

−−

=

∑∑ (4.39)

Perechea unitară bidimensională este dată de relaţiile:

v(k,l) 1N

W W , 0 l N 1Nkm

n 0

N 1

Nln

m 0

N 1

= ⋅ ⋅ ≤ ≤ −=

=

∑∑ u m n n( , ) , (4.40)

u(m,n) 1N

v(k,l) W W v(k,l) , 0 m,n N 1Nkm

l 0

N 1

Nln

k 0

N 1

= ⋅ ⋅ ⋅ ≤ ≤ −−

=

−−

=

∑∑ (4.41)

Proprietăţile transformării DFT bidimensionale

Proprietăţile transformării unitare DFT bidimensionale sunt similare cu cazul unidimensional şi sunt succint trecute în revistă în continuare:

• Simetrie: F F , F FT 1= =− * (4.42)

• Extensii periodice:

Page 9: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

71

v N l N v k l k l( , ) ( , ) ,+ + = ∀ (4.43)

u m N n N u m n m n( , ) ( , ) ,+ + = ∀ (4.44)

• Spectrul Fourier eşantionat: Dacă 0n)(m,usi1Nnm,0n),u(m,n)(m,u =−≤≤= ~~ în rest, rezultă:

{ }~ , ( , ) ( , )U kN

lN

DFT u m n v k l2 2π π⎛⎝⎜

⎞⎠⎟= = (4.45)

unde ~( , )U w w1 2 este transformata Fourier a lui u(m,n).

• Transformată rapidă: deoarece transformarea DFT bidimensională este separabilă, relaţiile (4.40) şi (4.41) sunt echivalente cu 2N transformări DFT unitare unidimensionale, fiecare realizabilă în Nlog2N operaţii, prin FFT. Rezultă deci că numărul total de operaţii necesare este de N2log2N.

• Simetrie conjugată: transformările DFT ăi DFT unitară ale unor imagini reale au simetrie conjugată:

v N2

k, N2

l v N2

k, N2

l , 0 k,l N2

1*± ±⎛⎝⎜

⎞⎠⎟= ⎛

⎝⎜⎞⎠⎟

≤ ≤ −∓ ∓ (4.46)

sau v(k,l) v (N k,N l), 0 k,l N 1*= − − ≤ ≤ − (4.47)

De aici se poate deduce foarte uşor că v(k,l) are doar N2 elemente reale independente. Spre exemplu, eşantioanele din regiunea haşurată în figura 4.2 determină complet transformarea DFT.

1 (N/2 -1) N/2 N-1 l

0

k

(N/2)-1

N/2

N-1 N/2

Fig. 4.2 Simetria coeficienţilor DFT

Transformarea Cosinus discretă

Transformarea cosinus discretă se defineşte, în spaţiul bidimensional, ca:

v(k,l) (k) (l) u(m,n) cos (2m 1)k2N

cos (2n 1)k2Nn 0

N 1

m 0

N 1

= ⋅ ⋅+⎡

⎣⎢⎤⎦⎥

+⎡⎣⎢

⎤⎦⎥=

=

∑∑α α π π (4.47)

unde k, l = 0, 1, ... N-1, iar inversa ei ca:

u(m,n) (k) (l) v(k,l) cos (2m 1)k2N

cos (2n 1)l2Nl=0

N 1

k=0

N 1

= ⋅ ⋅ ⋅+⎡

⎣⎢⎤⎦⎥

+⎡⎣⎢

⎤⎦⎥

−−

∑∑ α α π π (4.48)

Page 10: Transformata Harr

Cap.4 Transformări de imagini

72

unde m, n = 0, ... N-1, iar coneficienţii sunt:

α α(0) 1N

(k) 2N

pentru 1 k N= = ≤ ≤[i (4.49)

La fel ca şi transformarea DFT, transformarea cosinus discretă poate fi exprimată ca operaţie cu matrici unitare: V C uC= (4.50)

unde coeficinţii transformării C sunt:

c (k) cos (2m 1)k2Nk,m = ⋅+⎡

⎣⎢⎤⎦⎥

α π π (4.51)

Transformarea cosinus discretă are, de asemenea, un algoritm rapid de implementare dar, spre deosebire de DFT, are numai valori reale. Ca domenii de aplicabilitate, este cea mai folosită transformare în compresia de imagini (vezi cap.11). Transformarea Sinus discretă

Transformarea sinus discretă bidimensională, introdusă de A.Jain, este definită de relaţia:

v(k,l) 2N 1

u(m,n) sin (m 1)(k 1)N 1

sin (n 1)(l 1)N 1n 0

N 1

m 0

N 1

=+

⋅+ ++

⎡⎣⎢

⎤⎦⎥

+ ++

⎡⎣⎢

⎤⎦⎥=

=

∑∑ π π (4.52)

iar transformarea inversă, de:

u(m,n) 2N 1

v(k,l) sin (m 1)(k 1)N 1

sin (n 1)(l 1)N 1l 0

N 1

k 0

N 1

=+

⋅+ ++

⎡⎣⎢

⎤⎦⎥

+ ++

⎡⎣⎢

⎤⎦⎥=

=

∑∑ π π (4.53)

Transformarea sinus discretă are elementele matricii unitare de forma:

s 2N 1

sin (m 1)(k 1)N 1m,k = ++ ++

⎡⎣⎢

⎤⎦⎥

π (4.54)

Spre deosebire de alte transformări de tip sinusoidal, transformarea DST este mai uşor de implementat dacă N=2p-1, cu p număr întreg. În acest caz, poate fi considerată ca partea imaginară a unei transformări Fourier rapide de dimensiune (2N+2). Are, totodată, un algoritm rapid de implementare şi proprietăţile ei o impun pentru aplicaţii de tip compresie de imagini. Transformarea Hartley

Transformarea Hartley este o transformare integrală continuă, propusă de matematicianul cu acelaşi nume, ca alternativă la transformarea Fourier. Varianta discretă a acestei transformări (DHT) este dată de relaţiile:

v(k,l) 1N

u(m,n)cas 2N

(mk nl)n 0

N 1

m 0

N 1

= +⎡⎣⎢

⎤⎦⎥=

=

∑∑ π (4.55)

şi

Page 11: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

73

u m n( , ) = +⎡⎣⎢

⎤⎦⎥=

=

∑∑1N

v(k,l)cas 2N

(mk nl)l 0

N 1

k 0

N 1 π (4.56)

identice şi folosind funcţia de bază:

cas( ) cos( ) sin( ) 2cos( / 4)θ θ θ θ π= + = − (4.57)

Elementele matricii unitare ale transformării Hartley sunt de forma:

h 1Nm,k =

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥cas mk

N2π (4.58)

Spre deosebire de DFT, care transformă N numere reale în N numere complexe cu simetrie conjugată, transformarea Hartley discretă produce N numere reale. Ea este strâns legată de transformarea Fourier discretă, fiind pur şi simplu diferenţa dintre partea reală şi partea imaginară a transformării Fourier corespondente. Analog, transformarea Fourier este partea pară, minus de j ori partea impară a transformării Hartley. Din aceste motive, DHT constituie o alternativă din punct de vedere al implementării pe calculator, a transformării DFT, având şi ea un algoritm rapid de implementare. Anumite aplicaţii de filtrare liniară de imagini, în special în cazul unor imagini simetrice, impun folosirea DHT datorită reducerii semnificative a volumului de calcule (se evită lucrul cu numere complexe). 4.5 TRANSFORMĂRI RECTANGULARE Unele dintre transformările de interes din punctul de vedere al prelucrărilor digitale de imagini folosesc funcţii de bază ce reprezintă variaţii ale unor unde dreptunghiulare ăi nu sinusoidale ca cele prezentate până acum. În general, aceste transformări se caracterizează prin rapiditate în calcul, având în vedere faptul că multe dintre operaţiile de înmulţire pot fi evitate. În acest paragraf vor fi trecute în revistă transformările Hadamard, Walsh, Slant ăi Haar. Transformarea Haar diferă fundamental de primele trei ăi este discutată separat, în contextul transformărilor wavelet ce vor fi tratate într-un capitol separat (vezi cap.5). Transformarea Hadamard

Transformarea Hadamard este simetrică, separabilă şi unitară şi se evidenţiază prin faptul că elementele matricii transformării iau valorile de +1 sau -1. Transformarea are sens pentru N=2n, unde n este un număr întreg. Pentru o transformare 2x2, matricea corespunzătoare este:

12

H 12

1 11 12 = −⎡

⎣⎢

⎦⎥ (4.59)

iar pentru dimensiuni mai mari N, ea poate fi generată astfel:

1N

H 1NN =

−⎡

⎣⎢

⎦⎥

H HH H

N N

N N

/ /

/ /

2 2

2 2

(4.60)

Page 12: Transformata Harr

Cap.4 Transformări de imagini

74

Pentru orice dimensiune N=2n, matricea conţine doar elemente de forma ±1, cu condiţia ca factorul N-1/2 să fie în afara matricii. Spre exemplu, pentru N=8 matricea Hadamard are forma prezentată în matricea (4.61), unde în coloana din dreapta matricii se evidenţiază numărul schimbărilor de semn din linia respectivă. Se poate observa că numărul diferă de la o linie la alta şi poartă numele de secvenţa liniei. Reordonarea liniilor în aşa fel încât secvenţele corespunzătoare să fie crescătoare, în mod analog cu creşterea frecvenţei la transformarea Fourier, duce la o transformare mai uşor de implementat, care se numeşte transformare Hadamard ordonată dată de matricea (4.62):

H1

2 2

1 1 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1

07341625

8 =

− − − − −− − − −

− − − −− − − −

− − − −− − − −

− − − −

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

(4. 61) H1

2 2

1 1 1 1 1 1 1 11 1 1 1 -1 1 11 1 1 1 -1 -1 1 11 1 1 -1 1 1 1 -11 -1 -1 1 1 1 1 11 1 -1 1 1 1 1 -11 -1 1 1 1 1 -1 11 1 1 -1 1 -1 1 1

01234567

8 =

− − −− −− −

− −− −

− −− −

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

1

(4. 62)

Transformarea Walsh

Funcţiile de bază ale transformării Hadamard sunt, de fapt, funcţii Walsh. Din această cauză ea este denumită uneori ăi transformare Walsh. În unele referinţe se întâlneşte şi denumirea combinată de transformare Walsh - Hadamard. Transformarea Slant

Transformarea Slant are funcţiile de bază de ordinul 0 şi 1 liniare, fapt ce face să fie utilă în unele aplicaţii de prelucrări digitale de imagini. Matricea unitară a transformării Slant se obţine pornind de la transformarea Haar sau Hadamard de dimensiuni 2x2:

S 12

1 11 12 = −⎡

⎣⎢

⎦⎥ (4.63)

şi iterând-o în conformitate cu următorul algoritm:

SI I

I I

S

S

n

n n n n

(n / 2) 2 (n / 2) 2

n n n n

(n / 2) 2 (n / 2) 2

n 1

n 1

12

1 0a b

1 0a b

0 1b a

0 1b a

=

−−

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

− −

− −

0 0

0 0

0 0

0 0

0

0

(4.64)

unde I este matricea identitate de ordinul N/2-2, iar

Page 13: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

75

a 3N4N 1

si b N 14N 12N

2

2 2N

2

2=−

=−−

(4.65)

Funcţiile de bază ale transformării Slant apar în toate secvenţele, începând de la 0 la N-1. Transformarea Haar

Transformarea Haar este simetrică, unitară şi separabilă şi foloseşte ca funcţii de bază funcţiile Haar. Transformarea are sens pentru N=2n, unde n este un număr întreg. Spre deosebire de transformarea Fourier, unde funcţiile de bază diferă numai în poziţie pe axa frecvenţelor, funcţiile Haar variază atât în modul cât şi în poziţie (scală). Această caracteristică particularizează transformarea Haar faţă de celelalte tipuri de transformări rectangulare şi face ca ea să constituie, totodată, un punct de plecare pentru transformările de tip "wavelet" (undişoare). Funcţiile Haar fiind variabile de doi parametri (scală şi poziţie), indexarea lor trebuie făcută după o schemă duală. Ele se definesc pe intervalul [0,1] după cum urmează: se consideră k un număr întreg, 0≤k≤N-1 unic determinat de alţi doi întregi p şi q astfel: k 2 q 1p= + − (4.66)

De observat că, prin această modalitate de definire, nu numai k este o funcţie de p şi q, dar şi p şi q sunt funcţii de k. Pentru orice valoare a lui k>0, 2p este cea mai mare putere a lui 2 care îndeplineăte condiţia 2p≤k, iar q -1 este restul împărţirii.

Funcţiile Haar se definesc astfel:

h (x) 1N0 =

şi

h (x) 1N

2 , daca q 12

x q 1 / 22

2 , daca q 1 / 22

x q2

0 , in restk

p / 2p p

p / 2p p=

−≤ <

−−

≤ <

⎪⎪⎪

⎪⎪⎪

(4.67)

Dacă se va considera x=i/N, i=0, 1,..., N-1, va rezulta un set de funcţii de bază. Acestea variază atât ca modul (scală) cât şi în poziţie. Indicele p specifică scala iar q determină deplasarea. Din această cauză, ordonarea coeficienţilor transformării după k nu este la fel de edificatoare ca, spre exemplu, ordonarea spaţiului coeficienţilor obţinut în urma unei transformări Fourier. Pe de altă parte, dacă presupunem o caracteristică anumită a imaginii, de tip linie sau muchie, într-o anumită poziţie de-a lungul axei x, transformata Fourier va codifica această poziţie în spectrul de fază, în conformitate cu teorema deplasării. În timp ce poziţia conturului este unic specificată şi poate fi reconstruită exact cu ajutorul transformării Fourier inverse, ea nu va fi extrem de observabilă în spectru. În contrast cu aceasta, transformarea Haar evidenţiază clar liniile şi muchiile, dat fiind faptul că funcţiile sale de bază sunt asemănătoare acestor caracteristici. De remarcat faptul că un semnal sau o componentă a acestuia care se potriveşte cu funcţia de bază a unei

Page 14: Transformata Harr

Cap.4 Transformări de imagini

76

transformări, va determina, prin transformare, un coeficient de valoare mare corespunzând acelei funcţii de bază. Având în vedere faptul că funcţiile de bază sunt ortonormale, semnalul va produce în rest coeficienţi de valoare mult mai mică. În acest mod, transformarea Haar poate evidenţia caracteristici de tip linie sau muchie prin mărimea şi poziţia lor. Matricea unitară 8x8 a transformării Haar este:prezentată în relaţia (4.68) şi topologia se păstrează pentru numere N mai mari. Datorită faptului că o mare parte dintre coeficienţii matricii sunt constanţi sau nuli, transformarea Haar este foarte rapidă.

H r =

− − − −− −

− −−

−−

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

18

1 1 1 1 1 1 1 11 1 1 1 1 1 1 12 2 2 2 0 0 0 0

0 0 0 0 2 2 2 22 2 0 0 0 0 0 00 0 2 2 0 0 0 00 0 0 0 2 2 0 00 0 0 0 0 0 2 2

01222222

(4.68)

4.6 TRANSFORMĂRI BAZATE PE VECTORI PROPRII Funcţiile de bază folosite în două dintre transformările de imagine importante din punctul de vedere al aplicaţiilor sunt derivate din analiza valorilor proprii. Reamintim că, pentru o matrice A de dimensiuni NxN, există N numere scalare λk, k=0, ..., N-1, astfel încât: A − ⋅ =λ k Γ 0 (4.69)

Numerele λk se numesc valori proprii ale matricii, iar setul de N vectori vk, definit astfel încât: Av vk k k= λ (4.70)

se numesc vectori proprii ai matricii A. Aceşti vectori au dimensiunea Nx1 şi fiecare corespunde unei valori proprii. Ei formează un set de bază ortonormal. Presupunând x un vector aleator de dimensiuni Nx1, fiecare element xi a lui x este o variabilă aleatoare. Valoarea medie a lui x poate fi estimată dintr-un eăantion de L asemenea vectori prin:

m x ==∑1

Lxl

l

L

1

(4.71)

iar matricea sa de covarianţă poate fi estimată prin:

{ }Cx = − − = −=∑E (k m )(x m ) 1

Lx x m mx x

Tl l

tx x

t

l 1

L

(4.72)

Această matrice de covarianţă are dimensiuni NxN, este reală şi simetrică. Elementele diagonalei sunt varianţele variabilelor aleatoare individuale, în timp ce elementele din afara diagonalei reprezintă covarianţele acestora. În cazul în care matricea A defineăte o transformare liniară care generează noii vectori y, pornind de la vectorii x, prin: y A x m x= −( ) (4.73)

Page 15: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

77

A este definită în aşa fel, încât liniile ei sunt vectorii proprii ai lui Cx. Pentru uşurinţa calculelor, liniile lui A se pot ordona descrescător după mărimea valorilor proprii corespunzătoare. Vectorul transformat, y, este un vector aleator, cu valoare medie nulă. Matricea sa de covarianţă este dependentă de cea corespunzătoare vectorului x prin relaţia:

C Ay = C AxT (4.74)

Având în vedere faptul că liniile matricii A sunt vectori proprii ai matricii Cx, Cy va fi o matrice diagonală, având de-a lungul diagonalei principale valorile proprii ale lui Cx (consecinţă a relaţiei 4.70). De aici,

C y

N

=

⎢⎢⎢⎢

⎥⎥⎥⎥

λ

λ

1 0

0

(4.75)

unde λk sunt şi valorile proprii ale lui Cy. Datorită faptului că elementele din afara diagonalei lui Cy sunt nule, rezultă că elementele vectorului y vor fi necorelate, ceea ce înseamnă că transformarea A înlătură corelaţia între variabile, iar λk reprezintă varianţa variabilei transformate de ordinul k, yk. Este de subliniat, de asemenea, că relaţia (4.73) este reversibilă, adică vectorul x poate fi reconstruit din vectorul său transformat, y, prin:

x A y m A y m1 T= + = +− (4.76) Această proprietate rezultă din faptul că A este o matrice reală şi unitară şi, deci, ortonormală. Dimensiunea vectorilor y poate fi redusă prin neglijarea unuia sau mai multor vectori proprii având valori proprii mici. Dacă vom considera matricea B, de dimensiuni MxN, obţinută prin eliminarea ultimelor N-M linii ale matricii A şi vom presupune, pentru simplificare, că m=0, atunci vectorii transformaţi vor avea dimensiuni mai mici (Mx1) şi se vor obţine folosind relaţia:

~y B x= (4.77)

Folosind vectorii ~y se pot reconstrui aproximativ vectorii x:

~ ~x B yT= ⋅ (4.78) cu eroare medie pătratică de forma:

σ λe k

N2 =

= +∑

k M 1

(4.79)

adică suma valorilor proprii corespunzătoare vectorilor proprii neglijaţi. În mod normal, varianţele valorilor proprii sunt considerabile ca mărime, iar cele mici pot fi neglijate fără a se introduce erori semnificative. Transformarea Karhunen - Loeve

Relaţia (4.73) defineşte o transformare discretă unidimensională, numită în general, în literatura de specialitate transformarea Karhunen - Loeve (sau K-L) dar

Page 16: Transformata Harr

Cap.4 Transformări de imagini

78

şi transformarea Hotelling, transformarea vectorilor proprii, transformarea componentelor principale. Capacitatea acestei transformări de a reduce dimensiunile vectorilor transformaţi o face extrem de utilă în compresia de imagini. Imaginile multispectrale, de exemplu, conţin mai multe nivele de gri pentru acelaşi pixel, fiecare nivel de gri corespunzând unei benzi spectrale diferite. Spre exemplu, o imagine multispectrală pe 24 benzi, având dimensiunea de 1000x1000, poate fi considerată ca un set de un milion de vectori având fiecare 24 elemente. Tehnica reducerii dimensiunilor vectorilor prin transformarea Karhunen-Loeve (K-L) poate fi aplicată în acest caz, spre exemplu, deoarece corelaţia între diferite benzi spectrale este, în general, destul de ridicată şi, în consecinţă, multe dintre cele 24 valori proprii vor fi mici.

Aceasta înseamnă că setul de 24 imagini monocrome poate fi reprezentat, cu erori relativ mici, prin doar câteva imagini principale, fiecare dintre ele fiind calculată ca o sumă ponderată a celor 24 iniţiale. De asemenea, fiecare dintre acestea poate fi reconstruită aproximativ, ca şi combinaţie liniară a celor câteva imagini principale. Metoda uşurează foarte mult stocarea şi transmisia imaginilor, spre exemplu a celor preluate de la sateliţi. În general, imaginile de bază ale transformării K-L depind de statistica imaginii luate în considerare ăi nu pot fi scrise în mod explicit. Dacă imaginea poate fi considerată ca un proces Markov de ordinul întâi, la care corelaţia între pixeli scade liniar cu distanţa care îi separă, imaginile de bază pot fi scrise explicit. Pentru imaginile întâlnite în mod obişnuit în practică, încadrarea ca procese Markov este suficient de potrivită. Dacă corelaţia între pixelii adiacenţi este apropiată de unitate, funcţiile de bază K-L se apropie de cele ale transformării cosinus discrete. Astfel, transformarea DCT, mult mai rapidă şi mai uşor de implementat, poate constitui o foarte bună aproximare a transformării Karhunen-Loeve, pentru imaginile uzuale. Transformarea K-L rapidă

Dificultăţile de implementare a transformării K-L sunt legate de volumul mare de calcule necesitate, mai ales în cazul imaginilor de dimensiuni mari. Transformarea K-L depinde şi de statistica imaginii şi, în general, se poate spune că vectorii de bază nu au o reprezentare analitică, ca în cazul altor transformări. S-a demonstrat, totuşi, că anumite modele statistice de imagini permit implementarea unui algoritm rapid pentru transformarea K-L. Acesta se bazează pe o descompunere stochastică a imaginii într-o sumă de două secvenţe aleatoare. Prima se alege în aşa fel, încât transformata ei K-L să fie o transformare rapidă iar a doua, numită "răspunsul conturului", depinde numai de informaţia conţinută în contururile prezente în imagine. Transformarea SVD (descompunerea în valori singulare)

O matrice NxN, A, poate fi exprimată ca: A U V T= ∧ (4.80)

Page 17: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

79

unde coloanele lui u şi v sunt vectorii lui AAT şi respectiv ATA, iar ∧ este o matrice diagonală conţinând valorile singulare ale lui A pe diagonala principală. Dat fiind faptul că U şi V sunt ortogonale, ∧ = U AVT (4.81) Relaţia (4.79) defineşte o transformare unitară directă, iar (4.78) perechea sa inversă, numită transformare "cu descompunere ţn valori singulare" (“singular value decomposition”- SVD). Dacă A este simetrică, atunci U=V. Este de remarcat faptul că matricile transformărilor, U şi V, depind de imaginea A care trebuie transformată. În general este necesară calcularea vectorilor proprii ai lui AAT şi ATA pentru fiecare imagine care se transformă. De asemenea, deoarece A este o matrice diagonală, va avea cel mult N elemente nenule. Din această cauză va rezulta o compresie fără pierderi cu un factor de cel puţin N, mai mare decât cel obţinut dacă A are câteva valori nule sau neglijabile. Rezultă de aici faptul că efortul suplimentar de calcul aduce cu sine îmbunătăţirea semnificativă a raportului de compresie. În mod normal, unele dintre valorile singulare sunt suficient de mici pentru a putea fi ignorate, cu o eroare nesemnificativă, obţinându-se o compresie "cu pierderi" prin eliminarea valorilor Ai,i mici. Eroarea medie pătratică ce rezultă prin această trunchiere este pur şi simplu suma valorilor singulare eliminate. Trebuie remarcat însă faptul că eficienţa în compresia imaginilor a transformării SVD este, într-un fel, înşelătoare. Cu toate că întreaga imagine poate fi comprimată în elementele diagonalei matricii A, matricile transformării, U ăi V, sunt specifice fiecărei imagini. Ele vor trebui transmise împreună cu imaginea, în vederea reconstrucţiei la recepţie. E posibil, totuăi, ca o pereche de asemenea matrici să fie folosite, cu aproximaţie, pentru un grup de imagini similare. Pentru ilustrare, să luăm o imagine de dimensiuni 5x5:

A =

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

0 1 2 1 01 3 4 3 12 4 5 4 21 3 4 3 10 1 2 1 0

Rezultă că matricile AAT şi λ vor fi:

AA T =

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

=

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

6 14 18 14 614 36 48 36 1418 48 65 48 1814 36 48 36 146 14 18 14 6

147,071,8720,058

00

; λ

Matricea transformării SVD directe, U, va fi:

U =

− −− − −

−−

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

0,186 0,638 0,241 0,695 0,6950,476 0,058 0,52 0,133 0,1280,691 0,422 0,587 0 00,476 0,058 0,52 0,133 0,1280,186 0,638 0,241 0,695 0,695

Matricea valorilor singulare este:

Page 18: Transformata Harr

Cap.4 Transformări de imagini

80

∧ = =−

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

U AUT

12,58 0 0 0 00 1,142 0 0 00 0 0,557 0 00 0 0 0 00 0 0 0 0

Transformarea SVD inversă, aplicată matricii ∧ ne dă:

A U U T= =

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

0 1 2 1 01 3 4 3 12 4 6 4 21 3 4 3 10 1 2 1 0

4.7 FILTRAREA ÎN DOMENIUL TRANSFORMATEI Filtrarea liniară poate fi modelată ca o multiplicare a spectrului Fourier a unei imagini cu o funcţie de transfer definită în domeniul frecvenţă. Analog se pot defini algoritmi de filtrare şi pentru celelalte transformări de imagini. La fel ca şi transformarea Fourier, transformările unitare în general realizează o expandare a imaginii ca sumă ponderată a imaginilor de bază. Prin transformarea directă se determină, de fapt, coeficienţii de ponderare, iar în transformarea inversă se face reasamblarea imaginii din imaginile de bază. Filtrarea în domeniul transformatei presupune o modificare a coeficienţilor de ponderare, înaintea reconstrucţiei imaginii prin transformarea inversă. În cazul filtrării liniare, transformarea va fi o transformare Fourier, iar modificarea se face înmulţind spectrul cu o funcţie de transfer. În cazul mai general al filtrării, matricea coeficienţilor este modificată (prin înmulţire sau prin alte metode) iar după transformarea inversă rezultă imaginea filtrată. În mod evident, natura vectorilor şi, implicit, a imaginilor de bază ce rezultă stabilesc comportarea diferitelor transformări din acest punct de vedere. De exemplu, zgomotul de tip sinusoidal ce afectează o imagine va apărea foarte compact în domeniul transformării de tip sinusoidal şi, deci, va putea fi înlăturat foarte uăor prin anularea coeficienţilor respectivi. În cazul transformărilor rectangulare, problema eliminării unui asemenea tip de zgomot se complică, deoarece el nu va putea fi separat la fel de uşor în domeniul transformatei. În general, dacă fie componentele semnalului (utile), fie componentele zgomotului (nedorite) din imagine sunt asemănătoare imaginilor de bază ale unei anumite transformări, atunci acea transformare este cea mai potrivită pentru separarea lor, deoarece acele componente vor fi reprezentate foarte compact în domeniul transformatei. Transformarea Haar, spre exemplu, este utilă în cazul detecţiei liniilor sau muchiilor verticale şi orizontale, deoarece unele dintre imaginile sale de bază se potrivesc cu aceste caracteristici. Un exemplu în acest sens este dat în cazul imaginii de dimensiuni 8x8 prezentate în matricea care urmează:

Page 19: Transformata Harr

PRELUCRAREA DIGITALĂ A IMAGINILOR

81

1 1 1 1 1 1 1 11 1 1 1 1 1 1 10 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0

2 0 0 0 0 0 0 02 0 0 0 0 0 0 0

2,83 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

Imagine Transformata Haar

Dat fiint faptul că transformarea este separabilă, o caracteristică a acesteia de tipul unei linii sau muchii orizontale şi verticale va produce coeficienţi diferiţi de zero numai în prima linie şi, respectiv în prima coloană a imaginii transformate. Numărul coeficienţilor diferiţi de zero va fi cel mult N/2, iar poziţia muchiei în imagine determină care şi câţi dintre coeficienţi vor fi nenuli. Datorită asocierii strânse cu sistemele liniare, transformarea Fourier prezintă cel mai bine pus la punct fundament teoretic în ceea ce priveşte filtrarea imaginilor. Celelalte transformări sunt mai dificil de interpretat din punctul de vedere al filtrării şi, de aceea, folosirea lor se face adesea pe bază de experimente. Înţelegerea similarităţilor şi diferenţelor între aceste transformări este extrem de importantă în alegerea unor soluţii potrivite pentru diferite tipuri de aplicaţii. 4.8 CONCLUZII Transformarea DFT: este o transformare rapidă, foarte utilizată în prelucrarea digitală a semnalelor, convoluţie, filtrare digitală, analiză. Prezintă o foarte bună împachetare a energiei imaginilor. Necesită, însă, calcule cu valori complexe.

Transformarea DCT: este o transformare rapidă, necesită operaţiuni reale şi este alternativă optimală a transformării K-L pentru imagini înalt corelate. Este utilizată în proiectarea codoarelor prin transformări şi a filtrelor Wiener. Prezintă, de asemenea, o compactare a energiei excelentă.

Transformarea DST: este aproximativ de două ori mai rapidă decât transformarea cosinus rapidă, este simetrică şi necesită operaţiuni reale; permite implementarea unui algoritm rapid pentru transformarea K-L pentru codare, filtrare, ş.a.; se foloseşte, de asemenea, în estimarea performanţelor în multe aplicaţii de prelucrare de imagini. Compactarea energiei este foarte bună.

Transformarea Hadamard: este mai rapidă decât transformările sinusoidale, având în vedere că nu necesită operaţii de înmulţire; se foloseşte pentru implementarea hard a algoritmilor de prelucrare digitală a imaginilor. Se poate spune că este uşor de simulat dar dificil de implementat şi se aplică în compresia de imagini, filtrare şi proiectarea de codoare. Prezintă şi ea o bună compactare de energie.

Transformarea Haar: este o transformare foarte rapidă; se foloseşte în extragerea de caracteristici, codarea de imagini şi în aplicaţii de analiză a imaginilor. Compactarea de energie este medie.

Page 20: Transformata Harr

Cap.4 Transformări de imagini

82

Transformarea Slant: este o transformare rapidă şi are o foarte bună compactare a energiei imaginilor; se foloseşte la codarea imaginilor.

Transformarea Karhunen-Loeve: este transformarea optimală din mai multe puncte de vedere, dar nu prezintă un algoritm rapid şi, de aceea, se foloseşte mai ales în cazul vectorilor de dimensiuni mici, cum ar fi vectorii corespunzători unor imagini multispectrale, precum şi pentru evaluarea performanţelor altor transformări. Are cea mai bună compactare a energiei în sensul erorii pătratice medii minime.

Transformarea SVD: prezintă cea mai mare eficienţă din punctul de vedere a împachetării energiei unei imagini date. Din păcate, matricea transformării diferă esenţial de la o imagine la alta; nu are un algoritm rapid sau o transformare rapidă care să o înlocuiască. Se foloseşte în proiectarea filtrelor separabile cu răspuns finit la impuls, la găsirea rangurilor matricilor de dimensiuni mari, etc. Aplicaţii potenţiale ale transformării SVD ar putea fi în restaurarea de imagini, estimarea spectrului energetic şi în compresia de date.