1 / 70

# TRANSFORMARI DE IMAGINI - PowerPoint PPT Presentation

TRANSFORMARI DE IMAGINI. Cuprins Formulare generala Transformarea Walsh Transformarea Hadamard Transformarea Haar Wavelets Transformarea cosinus Transformarea sinus Tranformarea Hartley. FORMULARE GENERALA

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'TRANSFORMARI DE IMAGINI' - agalia

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### TRANSFORMARI DE IMAGINI

Formulare generala

Transformarea Walsh

Transformarea Haar

Wavelets

Transformarea cosinus

Transformarea sinus

Tranformarea Hartley

Desi transformarea Fourier este cea mai utilizata in prelucrari de imagini, exista o serie de alte transformari care de asemenea prezinta un interes deosebit.

Transformarea Fourier poate fi exprimata printr-o relatie generala sub forma:

unde T(u) este transformata lui f(x), g(x,u) este nucleul transformarii directe, iar u=0,1,...,N-1. Pentru transformata inversa exista relatia:

unde h(x,u) este nucleul transformarii inverse si x ia valori in domeniul 0,1,...,N-1. Natura transformarii este data de proprietatile nucleului.

In cazul imaginilor, in general a ariilor bidimensionale, transformarile directe si inverse sunt date de ecuatiile:

si

unde g si h sunt nucleele de transformare directa si inversa.

Definitie. transformarile directe si inverse sunt date de ecuatiile: Nucleul de transformare directa este separabil daca:

g(x,y,u,v) = g1(x,u)g2(y,v)

Definitie. Nucleul de transformare directa este simetric daca g1 este egal cu g2, deci acesta poate fi exprimat sub forma:

g(x,y,u,v) = g1(x,u)g1(y,v)

Pentru nucleul de transformare inversa se pot enunta definitii asemanatoare.

Transformarea Fourier bidimensionala este un caz particular al transformarii generale, in care nucleul este:

g(x,y,u,v) = 1/N e-i2π(ux+vy)/N

care este separabil si simetric

g(x,y,u,v) = g1(x,u)g1(y,v) =

Asemanator, se poate arata ca nucleul transformarii Fourier inverse este separabil si simetric.

Consecinta cea mai importanta: o transformare cu un nucleu separabil poate fi calculata in doi pasi, fiecare necesitand cate o transformare unidimensionala. Astfel, se aplica transformarea unidimensionala functiei f(x,y), de-a lungul fiecarui rand, obtinand:

pentru x=0,1,...,N-1. Apoi transformarea unidimensionala este considerata pe fiecare coloana in parte, obtinand:

pentru u,v = 0,1,...,N-1.

Aceeasi metoda poate fi aplicata si pentru transformarea inversa daca nucleul h(x,y,u,v) este separabil.

Daca nucleul transformarii directe separabil poate fi calculata in doi pasi, fiecare necesitand cate o transformare unidimensionala. Astfel, se aplica transformarea unidimensionala functiei g(x,y,u,v) este separabil si simetric, ecuatia de transformare se poate exprima si sub forma matriciala:

T = AFA

unde F este matricea de imagine cu N*N pixeli, A este o matrice de transformare simetrica N*N cu elemente aij = g1(i,j), iar T este transformata rezultata N*N pentru valori ale lui u,v in domeniul 0,1,2,...,N-1. Prin inmultirea relatiei precedente in ambii membrii la stanga si la dreapta cu matricea de transformare inversa B se obtine:

BTB = BAFAB

F = BTB

unde s-a tinut cont ca B = A-1 => o imagine digitala F poate fi refacuta complet din transformata sa T. In cazul in care B nu este identic cu A-1, ecuatia furnizeaza o aproximatie a imaginii initiale:

F' = BAFAB

O proprietate importanta a matricilor de transformare: pot fi descompuse in produse de matrici cu mai multe zerouri decat matricea originala => reduce redundanta si in consecinta numarul de operatii necesare implementarii transformarii bidimensionale.

Mai general, se considera o imagine de dimensiune MxN, reprezentata prin matricea:

Transformarea generala se poate exprima prin relatia: fi descompuse in produse de matrici cu mai multe zerouri decat matricea originala => reduce redundanta si in consecinta numarul de operatii necesare implementarii transformarii bidimensionale.

F = p f q

unde

pentru u = 0,1,…,M-1 si v = 0,1,…,N-1. Daca p si q sunt matrici nesingulare (cu determinanti nenuli), atunci exista matricile lor inverse si

f = p-1 F q-1

Daca p si q sunt simetrice ( p = pT ), reale si ortogonale ( pTp = I ), atunci

F = p f q si f = p F q

iar transformarea este o transformare ortogonala.

Transformarea Walsh fi descompuse in produse de matrici cu mai multe zerouri decat matricea originala => reduce redundanta si in consecinta numarul de operatii necesare implementarii transformarii bidimensionale.

Transformarile Walsh, Hadamard si Haar utilizeaza ca functii de baza un set de functii nesinusoidale.

Pentru N=2n, transformarea Walsh discreta a unei functii f(x), notata cu W(u), se obtine inlocuind nucleul transformarii:

in ecuatia transformarii generale, obtinindu-se relatia:

unde bk(z) este bitul k in reprezentarea binara a lui z.

Valorile pentru fi descompuse in produse de matrici cu mai multe zerouri decat matricea originala => reduce redundanta si in consecinta numarul de operatii necesare implementarii transformarii bidimensionale.g(x,u), exceptand factorul constant 1/N, sunt reprezentate in tabel, pentru N=8.

x

│ 0 1 2 3 4 5 6 7

──┼─────────────────

0 │ + + + + + + + +

1 │ + + + + - - - -

2 │ + + - - + + - -

u 3 │ + + - - - - + +

4 │ + - + - + - + -

5 │ + - + - - + - +

6 │ + - - + + - - +

7 │ + - - + - + + -

 matrice simetrica, ale carei coloane si randuri sunt ortogonale.

Aceste proprietati, conduc la un nucleu al transformarii inverse identic cu cel al transformarii directe, exceptand un factor constant 1/N, deci:

deci transformarea Walsh inversa este data de relatia:

=> orice algoritm pentru calculul transformarii directe poate fi utilizat si pentru calculul transformarii inverse, inmultind rezultatul cu N.

In cazul imaginilor bidimensionale, mai general al functiilor de doua variabile, nucleele de transformare directa si inversa sunt date de relatiile:

Rezulta de asemenea ca transformarile Walsh directe si inversa sunt identice ca forma:

si

La fel ca in cazul unidimensional, orice algoritm de calcul al transformatei directe bidimensionale, se poate utiliza si pentru calcularea transformarii inverse.

Nucleele transformarilor Walsh sunt separabile si simetrice caci:

g(x,y,u,v) = g1(x,u)g1(y,v) =h1(x,u)h2(y,v)

Rezulta ca W(u,v) si inversa sa se pot calcula prin aplicarea succesiva a transformarii Walsh unidimensionale (tehnica de calculare este asemanatoare cu cea prezentata pentru transformarea Fourier).

Se poate aplica si o metoda de calculare rapida a transformatei Walsh (FWT), asemanatoare metodei FFT, cu dublare succesiva, pentru care:

W(u) = 1/2 {Wpar(u)+Wimpar(u)}

si

W(u+M) = 1/2 {Wpar(u)-Wimpar(u)}

unde M=N/2, u=0,1,...,M-1, W(u) denota transformarea Walsh unidimensionala, iar

Algoritm de calcul al transformatei Walsh directe, care utilizeaza aceste relatii.

Parametrii de intrare:

-vectorul F, continand valorile esantionate ale semnalului;

-LN = log2N (cu N lungimea vectorului F, putere a lui 2).

Rezultatul:

-vectorul F, care la revenirea din procedura contine valorile transformatei Walsh a vectorului de intrare.

De remarcat: transformata Walsh este reala => necesita o cantitate mai mica de memorie decat transformata Fourier.

Au fost studiate transformarile Fourier si Walsh. Transformarea Fourier consta in esenta dintr-o proiectie pe un set de forme de unda sinusoidale. Coeficientii Fourier se numesc componentele de frecventa si formele de unda sunt ordonate dupa frecvente.

Transformarea Hadamard consta dintr-o proiectie pe un set de forme de unda dreptunghiulare numite functii Walsh. Coeficientii transformarii Hadamard se numesc componentele de secventa, iar functiile Walsh sunt ordonate dupa numarul de treceri prin zero. Functiile Walsh sunt reale si iau numai valorile 1 sau –1. Nucleul transformarii Hadamard:

unde suma de la exponent este realizata modulo 2, iar bk(z) este bitul k din reprezentarea binara a lui z.

Transformarea Hadamard unidimensionala: utilizeaza aceste relatii.

unde N=2n, iar u=0,1,2,...,N-1.

Nucleul formeaza o matrice ale carei randuri si coloane sunt ortogonale => nucleu al transformarii inverse egal cu cel al transformarii directe (cu exceptia unui factor 1/N):

rezultand relatia pentru transformarea inversa:

pentru x=0,1,2,...,N-1.

Observatie: in cazul bidimensional nucleele transformarilor directa si inversa sunt identice. Ecuatiile transformarilor:

=> pentru transformarile Hadamard se poate utiliza acelasi algoritm.

Nucleele Hadamard sunt separabile si simetrice: directa si inversa sunt identice. Ecuatiile transformarilor:

g(x,y,u,v) = g1(x,u)g1(y,v) = h1(x,u)h1(y,v) =

Cu exceptia factorului 1/N, g1 si h1 sunt identici expresiei nucleului transformarii unidimensionale. Deoarece nucleele de transformare Hadamard bidimensionale sunt separabile => perechea de transformari bidimensionale se poate obtine prin aplicarea succesiva a algoritmului Hadamard unidimensional. Modificarea algoritmului de transformare Walsh rapida => transformata Hadamard rapida (FHT). O alta solutie: calcularea transformatei Walsh si reordonarea rezultatului (elementelor vectorului de iesire).

Se poate stabili o relatie recursiva simpla pentru obtinerea matricilor de transformare generala. O matrice Hadamard de ordinul N, cu NxN elemente, este simetrica avand numai elemente 1 si –1. Matricea Hadamard de cel mai mic ordin (N=2) este:

Considerand HN matrice de ordin N, relatia recursiva este:

cu N=2n (exista si matrici Hadamard de dimensiuni care nu sunt puteri ale lui 2, dar se utilizeaza mai putin in prelucrarile de imagini).

Matricea de transformare generala din matricilor de transformare generala. O matrice Hadamard de ordinul T = AFAse scrie sub forma:

Se poate calcula usor matricea Hadamard inversa cu relatia:

Transformarile Hadamard directa si inversa sunt date de relatiile:

Se poate observa ca pentru calcularea transformarilor Hadamard sunt necesare operatii de inmultire de matrici, care insa se reduc numai la operatii de adunare/scadere. Transformarea Hadamard se mai numeste uneori transformarea Walsh-Hadamard, caci baza transformarii o constituie functiile Walsh.

Harmuth (H. F. Harmuth, Transmission of Information by Orthogonal Functions, Springer-Verlag, New York, 1969) a dat o interpretare in frecventa pentru matricea Hadamard, luand in considerare numarul de schimbari de semn pe fiecare linie a matricii, obtinand astfel un set de functii de baza ale transformarii. Exemplu pentru o matrice 16x16:

Aceste functii se mai numesc si functii Walsh. Astfel, matricea Hadamard realizeaza descompunerea unui semnal printr-un set de forme de unda rectangulare , spre deosebire de transformarea Fourier care realizeaza o descompunere pe baza unor forme de unda sinus-cosinus.

Transformarea Haar grafica a transformarii Hadamard:

Transformarea Haar se obtine din matricile Haar. Astfel, matricile Haar 4×4 si 8×8 sunt:

Reprezentarea grafica a functiilor de baza Haar pentru grafica a transformarii Hadamard:N=16:

Numarul undei u

→ x

unde VN este matricea de scalare N/2×N:

iar matricea WN este matricea wavelet N/2×N:

Elementele liniilor din VN reprezinta semnalele de scalare de nivel intai, iar elementele liniilor din WN se numesc waveleturi Haar de nivel intai.

unde:

(concatenare pe coloana). Vectorul a1 reprezinta trendul elementelor lui f (media dinamica), iar d1 fluctuatia dinamica a elementelor lui f. Pasul urmator este calcularea transformarii Haar de nivel doi din componenta de trend a transformarii de nivel intai si concatenarea cu vectorul de fluctuatie de nivel intai.

unde:

sunt vectori N/4×1.

In aplicatiile de prelucrare a imaginilor transformarea Haar furnizeaza un domeniu in care un tip de energie diferentiala este concentrata in regiuni localizate.

Imagine intuitiva a procesului iterativ:

Wavelets grafica a transformarii Haar:

Wavelet-urile reprezinta o alta abordare de descompunere a unor semnale complexe in sume de functii de baza. Functiile Fourier sunt localizate in frecventa, dar nu si in domeniul spatial (in timp); determina valorile de frecventa, dar nu si aparitiile acestora. Modificari minore de frecventa produc modificari majore in domeniul spatial.

Wavelet-urile sunt locale atat in frecventa (prin dilatari “dilations”) cat si in timp (prin translatari). Anumite zgomote sau discontinuitati intr-o imagine necesita mai putine functii de baza wavelet, decat ar necesita functii de baza sinus si cosinus. Astfel de imagini au o reprezentare mai compacta utilizand wavelet-uri, decat utilizand functii sinus si cosinus.

Exista multe tipuri de wavelet-uri, utile in diferite scopuri. Asa cum functiile sinus si cosinus sunt utilizate in analiza Fourier, wavelet-urile sunt utilizate ca functii de baza in reprezentarea altor functii. Wavelet-urile sunt derivate dintr-o functie de baza numita functia “mother wavelet” sau wavelet de analiza. Cea mai simpla astfel de functie este functia “Haar Mother Wavelet”

Functia Haar Mother: grafica a transformarii Haar:

Functia wavelet de baza fiind fixata grafica a transformarii Haar:Φ(x), se formeaza translatari si dilatari ale acesteia

unde se considera valori speciale pentru a si b: a=2-j , b=k·2-j .

Coeficientii Haar wavelet. Coeficientii din coltul stanga sus corespund imaginii de rezolutie scazuta, iar celelalte cadre corespund unor caracteristici de rezolutie mare.

Wavelet-urile sunt utilizate pentru compresia de imaginilor, suprimarea zgomotelor, vederea cu ajutorul calculatorului, dar si in alte domenii cum sunt radar, predictia cutremurelor, etc.

TRANSFORMARILE COSINUS, SINUS SI HARTLEY sus corespund imaginii de rezolutie scazuta, iar celelalte cadre corespund unor caracteristici de rezolutie mare.

Transformarile cosinus, sinus si Hartley sunt transformari unitare care utilizeaza functii de baza sinusoidale, la fel ca transformarea Fourier. Transformarile cosinus si sinus nu reprezinta partile cosinus si sinus din transformarea Fourier (care nu sunt functii ortogonale). Transformarea Hartley utilizeaza functii de baza sinus si cosinus, dar coeficientii acestora sunt numere reale, spre deosebire de transformarea Fourier care are in general coeficienti complecsi.

Transformarea cosinus discreta sus corespund imaginii de rezolutie scazuta, iar celelalte cadre corespund unor caracteristici de rezolutie mare.

Transformarea cosinus a fost introdusa de Ahmed (N. Ahmed, T. Natarajan and K. R. Rao, “On Image Processing and a Discrete Cosine Transform,” IEEE Trans. Computers, C-23, 1, January 1974, 90–93) si are largi aplicatii in codificarea si compresia imaginilor (standardul JPEG pentru poze si MPEG pentru video).

Teoria Fourier specifica faptul ca orice semnal periodic poate fi reprezentat ca o suma infinita de unde sinusoidale simle cu frecvente si amplitudini variabile. Se va considera semnalul corespunzator unei linii de pixeli dintr-o imagine, deci un semnal unidimensional, pentru care :

f(x) este o functie periodica pe domeniul spatial, unde ω=2πf,f fiind frecventa fundamentala a undei. Pe masura ce n varieaza, sunt considerate componentele de frecventa, an este amplitudinea componentei a n-a de frecventa.

Un exemplu in care o unda este o suma de trei unde sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Se considera o linie de pixeli dintr-o imagine, 8 pixeli. sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Fiecare linie de M pixeli se poate reprezenta ca o suma de M functii cosinus ponderate evalate in puncte discrete, exprimate prin ecuatia :

pentru 0≤r<M, unde

pentru u=0, altfel C(u)=1.

Pentru pixelii din exemplu avem valorile [0, 0, 0, 153, 255, 255, 220, 220]. F(u) este un vector de coeficienti.

Fiecare functie sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

este numita o functie de baza, fiind vazuta ca o componenta de frecventa. Coeficientii F(u) indica ponderea componentelor de frecventa din suma care produce valorile pixelilor.

Pentru M=8 functiile de baza sunt date in continuare, sub forma unor functii cosinus continue. Pe masura ce valorile functiilor cosinus descresc, pixelii devin mai intunecati, deoarece 1 reprezinta alb si -1 reprezinta negru.

Functia de baza 0 : sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Functia de baza 1 :

Functia de baza 2 : sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Functia de baza 3:

Functia de baza 4 : sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Functia de baza 5 :

Functia de baza 6 : sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.

Functia de baza 7 :

In fiecare caz se evalueaza functia de baza in punctul x pentru 0≤r≤7 de la stanga la dreapta. Fiecare valoare rezultata corespunde unui pixel din linia de pixeli situate la dreapta functiei de baza (valorile corespund intervalului -1 negru la +1 alb). Astfel componenta de frecventa

(functia de baza 1) corespunde unei secvente de 8 pixeli de la alb la negru.

Ecuatia precedenta specifica faptul ca exista coeficientii F(u), dar calculul acestora este data de transformarea cosinus discreta (DCT), care in cazul unidimensional este :

pentru 0≤u<M, unde

daca u=0, altfel C(u)=1. Aceasta ecuatie indica modul in care se transforma o imagine din domeniul spatial (in care sunt date valori de culoare sau niveluri de gri) in domeniul frecventa (care furnizeaza coeficientii cu care sunt multiplicate componentele de frecventa).

Daca se considera cei 8 pixeli cu valorile de niveluri de gri [0, 0, 0, 153, 255, 255, 220, 220], acest vector reprezinta imaginea in domeniul spatial. Calculand F(u) pentru 0≤u<M se obtine vectorul [389.97, -280.12, -93.54, 83.38, 54.09, -20.51, -19.80, -16.34], reprezentand pixelii in domeniul frecventa.

Interpretare : linia de pixeli este o combinatie liniara de componente de frecventa, adica functii de baza multiplicate cu coeficientii din F si o constanta, adunate impreuna :

O reprezentare vizuala : gri [0, 0, 0, 153, 255, 255, 220, 220], acest vector reprezinta imaginea in domeniul spatial. Calculand

pixeli rezultati

Un coeficient negativ pentru o componenta de frecventa este echivalent cu adunarea componentei inversate :

coeficient negativpentru :

~ coeficient pozitiv pentru :

Primul element F(0) este componenta continua (DC). Pentru o functie periodica reprezentata in domeniul frecventa componenta continua este o valoare medie scalata a formei de unda. Se poate constata in cazul unidimensional :

Toate celelalte componente F(1) la F(M-1) se numesc componente AC (analogie cu domeniul electric).

In cazul bidimensional, pentru o imagine oarecare echivalent cu adunarea componentei inversate :MxN DCT se defineste :

fie f(r,s) valoarea de pixel de pe randul r si coloana s din imagine. F(u,v) este coeficientul componentei de frecventa (u,v), unde 0≤r,u≤M-1 si 0≤s,v≤N-1

cu

Matricile sunt parcurse pe linii.

Transformarea poate fi vazuta astfel : se ia o imagine echivalent cu adunarea componentei inversate :f(r,s) matrice de valori de pixeli si se obtine o matrice de coeficienti F(u,v) reprezentand amplitudinile componentelor de frecventa.

Presupunem aplicarea DCT unui bloc dintr-o imagine de 8x8 (cazul compresiei JPEG) :

Amplitudinile coponentelor de frecventa calculate sunt : echivalent cu adunarea componentei inversate :

Transformarea inversa este data de ecuatia : echivalent cu adunarea componentei inversate :

unde

ceea ce inseamna ca imaginea bitmap este o suma de MxN componente de frecventa ponderate.

Functiile de baza DCT pentru o imagine 8x8 sunt : echivalent cu adunarea componentei inversate :

in puncte discrete r=[0..7] si s=[0..7]. Componenta DC este in coltul stanga sus.

Exista patru definitii pentru transformarea cosinus discreta, numite DCT-I, DCT-II, DCT-III, and DCT-IV, cea mai utilizata fiind DCT-II. Matricea de transformare pentru o imagine patrata este definita:

si conform ecuatiilor de transformare generala pentru o imagine patrata de NxN pixeli:

Varianta normalizata a transformarii cosinus directe (DCT-II) pentru o imagine patrata este reprezentata prin relatia:

pentru u = 0, 1, …, N-1 si v = 0, 1, …, N-1, unde

iar transformarea cosinus inversa este data de relatia:

pentru x = 0, 1, …, N-1 si y = 0, 1, …, N-1.

Functiile de baza ale transformarii cosinus sunt de fapt o clasa a polinoamelor Chebyshev. In figura urmatoare sunt reprezentate functiile de baza ale transformarii cosinus pentru N=16

Numarul undei u

→ x

Pentru o imagine de test este furnizata reprezentarea grafica a transformarii cosinus:

Originea este plasata in coltul stanga sus. Energia imaginii tinde sa se concentreze spre frecventele spatiale mai mici.

Transformarea cosinus a unei imagini NxN se poate calcula prin reflectarea imaginii dupa granitele sale pentru a obtine un tablou 2Nx2N, calcularea transformarii Fourier si preluarea partilor reale ale transformarii Fourier.

Transformarea sinus discreta grafica a transformarii cosinus:

Transformarea sinus a fost introdusa de Jain (A. K. Jain, “A Fast Karhunen–Loeve Transform for Finite Discrete Images,” Proc. National Electronics Conference, Chicago, October 1974, 323–328) ca un substitut algoritmic rapid pentru transformarea Karhunen-Loeve a unui proces Markov. Pentru o singura dimensiune, functia de baza este:

pentru u,x = 0, 1, 2, ... , N-1.

Reprezentarea functiilor de baza ale transformarii: grafica a transformarii cosinus:

Numarul undei u

→ x

Transformarea sinus bidimensionala este data de relatia: grafica a transformarii cosinus:

Transformarea sinus inversa este identica ca forma:

Pentru o imagine de test este furnizata reprezentarea grafica a transformarii sinus:

De asemenea transformarea sinus poate fi calculata din transformarea Fourier sau direct utilizand ecuatiile de definitie.

Tranformarea Hartley grafica a transformarii sinus:

Transformarea Hartley a fost propusa de Bracewell (R. M. Bracewell, “The Discrete Hartley Transform,” J. Optical Society of America, 73, 12, December 1983, 1832–1835), fiind o transformare unitara cu valori reale, ca o varianta a transformarii Fourier intr-o serie de aplicatii de filtrare. Perechea de transformari Hartley bidimensionale:

Se utilizeaza si notatia cosθ+sinθ=casθ (este functie ortogonala).

De asemenea exista algoritmi de transformare Hartley asemanatori algoritmilor FFT.