FACULT ATEA DE INGINERI E, INFORM ATICĂ ȘI GEOGR AFIE [614091]

1
UNIVERSIT ATEA “SPIRU H ARET” BUCUREȘ TI
FACULT ATEA DE INGINERI E, INFORM ATICĂ ȘI GEOGR AFIE

ANALIZA ȘI EDITAREA IMAGINILOR

COORDON ATOR ȘTIIȚ IFIC: MASTERAND: [anonimizat]: V ÎLCU DANA MIHAELA BOROS ANDREI

BUCURESTI
2017

2
CUPRINS

INTRODUCERE ………………………….. ………………………….. ………………………….. ……………. 3

IMAGINI DIGITALE ………………………….. ………………………….. ………………………….. ……… 5
2.1 Tipuri de fisiere ………………………….. ………………………….. ………………………….. …………. 5
2.2 Imagini alb -negru ………………………….. ………………………….. ………………………….. ………. 6
2.3 Discretizarea imaginilor ………………………….. ………………………….. ………………………….. 8
2.4 Imbunatatirea imaginilor ………………………….. ………………………….. ……………………….. 10
2.4 Operații punctuale ………………………….. ………………………….. ………………………….. ……. 11
2.3.1.1 Operatori punctuali de modificare a contrastului ………………………….. ……………… 12
2.3.1.2 Transformări de decupare ………………………….. ………………………….. ………………… 17
2.3.1.3 Operatori punctuali de modificare a histogramei ………………………….. ……………… 19
2.3.2.1 Vecinătatea unui pixel ………………………….. ………………………….. ……………………… 22
2.3.2.2 Aplicarea de măști a imaginilor ………………………….. ………………………….. ………… 23

ZGOMOT IN IMAGINI ………………………….. ………………………….. ………………………….. … 25
3.1 Principalele tipuri de zgomot ………………………….. ………………………….. …………………. 26
3.1.1 Zgomotul cu distribuție uniformă ………………………….. ………………………….. ………… 26
3.1.2 Zgomotul de tip ,,Sare și piper" ………………………….. ………………………….. …………… 27
3.1.3 Zgomotul cu distribuție gaussiană ………………………….. ………………………….. ……….. 28
3.2 Determinarea prezentei zgomotului în imagini ………………………….. ……………………… 29

FILTRE DIGITALE ………………………….. ………………………….. ………………………….. ……… 31
4.1 Filtrarea liniară a imaginilor ………………………….. ………………………….. ………………….. 32
4.1.1 Filtre de tip "trece -jos" ………………………….. ………………………….. ……………………….. 32
4.1.2 Filtre de tip "trece -sus" ………………………….. ………………………….. ………………………. 38
4.2 Filtrarea neli niară a imaginilor ………………………….. ………………………….. ……………….. 40

RESTAURAREA IMAGINILOR ………………………….. ………………………….. ……………….. 46

DESCRIEREA APLICATIEI A EDITARII IMAGINILOR ………………………….. ……….. 47
6.1 Tehnologii folosite ………………………….. ………………………….. ………………………….. …… 47
6.2 Editarea imaginilor cu ajutorul matricilor bidimensionale ………………………….. ……… 49
6.2.1 Conversia la negativ a unei imagini ………………………….. ………………………….. ……… 50

3
6.2.2 Conversia la gri a unei imagini ………………………….. ………………………….. ……………. 51
6.2.3 Filtrul sepia pentru imagini ………………………….. ………………………….. …………………. 52
6.3 Utilizarea aplicației ………………………….. ………………………….. ………………………….. ….. 53
6.4 Descrierea aplicatiei implementate ………………………….. ………………………….. …………. 58

CONCLUZII ………………………….. ………………………….. ………………………….. ………………… 65

BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. …………… 66

4

Capitolul I

Introducere

În ultimii ani, tehnologia informaț iei a avut o dezvoltare spectaculoasă . Multe dintre
problemele tehnice au acum modalită ți de rezolvare care până nu demult pă reau imposibil de
realizat. O poziț ie import antă și de actualitate este ocup ată de explo atarea inform ației vizuale.
Cea mai mare parte a inform ațiilor referito are la mediul î nconjur ător se obț in prin
văz. Nevoia de a înlocui observatorul uman cu o mașină, a dus la apariția prelucrării și analizei
imaginilor. Acest domeniu al prelucrării și analizei imaginilor presupune achiziționarea,
transformarea și utilizarea informației din imag ini. Acestea vor fi preluate și exploatate într-o
formă digitală cu ajutorul unor calculato are de uz general sau specialitate.
Realizar ea unor dezvoltări teoretice și tehnologice importante au condus la
posibilitatea utlizarii, prelucrării imaginilo r pentru realizarea unei mașini capabile să
îndeplinească funcții vizuale caracteristice tuturor ființelor vii. Prelucrarea și analiza
imaginilor au aplicații importante în diverse domenii .

Dintre aceste aplicații putem aminti:
– aplicații în medicină precum MRI (Magnetic Resonance Imaging), CT (Computer
Tomography), radiografiile pentru investigarea organelor corpului uman
– imagistică satelitară (meteorologie, cartografie, aplicații militare)
– aplicații în securitate pentru supraveghere sau urmărire
– aplicații de larg consum (fotografiile digitale)
Imaginea ce se vede pe ecran nu este întotdeauna informația reală din scenă sau
informația ce a fost achiziționată din scenă respectivă. Acest lucru poate avea diverse cauze:
zgomot electric, turbulențe atmosferice, funcționarea proastă a celulelor din senzorii camerei,
erori în transmiterea datelor și altele. Astfel, apare nevoia ca asupra acestor imagini să fie
aplicate diferite tehnici de îmbunătățire și restaurare.
În această lucrare ne v om ocupa de studiul principalelor tehnici de îımbunătățire și
restaurarea imaginilor. Pentru o înțelegere mai ușoară a acestor tehnici este necesară studierea

5
și înțelegerea principalelor fenomene care afectează imaginile. Astfel, vor fi prezentate în
această lucrare inclusiv principalele tipuri de zgomot ce pot afecta o imagine.
Fără îndoială, prelucrarea și analiza imaginilor nu se rezumă la suportul hard și soft,
având la baza o gama largă de algoritmi. Astfel, această lucrare conține și baza matematic ă
necesară implementării acestor algoritmi. Întrucât avem de -a face cu lucrul pe imagini, lucrarea
conține un suport imagistic bogat ce permite cititorului să vadă efectul aplicării algoritmilor
prezentați. În capitolul 2 sunt prezentate imaginile digitale , imagini alb -negru . Am prezentat
îmbunătățirea imaginilor și discretizarea imaginilor. Î n capit olul 3 este prezentat zgomotul în
imagini, adică zgomotul produs de aparat ul de fotografiat care afectează imaginea propriu -zisă.
În capitolul 4 am prezentat fi ltrele digitale ale imaginilor. Filtrarea imaginilor este folosită
pentru îmbunătățirea imaginilor. Capitolul 5 este despre restaurarea imaginilor, adică
reconstruirea imaginii degradate . Aplicația propusă vine în sprijinul celor interesați de
domeniul analizei și prelucrării imaginilor, oferind posibilitatea de a testa ”pe viu” modul de
îmbunătățire, respectiv restaurare a imaginilor. De asemenea, aplicația conține diverse
modal ități de degradare a imaginilor oferind astfel materialele necesare testării
algoritmilor. Mai multe detalii vor fi prezentate în capitolul 6. În continuare vom realiza o
scurtă introducere a tehnicilor de îmbunătățire și restaurare a imaginilor împreună cu modul
de aplicare a acestora.

6
Capitolul II

Imagini digit ale
Imaginile pot fi descrise de distribuția spațială a intensității luminoase într -un plan.
Din punct de vedere matematic, distribuția spațială a intensității luminoase (I) poate fi descrisă
printr -o funcție continuă de două variabile spațial continue
(𝑥,𝑦)=𝑝:𝐼 (𝑥,𝑦)=𝐼(𝑝)
Imaginile nu pot fi tratate ca funcții definite pe un domeniu continuu de
calculatoarele existente, ci ele pot fi văzute doar c a matrici discrete de numere. Acesta este
motivul pentru care este necesar ca imaginile continue să fie trans formate și reprezentate ca
matrici bi -dimensionale de puncte, prin discretizare. Un punct al unei astfel de matrici se
numește pixel [1]. Prin urmare, un pixel este caracterizat prin poziția și valoarea sa.
După tipul datelor din această structura bidimensi onală, imaginile prelucrate pot fi împărțite
în mai multe categorii:
 imagini scalare – fiecare componentă este un scalar (un unic număr); imaginile monocrome
pot fi date că exemple de astfel de imagini (în care punctele au doar două valori posibile, ce
corespund unui conținut binar al im aginii, în general alb -negru ) și de asemenea imaginile
cu nivele de gri (precum imaginea de luminanță de pe ecranele televizoarelor alb -negru).
 imagini vectoriale – fiecare componentă este reprezentată printr -un vector de numere;
imaginile color sunt cazul particular cel mai de interes, în care vectorul are 3 elemente (ce
corespund celor 3 constitu ente de baza ale oricărei culori).
2.1 Tipuri de fisiere
Aplicația dezvoltată permite deschidere, prelucrarea și salvarea ima ginilor în format
JPEG/BMP. De ce acest format? Pentru că este unul dintre cele mai simple formate. BMP este
un acronim pentru Bimap, iar acest format a fost dezvoltat de Microsoft și IBM.

7
În informatică , JPEG (pronunțată "gei -peg"; IPA: /ˈd ʒeɪpɛg/) este o metodă foarte des utilizată
de compresie a imaginilor fotografice . Fișierele conținând imagini compresate grație acestei
metode poartă în general extensia ".jpg". Scopul formatului JPEG a fost de a reduce
dimensiunea fișierelor ce conțin imagini grafice de tip fotografic, naturale și cu un număr mare
de culori fără a afecta calitatea imaginii.

2.2 Imagini alb-negru
O imagine alb -negru este alcătuită din pixeli care dețin un număr corespunzător
nivelului de gri dintr -o anumită locație a imaginii. Aceste niveluri de gri acoperă întregul
interval de la alb la negru într -o serie de pași foarte fini, în mod normal 256 tonuri diferite de
gri. Deoarece ochiul poate distin ge abia 200 de nuanțe diferite de gri, acest lucru este suficient
pentru a da iluzia unei scări tonale fără trepte, așa cum este ilustrat in imaginea de mai jos:

Figura 2.1 Scara tonala de gri

Presupunând 256 tonuri de g ri, fiecare pixel alb -negru poate fi stocat într -un singur
octet (8 biți) de memorie. Imaginile color sunt formate din pixeli care dețin 3 numere
corespunzătoare tonurilor de roșu,verde și albastru al unei anumite locații a imaginii.
Orice culoare poate fi obținută prin amestecarea cantității necesare de lumina roșie,
verde și albastră. Asta înseamnă 16,7 milioane de culori diferite posibile. Observăm că, pentru
imagini de aceeași dimensiun e, o versiune alb -negru va ocupa de 3 ori mai puțină memorie
decât versiunea color. O altă clasificare a imaginilor scalare se poate face după semnificația ce
se dă valorii numerice a pixelilor. Vom distinge astfel imagini de intensitate și imagini indexate.
O imagine de intensitate este o imagine în care valoarea fiecăru i pixel este o măsură
directă a intensității luminoase sau a mărim ii fizice preluate de senzor, ca de exemplu în

8
imaginile cu nivele de gri. Pixelii unei imagini de intensitate pot avea orice fel de valori : reale
sau naturale (depinde dacă imaginea este s au nu cuantizat ă). O imagine indexată este cea în
care valoarea fiecărui pixel este un indice prin care se regăsește informația de culoare asociată
pixelului respectiv.
Așadar, pentru reprezentarea sau afișarea unei imagini indexate este necesară o
informa ție suplimentară, de asociere între indici și culori. Această asociere se face prin
intermediul tabelei de culoare. Tabela de culoare este o matrice în care fiecare linie conține
descrierea unei culori (cele trei componente care definesc culoarea – intensi tățile relative de
roșu, verde și albastru care definesc culoarea prin amestec aditiv). Deci tabela de culoare are 3
coloane; numărul de linii ale acesteia este egal cu numărul de culori din imaginea reprezentată
și este în mod tipic o putere a lui 2.
Indicele (valoarea pixelului) va fi numărul de ordine din tabela de culoare pe care se
găsește descrierea culorii. Este evident că valorile pixelilor unei imagini indexate nu pot fi
decât numere naturale, fiind indici într -o matrice.
Pentru o imagine cu tonuri de gri, componentele de roșu, verde și albastru ale fiecărei
culori din paleta de culoare sunt identice. Dacă specificarea componentelor de culoare se face
prin numere de 8 biți (cazul cel mai des folosit, între 0 și 255), tabela de culoare va avea 256
culori (tonuri de gri) diferite. Specificarea acestora se face cu indecsi între 0 și 255, alocați
conform convenției 0 -negru, 255 -alb. În acest fel, pentru o imagine indexată cu tonuri de gri,
nu mai este necesară specificarea tabelei de culoare; culo rii reprezentate de indexul i, îi
corespunde tonul i de gri, adică tripletul RGB [2](i,i,i). Cum spuneam mai sus, pentru procesarea
imaginilor (de exemplu cu un calculator) este nevoie de discretizarea imaginilor, adică
transformarea acestora într -o matrice care conține elementele de imagine (pixel).
Discretizarea imaginilor se face în doi pași: discre tizare spațială (eșantionarea) și
discretizarea în valoare (cuantizarea).

2.3 Discretiz area imaginilor
Discretizarea spațială (eș antionarea) a unei imagini analogice se realizează cu ajutorul
unei rețele discrete f(l ∗ ∆x, k ∗ ∆y), l, k ∈ Z. Prin această operație vom obține reprezentarea

9
imaginii sub formă unei matrici cu L linii și K coloane : l ≤ L, k ≤ K. Prin urmare, vom obține
L ∗ K pixeli, iar imagi nea va putea fi scrisă sub forma :
𝐴={𝑎(𝑙,𝑘),1≤𝑘≤𝐾,1≤1≤𝐿},1,𝑘,𝐿,𝐾∈𝑍

a1,1 a1,2 … a1,k
a2,2 a2,2 … a2,k
… … … …
aL,1 aL,2 … aL,k
Fig. 2.2 . Reprezentarea matriceala a imaginii

Discretizarea spațială este posibilă datorită puterii de rezoluție limitată a sistemului
vizual uman. Practic, procesul discretizarii spațiale are loc în două etape succesive
corespunzătoare celor două direcții. În urmă discretizarii verticale (după axa y) rezultă linii, iar
în urmă discretizarii orizontale (după axa x) rezultă elemente discrete de imagine (pixel).
Discretizarea în valoare (cuantizarea) constă în reprezentarea cu un număr dat de biți
a valorilor matricii obținute după eșantionare. Cuantizarea poate fi scrisă astfel:
𝑓𝑞(1∗∆𝑥,𝑘∗∆𝑦),1,𝑘∈𝑍,𝑘≤𝐾,1≤𝐿 𝑐𝑢 𝑓𝑞(1∗∆𝑥,𝑘∗∆𝑦)∈{𝑓1,𝑓2,…,𝑓𝑛},
unde n este numărul nivelurilor de cuantizare a imaginii (numărul nivelurilor de gri). De
exemplu, pentru n=2 avem o imagine binară. Fiecărui pixel îi va corespunde un anumit nivel
de gri (pentru imaginile alb -negru) sau o anumită culoare (pentru imaginile color) codificată
printr -un număr constant de biți. Un pixel o arecare al,k va fi cod at, în reprezent are bin ară astfel:

(a1,k) binar = b n−1bn−2…b1b0
căruia îi corespunde o v aloare zecim ală:
(al,k) zecim al = b n−1 ∗ 2 n−1 + b n−2 ∗ 2 n−2 + … + b 1 ∗ 2 1 + b 0 ∗ 2 0

10

care reprezintă nivelul q al scării de 2n nivele de gri considerate. Negrul este considerat că având
nivelul logic 0, întrucât scrierea să în binar este 00…00, iar albul are nivelul logic 1, fiind scris
în binar 11…11.
Pentru o imagine reprezentată pe 8 biți numărul nivelurilor de gri este 28 = 256, negrul
fiind codat cu nivelul q=0 iar albul cu nivelul q=255. Pixelul a3,4 , al 4 -lea pixel de pe rândul
al 3-lea, este co dat cu octetul 00101001 și are nivelul de gri q=41.
Imaginile digitale pot fi stocate în vederea vizualizării sau prelucrării ulterioare.
Imaginile sunt stocate pe disc sub formă unor fișiere. În funcție de formatul în care păstrează
datele ce reprezintă i magini, fișierele pot fi: BMP, JPEG, GÎF, TIFF, etc.
Formatul cel mai simplu pentru fișierele imagine este cel al firmei Microsoft, BMP [3]
(Microsoft Windows Bitmap). Acest format permite stocarea imaginilor digitale fără codare
sau pierdere de informație, excepție făcând reprezentarea binară.

11

2.4 Îmbunătățirea imaginilor
Îmbunătățirea imaginilor se referă la un ansamblu de operații de prelucrare a
imaginilor, scopul acestora find acela de a evidenția anumite caracteristici precum
muchiile sau contururile sau acela de a elimina zgomotul. Prin îmbunătățirea imaginilor se
dorește obținerea unei superiorități a vizibilității c omponentelor acesteia.

În general, îmbunătățirea imaginii este strâns legată de percepția vizuală a
utilizatorului final al acesteia, calitatea fi ind un criteriu subiectiv. Îmbunătățirea se face fără a
presupune că imaginea a fost afectată de degradare și fără a se ține cont de informații despre
imaginea originală. Chiar și o imagine originală, ne degradată , se poate îmbunătății dacă această
varianta modificată este preferată de utilizatorul final al acesteia.

Imaginea originală și imaginea modificată vor avea aceleași dimensiuni. Prin
îmbunătățirea unei imagini nu se mărește cantitatea de informație pe care o conține, ci această
informație va fi prezentată într-o altă formă. Această ultima afi rmație este corectă la o
examinare superficială, dar se poate aduce un contra exemplu la această formulare: din
perspectiva utilizatorului, în cazul imaginilor obținute în condiții extreme de iluminare,
informația există, dar nu poate fi folosită.

Putem considera trei categorii de operatori de îmbunătățire a imagini lor:
 operații punctuale – între valoarea originală și valoarea de după îmbunătățirea fiecărui
pixel există o corespondență punctuală;
 operații spațiale – mai sunt numite și operații de vecinătate; atât valoarea originală a
pixelului curent cât și valorile originale ale pixelilor vecini vor contribui la nouă valoare
a acestuia;
 operații integrale – nouă valoare a pixelului curent se va obține prin transformare
integrală a valorilor tuturor pixelilor din imaginea originală. În continuare vom
presupune că imaginile utilizate vor fi reprezentate prin matrici cu L linii și K coloane.
De asemenea, imagine originală o vom notă cu O și cu M imaginea obținută din
 imaginea origin ală printr -o oper ație de îmbun ătățire. Astfel, cele dou ă imagini pot fi
scrise, m atematic:

12
𝑂={𝑂(𝑙,𝑘)|1≤𝑘≤𝐾,1≤1≤𝐿} si
𝑀={𝑀 (𝑙,𝑘) | 1 ≤ 𝑘 ≤ 𝐾,1 ≤ 𝑙 ≤ 𝐿}.

Îmbunătățirea imaginilor poate fi reprezentată grafic în felul următor:

Fig. 2.3 Procesul de imbunatatire a unei imagini

2.3.1 Operații punctu ale
Operatorii punctuali de îmbunătățire a imaginilor sunt transformări a valor ii unui pixel,
pot fi priviți ca funcții, iar rezultatul acestora depind doar de valoarea pixelul asupra căruia sunt
aplicați. Matematic putem scrie :

𝑚(𝑙,𝑘)=𝑇(𝑜(𝑙,𝑘)),∀1≤𝑘≤𝐾,∀1≤𝑙≤𝐿
unde m este imaginea îmbunătățită, o este imaginea originală, m (l, k) este nouă valoare a
pixelului curent, o (l, k) este vechea valoare a pixelului curent, iar transformarea punctuală a
fost notată cu T. Grafic se poate notă astfel :
Procesul de îmbunătățire a unei imagini folosind operatorii punctuali [4]

Fig. 2.4. Procesul de îmbun ătătire a un ei imagini folosind operatorii punctuali

13
Dintre operatorii punctuali putem aminti: operatori de modificare a constrastului,
transformări de decupare și operatori de modif icare a histogramei. Vom prezent a în continuare
operatorii punctuali .

2.3.1.1 Operatori punctuali de modificare a contrastului

Pentru o imagine cu niveluri de gri operația de modificare a constrastului se referă la
mărirea sau micșorarea intervalului de niveluri de gri al imaginii, păstrând numărul total al
acestora, notat cu N.
Fie T o operație punctuală de modificare a contrastului, realizată prin intermediul funcției T.
Atunci:

• T trebuie să păstreze gama admisibilă de valo ri. Dacă am avut L nivele de cu antizare, atunci
0≤𝑇(𝑢)≤𝐿−1∀𝑢∈[0,𝐿−1]
• T trebuie să fie crescătoare sau descrescătoare, pentru a păstra ordinea între nivelele de gri
Accentu area contr astului
Operația de accentuare a contrastului se folosește în special pentru imaginile cu un
contrast scăzut. Contrastul scăzut poate fi cauzat de o slabă iluminare, de o iluminare
neuniformă sa u datorită senzorului de captură a imaginii. O funcție de accentuare a contrastului
poate fi scrisă matematic în felul următor:

Fig. 2.5. Functia de accentuare a contrastului

14

unde cu antizarea tonurilor de gri se f ace pe L nivele (c azul cel m ai frecvent fiind L=256,
cuantizare pe 8 biț i iar x este în (0, 25 5). Pantele celor 3 segmente de dre apta au fost not ate cu
α, β, respectiv γ.

O ”apropiere” a nivelelor de gri este corespunz ătoare unei p ante subunit are, iar
”dep ărtarea” nivelelor de gri, deci o accentu are a contr astului, corespunde unei p ante
supraunitare.

(a)Imaginea origin ală (b)Imaginea modific ată

Fig:2.1 Accentu area contr astului

Întinderea maximă a contrastului
Întinderea maximă a contrastului este un caz particular al operației de accentuare a
contrastului. Este utilizată, în general, pentru eliminarea zgomotului din imagini, atunci când
se știe intervalul (a, b) în care ia valori. Funcția de iıntindere maximă a contrastului este
următoarea :

T (x) = {0 pentru 𝑥 ∈[0,𝑎)
𝛽(𝑥−𝑎 ) pentru 𝑥 ∈[0,𝑎)
𝐿−1 pentru 𝑥 ∈[𝑏,𝐿)

15

Pantă supraunitară va distanță nivelele de gri din intervalul [a, b] , iar nivelele de gri
din afară intervalului vor fi transformate în alb, respectiv negru.

Fig. 2.6. Funcț ia de întindere m aximă a contr astului

Contrastul a fost î ntins l a maxim:

(a) Imaginea originala (b) Imaginea modificata
Fig. 2.7 Contrast in aplicatie

Binarizarea imaginilor
Întinderea maximă a constrastului are un caz special, atunci când a=b numit
binarizarea imaginilor6. Pentru o imagine în tonuri de gri, prin binarizare obținem o imagine
care conține 2 nivele de gri: alb și negru.

Pentru imagini alb – negru, operatorul de binarizare este :

16
𝑇(𝑥)={𝑜 𝑝𝑒𝑛𝑡𝑟𝑢 𝑥<𝑇
𝐿−1 𝑝𝑒𝑛𝑡𝑟𝑢 𝑥≥𝑇

unde T este o v aloare întreagă din [0, L) , numit ă prag.

Pentru im aginile color avem:

𝑇(𝑣)={0 𝑝𝑒𝑛𝑡𝑟𝑢 𝑌(𝑣)<𝑇
𝐿−1 𝑝𝑒𝑛𝑡𝑟𝑢 𝑌(𝑣)≥𝑇

unde v este culo area pixelului, un vector tridimension al, iar Y (v) este lumin antă. Culo area
pixelului po ate fi v = (R, G, B) i ar lumin anta are formul a 𝑌=0.3∗𝑅+0.6∗𝐺+0.1∗𝐵

Fig. 2.7.Functia de binarizare

(a) Imaginea origin ală (b) Imaginea modific ată
Fig. 2.8. Binarizarea unei im agini cu T=127

17
Negativarea imaginilor

Negativarea imaginilor poate fi considerată cel mai simplu caz de modificare a
contrastului unei imagini. Inversâ nd ordinea nivelelor de gri, obținem negativul unei imagini.
Pentru imagini în tonuri de gri, funcția prin care se obține negativul este :
𝑇(𝑥)=(𝐿−1)−𝑥
iar pentru im agini color avem:
𝑇(𝑣)=((𝐿−1)−𝑅,(𝐿−1)−𝐺,(𝐿−1)−𝐵)

Funcț ia de neg ativare a imaginilor în tonuri de gri arată astfel:

Fig 2.9. Funcț ia de neg ativizare a imaginilor î n tonuri de gri

Negativarea imaginilor este utilă în domenii precum medicină, pentru afișarea
imaginilor medicale, sau pentru afișarea imaginilor negative pe suporturi de tip pelicula.

Avem m ai jos un exemplu de im agine neg ativată:

(a) Imaginea origin ală (b) Imaginea modific ată
Fig.2.9. Negativarea unei im agini

18
2.3.1.2 Tr ansform ari de decup are

Decuparea înseamnă îndepărtarea unor părți dintr -o imagine cu scopul de a -i modifică
dimensiunile, pentru a accentua subiectul, pentru a îndepărta detalii nedorite în imagine [7].
Dacă s -a realizat decuparea unei imagini, nu se poate obține originalul din bucată
decupată dacă nu există informații de revenire. Dacă bucată decupată a fost salvată, singurul
lucru care se mai poate face este adăugarea unei benzi în jurul acesteia, folo sind analiza texturii.
Această metodă este eficientă doar dacă această bandă se p oate îmbină cu imaginea existentă ,
ceea ce se întâmplă dacă imaginea are detalii puține sau dacă există un ”șablon” din natură,
precum iarba sau cerul. Dacă au fost obiecte t ăiate de margi nea imaginii, nu se poate adauga
această bandă.

Fig 2.10. Functia de decupare cu p ăstrarea fundalului

Decuparea imaginilor poate fi făcută cu păstrarea fundalului sau fără păstrarea
fundalului. Decuparea cu păstrarea fundalului se face utilizând formula :

T(x)= {𝐿−1 𝑝𝑒𝑛𝑡𝑟𝑢 𝑥∈[𝑎,𝑏]
𝑥 𝑖𝑛 𝑟𝑒𝑠𝑡

Funcț ia de decup are cu p ăstrarea fundalului iar decup area fără păstrarea fundalului cu formul a:

19

Fig. 2.11. Functia de decupare fara p ăstrarea fundalului

Aceste funcț ii permit decup area unor regiuni dintr -o imagine corespunz ătoare
unor anumite nivele de gri [8], fiind folosite atunci când anumite caracteristici ale imaginii se
găsesc în nivelele de gri respective. De exemplu, din imaginile obținute de un
satelit meteo pot fi decupați norii , regiuni de joase temperatura având nivele de gri
direct proporționale cu valorile temperaturilor joase.

2.3.1.3 Oper atori punctu ali de modific are a histogr amei

Pentru o imagine în tonuri de gri [9], există 256 valori diferite de intensitate, deci histograma va
contine 256 de numere corespunzătoare distribuție a pixelilor între acele nivele de gri.
Histograma se poate realiza și pentru imagini color. Există posibilitatea realizării histogramelor
individuale pentru nuanțele de roșu, verde sau albastru, sau se poate realiza o histograma 3 -D,
având cele 3 axe reprezentate de cele trei culori: roșu, verde și albastru, iar numărul de pixeli
este dat de luminozitatea în fiecare punct.[ 16,18]

20

Histograma se realizează parcurgând o singură dată imaginea și reținând numărul de
pixeli găsiți pentru fiecare valoare a intensității. Histogramele de obicei sunt norm alizate de
numărul tot al de pixeli din im agine. O histogr amă norm alizată are form a:

p(rk)=𝑛
𝑀∗𝑁 ,𝑘=0,1,2,……….𝐿−1

unde p(r k) este prob abilitatea de apariție a valorii r k. Histogr ama se m ai poate scrie î n felul
următor:

h(i)=1
𝑀∗𝑁 ∑ ∑ 𝛾(𝑖,𝑓(𝑚,𝑛)),𝑖=0,1…𝐿−1𝑁−1
𝑛−0𝑀−1
𝑚=0

unde funcț ia 𝛾 este definit ă în felul urm ător:

𝛾(𝑥,𝑦)={1 𝑑𝑎𝑐ă 𝑥=𝑦
0 𝑑𝑎𝑐ă 𝑥≠𝑦

Din punct de vedere statistic, histograma poate fi considerată funcție de densitate de
probabilitate a unei variabile aleatoare: valoarea fiecărui pixel este realizarea unei
variabile aleatoare asociată nive lelor de gri. Astfel, histograma verifică funcția de
normare .[16]

∑ℎ(𝑖)=1𝐿−1
𝑖=0

21

O imag ine bine contrastată va acoperi majoritatea nivelelor de gri posibile iar
histograma va avea o formă neregulată. Reciproc, din analiza histogramei se pot deduce
informați i despre proprietățile imaginii dar aceasta nu se poate reconstrui din histogramă
întrucât mai multe imagini pot avea aceeași histogramă.

Dacă imaginea este potrivită atunci valorile intensității pixelilor vor fi concentrate în
jurul a două valori distincte. Un prag potrivit pentru a separa cele două grupuri va fi o
valoare între cele două "vârfuri" din histogramă. Dacă nu avem o astfel de distribuție, atunci
este puțin probabil ca să se obțină o segmentare bună prin "prăguire".
Sunt utilizate și modi ficate de mai mulți operatori de îmbunătățirea imaginilor. Doi
operatori care sunt strâns legați de histogramă sunt întinderea contras tului și egalizarea
histogramei și se bazează pe presupunerea că o imagine trebuie să utilizeze întreagă gama de
intensitate pentru a avea un contrast maxim. [9,18]
Se presupune că imaginea ideală are o distribuție uniformă a nivelurilor de gri.
Pentru a obține imaginea ideală, operatorii de transformare trebuie să modifice histogramă
imaginii astfel încât ea să devină uniformă.
Egalizarea histogramei permite anumitor zone cu un contrast scăzut al unei imagini să obțină
un contrast mai ridicat. Variabilei aleatoare ξ cu densit atea de prob abilitate w ξ ( x) și funcț ia
de rep artiție F ( x) = P{ ξ ≤ x} i se v a asocia unui pixel din im agine. V ariabila n cu funcț ia de
repartiție:

Fn (x) = ∫𝑝𝜉 (𝑡)𝑑𝑡𝑥
0

Este uniform distribuit ă pe interv alul (0,1), i ar pξ (x i), x i = 0,1…L – 1 sunt prob abilitățiile de
apariție calculate pe b aza histogr amei[10] astfel:

pξ ( xi) = ℎ (𝑥𝑖)
∑ ℎ (𝑥𝑖)𝐿−1
𝑖=0

22
Noile nivele de gri se vor c alcula cu formulele:

hc (x) = ∑ 𝑝𝜉 (𝑥𝑖)𝑥
𝑥𝑖=0

nivel nou =[ℎ𝑐 [𝑛𝑖𝑣𝑒𝑙 𝑣𝑒𝑐ℎ𝑖]−ℎ𝑐𝑚𝑖𝑛
1−ℎ𝑐𝑚𝑖𝑛∗( 𝐿−1)=0.5]

unde hc este histogr ama cumul ativă si h cmin valoarea minim a a acestei a.

Deși operația de egalizare a histogramei pare o operație punctuală, ea este totuși o operație
integrală pentru că se utilizează valorile tuturor pixelilor din imagine în formulă de calcul a noii
valori .

2.3.2.1 Vecin ătatea unui pixel

Pentru un pixel, vecinătatea acestuia se referă la o mulțime de pixeli din jurul pixelului
curent. A specifică o vecinătate pentru un pixel se rezumă la a specifică pozițiile pixelilor din
vecinătatea respectivă față de pixelul curent. Astfel, vecinătatea unui pixe l poate fi descrisă ca
o mulțime de tipul următor :

V(l,c ) = {( l + m 1 , c + n 1), ( l + m 2, c + n 2 ),…, (l + m k, c + n k) } i ar transform area T se po ate
scrie:
g (l, c) = T (f (l+ m 1,c + n1) , f (l+m 2, c +n 2 ), …, f ( l + m k,c +n k )).

Cele m ai comune 2 definiț ii de vecin ătăți ale unui pixel sunt vecin ătatea de 4 pixeli ș i
vecin ătatea de 8 pixeli. Vecin ătatea de 4 pixeli cuprinde pixelii aflați pe poziț iile

23
( l- 1,c ), (l + 1, c), ( l, c – 1), (l, c + 1), poziții referite ș i ca vecinii din nord, sud, este și vest a
pixelului ( l,c). Vecin ătatea de 8 pixeli cuprinde pixelii din vecin ătatea de 4 pixeli l a care se
adaugă cei de pe di agonală, adică pixelii ( l – 1, c – 1 ), ( l- 1, c + 1 ), ( l + 1, c -1),
(l + 1, c +1).

N
W * E
S

Vecin ătatea de 4 pixeli Vecinătatea de 8 pixeli

Fig.2.1 2 Vecinatatea unui pixel

Oricare dintre aceste 2 vecin ătăți poate fi folosit ă în algoritmi. Spunem c ă pixelul (l’,c’) este
vecin al pixelului (l, c) d acă se afla în vecin ătatea de tipul folosit a acestui a.

NW N NE
W * E
SW S SE

24
2.3.2.2 Aplicarea de m ăști a imaginilor

Aplicarea de măști este un concept de baza î n procesarea imaginilor. O mască este un set de
poziții ale pixelilor și valori corespunzătoare acestora numite ponderi .

1 1 1
1 1 1
1 1 1

Fig 2.13. Măști care pot fi aplicate unei im agini

În figura de mai sus avem 3 măști care pot fi applicate unei imagini: primele două sunt măști
pătratice, prima cu pon deri egale, cea de -a doua cu ponderi diferite, iar cea de -a treia este o
mască dreptunghiulară cu ponderi egale.
Pentru fiecare pixel din imaginea asupra căreia se aplică, masca se suprapune imaginii cu
originea deasupra pixelului respective. Valorile fiecărui pixel de sub mască se înmulțesc cu
ponderile corespunzătoare ale măști i. Rezultate se adună și aceasta va fi valoarea pixelului aflat
pe aceeași poziție în imaginea rezultată ca și pixel ul curent.
Fiecare mască are o origine care este, de obicei una dintre pozițiile sale. Pentru măști simetrice,
în mod normal, originea este centrul sau, iar pentru măștile care nu sunt simetrice originea poate
fi oricare dintre pozițiile sale în funcție de scopul în care este folosită.
Mai jos avem un exemplu de aplicare a unei m ăști asupra unei im agini î n tonuri de gri.

40 40 80 80 80
40 40 80 80 80
40 40 80 80 80
40 40 80 80 80
40 40 80 80 80
(a)

1
1
1
1
1 1 2 1
2 4 2
1 2 1

25
640 800 1120 1280 1280
640 800 1120 1280 1280
640 800 1120 1280 1280
640 800 1120 1280 1280
640 800 1120 1280 1280
(b)

40 50 70 80 80
40 50 70 80 80
40 50 70 80 80
40 50 70 80 80
40 50 70 80 80
(c)

Fig 2.14. Măști care pot fi aplicate unei im agini

Pentru a păstra dimensiunile imaginii după aplicarea măștii, se vor adaugă 2 linii virtuale, una
sus și una jos și două coloane virtuale, una la stânga și uan la dreapta. Valorile acestor pixeli
virtuali vor fi initializate cu 0 sau cu o constanța oarecare, sau pot să copieze valorile liniei
respective col oanei celei mai apropiate. Pentru a normaliza, valoarea fiecărui pixel obținută se
va împărți la suma ponderilor măștii.

26
CAPITOLUL III

ZGOMOT Î N IM AGINI
Zgomotul este un semnal aleator ce afectează informația conținută într -o imagine. El
poate fi definit ca orice proces care afectează imaginea și nu face parte din semnalul inițial.
Acesta poate fi p rodus de senzorul aparatului fot o digital sau al scanerului.
Zgomotul din imaginile digitale [11] poate prov eni din diverse surse. Un proces prin
care zgomotul poate să apară în imaginile digitale este procesul de achiziție al acestora, care
convertește semnalul optic într -un semnal electric și apoi într -unul digital. La fiecare pas al
acestui process fenomele natural pot cauza fluctuații și a cestea adaugă o valoare aleatoare la
extragerea fiecărei valori a luminozității pentru un pixel dat.
Pixelii nu au toți aceeași sensibilitate la lumina. În cazul în care se fotografiază o
suprafață într -o singură culo are, nu va rezultă o imagine omogenă, c i o structură pixelată, mai
mult sau mai puți n evidență. Acesta este așa numitul zgomot static.
Temperatura poate influența de asemenea apariția zgomotului în imagini. Așa cum
procesele chimice au loc mai rapid la temperaturi mai ridicate, pixelii senzorul ui devin mai
activi o dată cu creșterea temperaturii, producând sarcina electrică chiar și în ab sența luminii,
efect cunoscut ca zgomot termic.
După modul în care afectează imaginea, zgomotul este de două feluri :
 Zgomot auditiv – având f ( x,y )imaginea inițială, n (x,y ) zgomotul ce afecte ază imaginea
și g (x,y ) imaginea modific ată, zgomotul auditiv se c aracterize ază prin formul a:
g (x,y ) = f (x,y ) + n (x, y )

 Zgomot multiplic ativ – se caracterize ază prin formul a matematică:

g ( x, y ) = f (x, y ) * n (x, y )
unde f (x, y ), n (x, y ), g ( x, y ) au aceleași semnific ații ca la zgomotul aditiv.
Zgomotul multiplic ativ po ate fi tr atat ca zgomot aditiv, prin log aritmarea ecuației
log (g ( x, y )) = log ( f (x, y ) * n (x, y )) = log (( f (x, y )) + log (n (x, y ))

27
3.1 Princip alele tipuri de zgomot
Zgomotul cu distribuție uniformă, zgomotul de tip „sare și piper” și zgomotul cu
distribuție gaussiana. Vom prezent a în continuare aceste tipuri de zgomot.

3.1.1 Zgomotul cu distribuț ie uniform ă
Zgomotul cu distribuție uniformă poate fi folosit pentru generarea celorlalte tipuri de
zgomot. Fiind un model de zgomot neutru, se folosește adesea la degradarea imaginilor ce
urmează a fi utilizate la testarea algoritmilor de restaurare.
Funcția de densitate de prob abilitate a unei variabile aleatoare uniforme este :

Zgomotul cu distribuț ie uniform ă are valorile nivelelor de gri din domeniul [0,255], s au pe
domeniul [ a,b] ⊆ [0,255]

Fig.3.1 Im agine afectată de zgomot uniform

28

3.1.2 Zgomotul de tip ,,S are si piper’’
Se numeș te astfel deo arece are do ar 2 valori posibile:
– 0, de unde denumire a ,,piper’’,
– 255, de unde denumire a ,,sare’’. Acest tip de zgomot se m ai numește ș i zgomot
de tip impuls.
Cauzele apariției zgomotului de tip sare și piper [12] pot fi: pierderi de biți pe canalul de
comunicare atunci când imaginea este transmisă, greșeli ale locațiilor de memorie sau
funcționare proastă a celulelor din senzorii camerei.
In cazul in care o imagine are mai mult de 10% din pixelii afectați de zgomot de tip
sare și piper, atunci zgomotul va domina imaginea. O imagine poate fi afectată doar de zgomot
de tip sare sau doar de zgomot de tip piper. Avem mai jos un exemplu de imagine afectată cu
acest tip de zgomot:

Fig3.2 Imagine cu 10% pixeli afectați de zgomot de tip s are și piper

29

3.1.3 Zgomotul cu distribuț ie gaussiană
Zgomotul de tip g aussian[13] este utiliz at pentru a model a procese n aturale care
produc zgomote, precum zgomotul electric din timpul procesului de achiziț ie. Pentru model area
zgomotului g aussian[14] se utilize ază o distribuț ie gaussiană, a cărei funcț ie de densit ate de
probabilitate este:
fgaussian = 1
√ 2πσ e− (𝑔−𝜇)
2𝜎

unde g este nivelul de gri, 𝜇 este medi a zgomotului ș i 𝜎 este devi ația standard a zgomotului.
Funcț ia de densit ate de prob abilitate de m ai sus arată astfel:

O im agine afectată de zgomotul g aussian va arata astfel:

Fig 3.3 Imagine afectată de zgomot g aussian

30
3.2 Determin area prezenței zgomotului î n im agini
Determin area prezenț ei zgomotului [15] în im agini se re alizează cu ajutorul
raportului semn al – zgomot (SNR = Sign al to Noise R atio). Vom arata în continu are cum se
calcule ază acesta.
Știm c ă zgomotul este aditiv:

g (x,y) = f (x, y) + n(x,y)

Dacă zgomotul are medi a 0 (⟨𝑛 (𝑖,𝑗 )⟩ = 0) ș i este dependent de semn al
(⟨𝑠(𝑖,𝑗)𝑛(𝑖,𝑗)⟩ = 0) atunci:

⟨𝑠(𝑖,𝑗)⟩ = ⟨𝑓 (𝑖,𝑗)⟩ = 𝜇
𝜎𝑓 2 = 𝜎𝑠 2 + 𝜎𝑛 2

Devi ația standard este afectată de zgomot, d ar nu ș i medi a imaginii.

Revenind l a SNR, avem formul a:

SNR = 𝜎𝑠
𝜎𝑛 = √𝜎𝑓2
𝜎𝑛2−1
Și în funcț ie de v aloaraea acestui a putem deduce:

 Dacă SNR > 20 atunci vizibilit atea zgomotului este m ai mic ă
 Dacă SNR ≈10 atunci o c antitate mic ă de zgomot este vizibil ă
 Dacă SNR ≈4 atunci zgomotul este cl ar vizibil
 Dacă SNR ≈2 atunci im aginea este afectată în mare măsură de zgomot
 Dacă SNR ≈1 atunci zgomotul a acaparat imaginea origin ală

31
Modul de c alcul este urm ătorul:

1. Dintr -o singur ă imagine
(a) Calculăm 𝜎f pe to ată imaginea
(b) Pentru o zon ă cu intensit ate uniform ă 𝜎s = 0 ș i se c alcule ază 𝜎f = 𝜎n
2. Din dou ă imagini successive ale acelei ași scene:
f (i,j) = s (i,j) + n (i,j )
g (i,j) = s(i,j) + m (i,j)

 m și n au aceeași funcț ie de densit ate de prob abilitate, deci au aceeași medie (0) ș i
dispersie
 m și n sunt independente de semn al (⟨𝑠 (𝑖,𝑗)𝑛 (𝑖,𝑗)⟩ = 0, ⟨𝑠 (𝑖,𝑗)𝑚 (𝑖,𝑗)⟩ = 0)
 f și g sunt necorel ate ⟨𝑓 (𝑖,𝑗)𝑔 (𝑖,𝑗)⟩ = 0. Corel ația norm alizată dintre f ș i g:

r = ⟨( 𝑓𝑔− ⟨𝑓⟩ ⟨ℎ⟩)⟩
[[⟨|𝑓− ⟨𝑓⟩ |⟩ ⟨| 𝑓− ⟨𝑓⟩ |⟩ ]

r = 𝜎𝑠2
𝜎𝑠 + 𝜎𝑛2 2

Deci SNR po ate fi scris:
SNR = √𝑟
1−𝑟

32

CAPITOLUL IV

FILTRE DIGIT ALE

Filtrarea imaginilor [16] este un caz particular de îmbunătățire a imaginilor. În
procesarea imaginilor filtrele [17] sunt de obicei folosite pentru a suprima fie frecven țele înalte
din imagine (de exemplu n etezirea imaginii), fie frecvenț ele joase din imagine (de exemplu
intensificarea imaginii sau detectarea contururilor în imagi ne). O imagine poate fi filtrată atât
în domeniul spațial cât și în domeniul frecvenț ial.
Ne vom ocupa de filtrarea în domeniul spațial. O metodă de filtrare a imaginilor î n
domeniul spațial este convoluția. Convoluț ia presupune înmulțirea pixelilor din
vecinătatea fiecărui pixel cu un set de ponderi și apoi înlocuirea pixelului curent cu suma
acestor produse. Pentru a preveni modificarea luminozității generale a imaginii, ponderile
măștii sunt fie proiectate astfel încât s uma lor să fie unu, fie convoluț ia este urmată de o
normalizare, adică rezultatul va fi împărțit la suma ponderilor.
Așadar filtrul este generat prin furnizarea unui set de ponderi ce vor fi a plicate unei
vecinătăți a pixelului cu rent, vecinătate a cărei dimensiune va fi de asemenea furnizată. Cu alte
cuvinte, un filtru este generat pr in furnizarea unei măști. Setul de ponderi poartă numele de
nucleu de convoluție. Un astfel de nucleu de convoluție, sau filtru, are de obicei forma unui
pătrat de dimensiune impară. Astfel, atunci când va fi aplicat, imaginea rezultată nu va suferi
o deplasare cu jumătate de pixel față de imaginea originală. Forma generală a unui filtru de
dimensiuni 3*3 este următoarea:
[𝑝1 𝑝2 𝑝3
𝑝4 𝑝5 𝑝6
𝑝7 𝑝8 𝑝9]

33
4.1 Filtr area liniară a imaginilor
Filtrarea liniară se realizează cu ajuto rul unor măști, cunoscute și sub denumirea de
ferestre de filtrare. Deplasarea acestei ferestre a condus la denumirea de ,,tehnică ferestrei
glisante’’.
Această masca este considerată nucleul de convoluție. Să reamintim cum se
realizează acest procedeu :
 Fereastra de filtarare se supr apune im aginii de filtr at astfel: origine a acestei a va
fi de asupra pixelului curent ș i pixelii im aginii origin ale ce vor p articip a la
operația de convoluț ie vor fi cei peste c are se afla fereastra.
 Se realizează suma produselor de tipul v aloarepixel * pondere filtru și rezult atul va
fi dup ă filtrare a pixelului curent

Filtrarea in formula se po ate scrie astfel:
g (m,n) = ∑ 𝑊𝑘1 𝑓 (𝑚−𝑘,𝑛−1) (𝑘,1)∈𝑊

unde f (i,j) este im aginea care urme ază a fi filtr ată, g(i,j) imaginea rezult ată în urm a filtrarii, W
este vecin ătatea pixelului determin ată de m asca de filtr are iar W k,l sunt ponderile m ăștii de
filtrare, sau coeficienț ii măștii de filtr are.
Filtrele lini are pot fi de dou ă tipuri:
– filtre de tip ,,trece -jos’’
– filtre de netezire
– filtre de tip ,,trece -sus’’
– filtre de accentu are.

4.1.1 Filtre de tip ,,trece -jos’’

Filtrele de tip ,,trece -jos’’[18] (low-pass) sunt utilizate pentru netezire și filtrarea
zgomotului, iar frecventele care trec sunt doar cele joase. Aceste filtre au că efect medierea
valorilor pixelilor asupra cărora se aplică masca, iar efectul vizibil este cel de ,,blur’’.

34
În general, informația pe care o conține o imagine este de joasă frecvența, motiv
pentru care acest filtru reduce puterea zgomotului. Efectul de blu poate fi considerat o
îmbunătățire a zonelor a căror intensitate este relativ constanța prin înlăturarea micil or diferențe
între pixelii aceleiași regiuni.
În cazul zonelor absolut uniforme, nu mai putem îmbunătății uniformitatea dar
această operație de filtrare trebuie să păstreze valoarea constanța a pixelilor. Astfel, rezultă
condiția de normare a filtrelor de netezire: suma ponderilor măștii folosite pentru filtrare să
fie 1:
const anta = ∑ 𝑊𝑘,𝑙∗𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑎 ⇒ (𝑘,𝑙)∈𝑊 ∑ 𝑊𝑘,𝑙=1 (𝑘,𝑙)

Cele m ai import ante filtre de ne tezire sunt filtrul de mediere ș i filtrul g aussian.

Filtrul de mediere
Filtrul de mediere este cel mai simplu filtru de tip ,,trece -jos’’ și se caracterizează
prin faptul că are coeficientii măștii egali. Ținând cont de normalizare, un filtru de mediere de
dimensiuni N*N va avea coeficientii egali cu 1
𝑁∗𝑁.
Ideea filtrului de mediere este aceea de a înlocui fiecare pixel cu media aritmetică a
pixelilor din vecinătatea aleasă, inclusiv propria valoare. În mod normal se utilizează un filtru
de dimensiune 3*3, dar în cazul în care se dorește o netezire mai severă se utilizează un filtru
de dimensiuni mai mari, de exemplu 5*5. Un filtru de dimensiuni mai mici trebuie aplicat de
mai multe ori pentru a obține un rezultat similar, dar nu identic cu rezultatul obținut printr -o
singură trecere cu un filtru de dimensiuni mai mari .

Avem m ai jos filtrul de mediere de dimensiuni 3*3:
1
9 1
9 1
9
1
9 1
9 1
9
1
9 1
9 1
9

Filtrul de mediere de dimensiuni 3*3:

35
Măștile de filtrare nu se limitează la realizarea mediei aritmetice, el poate realiza și o medie
ponderată a pixelilor din vecinătate. Avem mai jos exemple de astfel de filtre:

(a) (b) (c) (d)

Fig 4.1 Măști de mediere ce re alizează o medie ponder ată

Astfel, orice masca poate ajunge la o formă pătrată și centrată prin bordare cu puncte
cărora le sunt asociate ponderi nule.

Fig 4.2 Form a pătrată și centr ată a măștii.

1
16 1
16 1
16
1
16 1
2 1
16
1
16 1
16 1
16 0 1
5 0
1
5 1
5 1
5
0 1
5 0 0 1
8 0
1
8 1
4 1
8
0 1
8 0 1
4 1
6
1
6 1
6
0 0 0
0 1
4 1
6
0 1
6 1
6

36
Vom aplica în continu are filtrul de mediere de dimensiuni 3*3 asupra unor im agini afectate de
zgomot s are și piper, respectiv g aussin. În urm a filtrării am obț inut:

(a) Imaginea origin ală (b) Imaginea filtrată
Fig 4.3 Aplicarea filtrului de mediere asupra unei im agini afectate de zgomot s are și piper

(a) Imaginea afectată de zgomot g aussian (b) Imaginea filtrată
Fig 4.4 Aplicarea filtrului de mediere asupra unei im agini afectate de zgomot g aussian

Aplicarea filtrului de mediere asupra imaginii afectate de zgomot gaussian [19] a
avut următor ul efect: zgomotul este mai puți n evident, însă imaginea a fost netezită. Aplicând
același filtru imaginii afectate de zgomot sare și piper a condus la distorsionarea mediei pixelilor
întrucât valoarea zgomotului de tip sare și piper este, în mare parte, diferită de valoarea pixelilor
din vecinătate. Imaginea rezultată nu reprezintă o îmbunătățire din punct de vedere al eliminării
zgomotului și in plus, i maginea este acum foarte neclară. Filtrul de mediere are însă două
dezavantaje:

37

un singur pixel cu o valoare nesemnificativă pentru regiunea în care se află poate afecta
semnificativ valoarea mediei pentru toți pixelii din vecinătate
atunci când vecinătatea filtrului intersectează un contur, filtrul va genera noi valori pentru
pixelii de pe contur conducând astfel la netezire, asta putând reprezenta o problema în cazul în
care se dorește că imaginea rezultată să aibă contururile bine def inite.
Filtrele de mediere nu sunt utilizate întrucât acestea afectează și semnalul util pe
lângă zgomot.
Filtru Gaussian
• este circular simertic, muchiile și liniile în direcții diferite sunt tratate la fel;
• matricea nucleu se poate separa într -un produs de 2 vectori (orizontal și vertical) => aplicarea
matricii filtru poate fi realizată prin aplicarea secvențială a unor matrici mai mici.

Fig 4.5 D istribuț ia gauss1-D cu medi a 0 și distribuț ia 𝜎=1

38

Fig 4.6 D istribuț ia gauss 2 -D cu medi a (0,0) și ditribuț ia 𝜎=1

Filtrul pentru eliminarea zgomotului gaussian are dimensiunea în concordanță cu
deviația standard a zgomotului, de obicei alegându -se dimensiunea egală cu 6 , iar acest
filtru se construiește cu formula :
G(x,y) = 1
√2𝜋𝜎𝑒 – ((x−x0)2+(y−t0)2)
2𝜎2

Unde (x 0,y0) este centrul acestui filtru.
Dacă dimensiunea filtrului este mare, vom avea N2 înmulțiri pentru fiecare pixel, unde
N este dimensiunea filtrului, iar această operație ar fi foarte costisitoare. Astfel, vom
utiliza proprietatea de separabilitate: G(x,y) = G(x) G(y)
Ceea ce implic ă înlocuire a nucleului bidimension al cu dou ă convoluț ii ce au nucleul
unidimension al:
Ifiltrata (x,y) = (G (x)G(y)) I sursa(x,y) = G(x) G(y)I sursa(x,y))
unde G(x), respectiv G(y) au for mulele:
G(x) = 1
√2𝜋𝜎𝑒 -(𝑥−𝑥0)2
2𝜎2
G(y) = 1
√2𝜋𝜎𝑒− (𝑦−𝑦0)2
2𝜎2

39
Folosind filtrul gaussian, prin alegerea unei dimensiuni potrivite pentru această
putem fi destul de siguri referitor la gama de frecvente ce vor rămâne în imagine după filtrare,
ceea ce nu putem spune despre folosirea filtrului de mediere.
Ceea ce privește filtrele de netezire, privind din perspectiva eliminării zgomotului, este necesară
utilizarea unui filtru de dimensiuni cât mai mari, pe când din perspectiva semnalul ui util, este
necesară utilizarea unui filtru de dimensiuni cât mai mici. Astfel, un compromis între cele două
va fi utilizat în practică.

4.1.2 Filtre de tip ,,trece -sus’’
Filtrele de tip ,,trece -sus’’ permit trecerea neatenuată a frecvențelor înalte și
blochează sau atenuează trecerea frecventelor joase. Efectul acestui tip de filtre este
evidențierea zonelor cu variații bruște de intensitate, cum ar fi contururile sau frontierele,
îmbunătățind astfel detectabilitatea componentelor imaginii.
Filtrele ut ilizate pentru detectarea muchiilor trebuie să aibă următoarea proprietate:
rezultatul filtrării unei zone absolut uniforme trebuie să fie nul. Astfel notând cu valoarea
pixelilor din zona absolut continuă, din formulă filtarii liniare vom avea:
0= ∑ 𝑊 (𝑘,𝑙)∈𝑊 k,l* 𝜇 ⇒ ∑ 𝑊 (𝑘,𝑙)∈𝑊 k,l = 0
Detect area muchiilor se re alizează cu ajutorul L aplacianului im aginii L (x,y), 3 el
realizând a două deriv ate a imaginii prin formul a:
L (x,y) = 𝜕2𝐼
𝜕2𝑥2 + 𝜕2𝐼
𝜕2𝑦2
unde I (x,y) este im aginea asupra căreia se va aplica acest oper ator.

40
Deoarece imaginea este reprezentată printr -o mulțime de pixeli discreți va trebui să
găsim filtre de convoluție discrete care să aproximeze derivată a două a imaginii din formulă
Laplacianului. Cele mai utilizate măști 3*3 pentru această aproximare sunt :

(a) (b)
Fig.4.7 Filtre de accentu are
Filtrele de a ccentuare nu intră în categoria filtrelor de tip ,,trece -sus’’ dar folosește
acest tip de filtrare pentru realizarea accentuării . Prin accentuare se înțelege contrastarea
imaginii în scopul îmbunătățirii vizualizării componentelor din imagine de -a lungul
frontierelor. Acest lucru se realizează prin modificarea pixelilor aflați de -o parte și de cealaltă
a frontierei.
Filtrul de acce ntuare se implementează în felul următor :

Fig 4.8 Filtrul de accentu are

În concluzie, filtrele ,,trece -sus’’ pot fi utiliz ate atât individu al, pentru detect area
contururilor, c ât și utiliz ate pentru implement area filtrelor de accentu are.

-1 -1 -1
-1 8 -1
-1 -1 -1 0 -1 0
-1 4 -1
0 -1 0

41
4.2 Filtr area nelini ară a imaginilor
Se caracterizează prin faptul că valoarea unui pixel de după filtrare [20] nu mai este
o combinație liniară a valorilor pixelilor din vecinătatea considerată. Acest tip de filtru a apărut
din nevoia de a depăși limitariile filtrelor liniare: atunci când zgomotul nu mai este aditiv sau
nu are o distribuție normală.
Imaginea va fi acoperită cu puncte negre și puncte albe, efect cunoscut sub numele
de zgomot sare și piper. Aceste valori, fiind fie mult mai mari, fie mult mai mici că valorile
pixelilor din zona afectată se numesc valori aberante sau extrem e. Dacă unei astfel de imagi ni i-
ar fi aplicată o filtrare liniară, rezultatul va fi accentuarea zgomotului. În plus, pixelii din jurul
acestor valori vor fi și ele corupte de zgomot.
Un exemplu de astfel de filtre sunt filtrele de ordonare, care au la baza ideea
următoare: prin ordonarea valorilor pixelilor, valorile aberante vor apărea la capete, deci se va
putea efectua eliminarea acestora.

Filtrele de ordine
Filtrele de ordine intr ă în clasa operatorilor de vecin ătate, folosind o m asca pentru
filtrare și bazându-se pe tehnic a ferestrei glis ante. V alorile pixelilor din vecin ătate vor fi
ordon ați cresc ător. Poziț ia unui pixel î n această mulț ime ordon ată se numeste r ang.
Presupun ând că avem { x1, x2….xn} valorile pixelilor din vecin ătatea considerată, în urm a
ordon ării vom avea { x(1), x(2)….x(n)} cu propriet atea că
x(1) ≤ x(2) ≤ ….≤ x(n)
Astfel, ieș irea unui filtru de ordine de r ang k v a fi
rangk {x1, x2…x n} = x (k), k ∈ {1…n}
Contururile nu vor fi afectate de filtrele de ordine, i ar valoarea zonelor uniforme va
fi păstrată. Princip alele filtre de ordon are sunt filtrul medi an, filtrul de m axim ș i filtru de minim.

42
Filtrul medi an
Filtrul median funcționează astfel: pentru fiecare pixel, el va extrage valoarea
mediană din mulțimea ordonată a pixelilor din vecinătate, această fiind nouă valoare a pixelului
curent. În cazul în care vecinătatea aleasă are un număr par de pixeli, acest filtru va returna
media celor două valori din mijloc. Acest filtru se folosește în special pentru eliminarea
zgomotului de tip sare și piper.

Forma matematică a filtrului medi an este
medi an {x1,x2… xn} = {𝑥(𝑛+1
2
(𝑥(𝑛
2)+𝑥(𝑛
2+1))/2
Filtrul medi an are dou ă avantaje față de filtrul de mediere:
 o singur ă valoare nereprezent ativă pentru vecin ătatea în care se afla nu va fi afectată în
mod semnific ativ valoarea medi ană
 deoarece v aloarea medi ană este o v aloare existent ă în vecin ătatea în care se află, filtrul
medi an nu v a gener a valori nere aliste pentru zon a contururilor, de unde putem tr age
concluzi a că filtrul medi an face o tre abă mai bun ă ca filtrul de medi ere în păstrarea
muchiilor. Mai jos este un exemplu de im agine afectată de zgomotul s are și piper asupra
căreia a fost aplicat filtrul medi an.

(a)Imaginea origin ală (b)Imaginea cu zgomot (c) Imaginea filtrată
Fig 4.9 Aplicarea filtrului medi an

43
Filtrul de m axim
Filtrul de maxim funcționează astfel: pentru fiecare pixel, el va extrage valoarea
maximă din mulțimea ordonată a pixelilor din vecinătate, valoarea x (n), această fiind nouă
valoare a pixelului curent. Poate fi utilizat pentru eliminarea zgomotului de tip piper. Atunci
când se aplică unei imagini afectate de zgomot de tip sare și piper, zgomotul de tip piper va fi
eliminat, însă zgomotul de tip sare va fi amplificat.
In figur a de m ai jos se po ate urm ări efectul filtrul de m axim asupra unei im agini ce
a fost afectată de zgomot de tip s are și piper:

(a) Imaginea cu zgomot (b)Imaginea filtrată
Fig 4.10 Aplicarea filtrului de m axim

Filtrul de m axim m ai este cunoscut ș i sub denumire a de filtru de dil atare.

(a) Imaginea filtrată (b) Imaginea originala
Fig 4.11 Efectul de dil atare

44
Filtrul de minim
Pentru fiecare pixel, el va extrage valoarea minimă din mulțimea ordonată a pixelilor
din vecinătate, valoarea x (1), această fiind nouă valoare a pixelului curent. Poate fi utilizat pentru
eliminarea zgomotului de tip sare. Atunci când se aplică unei imagini afectate de zgomot de tip
sare și piper, zgomotul de tip sare va fi eliminat, însă zgomotul de tip piper va fi amplificat.

Efectul filtrului de minim asupra unei imagini ce a fost afectata de zgomot de tip sare
și piper.

(a) Imaginea cu zgomot (b) Imaginea filtrată
Fig 4.12 Aplicarea filtrului de minim

Filtrul de minim (filtrul de ordine de ordin 1) ¸si filtrul de maxim (filtrul de ordine de ordin n)
sunt singurele filtre de ordine separabile .
Filtrul de minim mai este cunoscut și sub denumirea de filtru de erodare. Pentru a
vedea acest efect, vom aplica filtrul asupra unei imagini neafectate de zgomot:

45
Filtru minim mai este cunoscut si sub denumirea de filtru de erodare

(a) Imaginea origin ală (b) Imaginea filtrată

Fig 4.13 Aplicarea filtrului de minim

46
Capitolul V

Rest aurarea imaginilor
Restaurarea imaginilor [21] se referă la reconstruirea unei imagini degradate sau la
realizarea unei estimări a acesteia. Procesul de restaurare poate fi privit ca procesul invers al
degradării imaginilor și se realizează presupunând că sunt cunoscute cauzele degradării.
Restaurarea imaginilor este folosită în domenii precum fotografie, astronomie, imagini
medicale, domenii științifice . Să analizăm î n continu are diferențele dintre î mbun ătățirea și
restaurarea imaginilor:
 îmbun ătățirea imaginilor este o oper ație subiectiv ă, utiliz atorul decide sub ce form ă
imaginea arată mai bine dec ât origin alul, pe c ând rest aurarea presupune un criteriu
obiectiv de c alitate
 îmbunătățirea imaginilor ple acă de la accentu area sau extr agerea unor c aracteristici ale
acestor a mai degr abă decât rest aurarea degradărilor
 problemele de rest aurare pot fi cu antific ate, spre deosebire de criteriile de îmbunătățire
ce pot fi descrise m ai greu sub o form a matematică
 operațiile tipice de î mbun ătățire a imaginilor sunt: conversi a nivelelor de gri, conversi a
histogr amei, netezire a zgomotului, evidenț ierea anumitor c aracteristici.
Un model al proceselor de degr adare, respectiv rest aurarea imaginilor po ate fi
următorul:

Fig.4.14 Procesul de restaurare a imaginilor
Un model al procesului de degr adare/ rest aurare a imaginilor unde g se po ate scrie:
g(x,y) = H [ f (x,y)] + n (x,y)

47

Filtrele de rest aurare trebuie construite î n așa fel încât f (x,y) să fie cât mai apropi ată
posibil de f (x,y).
Degr adarea imaginilor po ate fi î mpărțită în dou ă categorii: blur are și zgomot .
Se consider ă modelul de degr adare prin blur are. D acă se cuno aște funcț ia de blur are
care a corupt im aginea, cea mai simpl ă și uș oara modalitate de rest aurare este filtr area invers ă.
Deoarece filtrul invers este un filtru de tip ,,trece -sus’’, filtr area invers ă tinde s ă nu fie pre a
efectiv ă în imaginile c are prezint ă zgomot deo arece acesta are frecvențe î nalte.
Să consider ăm o im agine blur ată caracteriz ată prin:
g(x,y) = f (x,y) * b(x,y)
Unde f este im aginea origin ală, b este un tip de filtru ,,trece -jos’’ ș i g este im aginea
blurată. Astfel pentru a reveni l a imaginea inițială va trebui s ă realizăm convoluți a între
imaginea blurată și un filtru de tip ,,trece -sus’’ h:
f (x,y) = g(x,y) * h(x,y)
În acest fel ajungem la întrebarea cum îl găsim pe h? Dacă luăm transformată Fourier
discretă a lui b și o notăm cu B, în cazul ideal, pentru a obține filtrul ,,trece -sus’’ va trebui să
inversăm lementele lui B. Feoarece vor există elemente ale lui B egale cu zero sau foarte
apropiate că valoare de 0, prin inversarea acestora vom ajunge fie la valoarea infinit, fie la valori
foarte mari.
A doua categorie de degradare este zgomotul. Restaurarea imaginilor afectate de
zgomot se realizează cu ajutorul filtrelor de eliminar e a zgomotului. În consecință restaurarea
imaginilor este o operație ce se realizează pentru a inversă efectele degradării, presupunând
cunoscut tipul degradării.

48
Capitolul VI

DESCRIEREA APLICATIEI A EDITARII IMAGINILOR
Analiza si restaurarea imaginilor este un domeniu nou dar indispensabil ce a ajuns să fie foarte
întâlnit datorită importanțelor sale .
Acest lucru se î ntâmplă și datorită dezvoltării continue a tehnologiilor care asigură suportul
hardware și software necesar.
Aplicaț ia este destinată atât cunoscătorilor de tehnici de analiză și de prelucrare a
imaginilor cât și celor care doar ce au început studiul acestora.
Din ce în ce mai mulți utilizatori folosesc o aplicație pentru a edita fotografiile personale sau
diverse imagini, dar majoritatea acestor programe costă destul de mult.
Aplicația pe care am realizat -o este un produs ce poate fi utilizată pe o durată
îndelungată. De asemenea, nu este necesară o înregistrare sau o furnizare de date personale.
Folosind această aplicație, ut ilizatorul are posibilitatea de a alege din următoarele
funcționalități:
 Să aplice asupra imaginilor operații de îmbunătățire a contrastului.
 Transformarea unei imagini c ulori în imagine alb -negru
 Negativarea unei imagini
 Degradarea unei imagini folosind c ele 3 tipuri principale de zgomot: zgomot
gaussi an

6.1. Tehnologii folosite

Aplicația a fost dezvoltată de la zero în limbajul de programare C#. Vom prezenta pe
scurt acest limbaj. C# este un limbaj de programare conceput de Microsoft la sfârșitul anilor
90. A fost conceput că un concurent pentru limbajul Java. Ca și acesta, C# este un derivat al
limbajului de programare C++
 Este proiectat și direcționat în mod specific pentru utilizarea cu Microsoft .NET
Framework (o bogată platforma pentru dezvolt area ,implementarea și executarea aplicațiilor
distribuite).

49
 Este un limbaj bazat pe metodologia modernă de proiectare orientată spre obiect și
atunci când a fost proiectată, Microsoft a învățat din experiență tuturor celorlalte limbaje
similare care au fo st în jur, de vreme ce principiile orientate spre obiecte au ajuns la proeminentă
acum 20 de ani.
În C#, am lucrat cu imagini în f ormat "JPeg/bitmap". Vom prezent a pe scurt acest
format. Imaginile grace ce sunt procesate de un computer se împart în două categorii: Siere
bitmap sau vectori grafici. În analiza imaginilor se folosesc imaginile bitmap.
Imaginile bitmap sunt o colecție de biți care formează o imagine, traducerea termenului
"bitmap" fi ind harta/plan de biți. Imaginea este reprezentată ca o matr ice de puncte individuale,
numite pixeli, ce au propria culoare descrisă printr -un bit.
Imaginile bitmap pot conține orice număr de culori ș i pot fi împărțite în 4 ca tegorii:
Imagini "Line -Art" – sunt imagini care conțin doar două culori, în general alb și negru

(a) ImagineArtLine (b) Imagine in tonuri de gri

Fig 6.1 imagini in tonuri de gri care contin doua culori alb si negru

6.2 Editarea imaginilor cu ajutorul matricilor bidimensionale

50
O imagine este reprezentată in memoria unui calculator ca o matrice bidimensională de puncte
(pixeli). Dimensiunea matricei este aceeași cu dimensiunea imaginii in cele două axe (inalțime
și lațime).
Fiecare punct al imaginii, denumit și pi xel este format dintr -o grupare de valori de roșu, verde
și albastru denumită RGB (RedGreenBlue) cu valori intre 0 și 255. Zero reprezintă valoarea
minimă și cea mai apropiată de negru, iar 255 este valoarea maximă și cea mai apropiată de
alb. Culoarea un ui pixel este rezultatul combinației de valori RGB. Pentru obinerea colorii
negru a unui pixel valorile sunt (0,0,0) iar pentru alb (255,255,255) .
Așadar o imagine este o marice bidimensionala de valori RGB. Prin aceesarea și modificarea
valorilor pixelilo r și prin aplicarea de diferiți algoritmi asupra lor se pot obține diferite efecte și
transformări asupra imagini.
Histograma este un grafic ce indică numărul de pixeli corespunzători unui canal de culoare. În
funcție de tipul imaginii (respectiv spațiul d e culori – RGB, HSV, LaB etc.) se pot afișa graficele
corespunzătoare fiecărui canal al unei imagini. Pentru o imagine pe 8 biți, histograma va afișa
pe numărul de pixeli pentru fiecare valoare de culoare posibilă (256 valori).
Utilitatea histogramei este cea mai evidentă in prelucrarea imaginilor (sau filmului) care sunt
digitizate după pelicula sau sunt capturate direct in format digital. Fiecare metodă de a
transforma o imagine reală in una digitală are neajunsurile ei, de aici apărând necesitatea unei
caracterizări mai precise decăt observarea cu ochiul liber (care implică și un anumit talent).
Evaluând o imagine cu ajutorul histogramei permite o apreciere rapidă a pașilor necesari pentru
a imbunatății calitatea imaginii, adică la o corecție a culorilor de calitate.
Pentru cei veniți din lumea fotografiei tradiționale, se poate spune că histograma permite
corectarea problemelor de expunere. În lumea digitală ajustarea expunerii este de cele mai multe
ori automată (putând fi eventul modificați parametrii d e gain), iar in cazul imaginilor randate
este practic inexistentă. În special in ultimul caz sunt necesare multe imagini de test pentru a
reuși o potrivire a luminilor care să cuprindă intregul spectru.
În principiu, aceeași corecție a unei imagini se poat e face in mai multe feluri. Histograma și
Curves duc cam la aceleași rezultate, diferența fiind ca în cazul al doilea spline -urile permit o
ajustare mult mai fină.

51
Imaginile cu care se lucrează in mod curent sunt imagini cu nivele de gri, reprezentate pe 2 56
de nivele de cuantizare . Valoarea fiecărui pixel al imaginii (nivelul de gri al fiecarui pixel) este
măsura luminanței punctului respectiv; 0 corespunde negrului și 255 corespunde albului. Din
acest punct de vedere, imaginile sunt imagini de intensitat e (valoarea fiecărui punct este
proporținală cu intensitatea luminoasă din punctul considerat).În același timp însă, valorile
intregi ale punctelor se folosesc la afișarea imaginii pentru a recupera culoarea corespunzătoare
dintr -un tabel de culoare (tabel de culoare ce conține cele 256 de nivele de gri folosite), și deci
există și o a doua interpretare a imaginilor ca imagini indexate.

6.2.1 Conversia la negativ a unei imagini
O imagine pozitivă este o imagine normală. O imagine negativă este o inversiune totală a unei
imagini pozitive, în care zonele luminoase apar întunecate și vice -versa. O imagine color este
una negativ plus culoarea inversată, cu zone roșii care apar turcoaz, verdele apare purpuriu și
albastrul apar galben. Acest lucru, uneori, poate avea un efect invers și cauza verdeață să apară
un maro -roșcat.
Pentru a converti o imagine color la negativ nu inseamnă simpla desaturare a culorilor, și poate
fi realizată astfel incăt să imite oricare din aspectele unei game largi create in urma folosir ii
filtrelor de culoare din fotografia alb -negru pe film. O conversie care nu tine seamă de culoarea
și de subiectul de interes al unei imagini poate deteriora mesajul artistic, și poate crea o imagine
ștearsă sau careia ii lipsește registrul de tonuri. Ac eastă secțiune asigură informații de fond
asupra utilizării filtrelor de culoare , și stabilește tehnicile de bază ale conversiei in alb -negru
comparându -le din punct de vedere al flexibilității și facilității de utilizare.

52
6.2.2 Conversia la gri a unei imagini
Imaginile gri, de asemenea, cunoscut sub numele de alb -negru, sunt compuse exclusiv din
nuanțe de gri, variind de la negru la cea mai slabă intensitate la alb cel mai puternic.
Conversia unei imagini color în tonuri de gri nu este unic, ponder ea diferită de canale de culoare
reprezintă în mod eficient efectul de fotografiere alb -negru a filmului, cu diferite filtre de
culoare fotografice de pe camerele de luat vederi. O strategie comună este de a potrivi luminanța
imaginii în tonuri de gri la l uminanță de imagini color.
Pentru a converti orice culoare la o reprezentare în tonuri de gri , în primul rând trebuie să obțină
valorile sale de roșu, verde și albastru (RGB) primare în codificare intensitate liniară, de
expansiune gamma. Apoi, se adaugă împreună 30% din valoarea rosu, 59% din valoarea verde,
și 11% din valoarea de albastru (2) (3) (4) (aceste greutăți depind de alegerea exactă a primare
RGB, dar sunt tipice ). Indiferent de scara angajat (0.0 – 1.0, de la 0 la 255, 0% la 100%, etc),
număr ul de rezultat este valoarea dorită luminanței liniar, ea de obicei, trebuie să fie gama
comprimat pentru a obține înapoi la o reprezentare convențională tonuri de gri.
În domeniul fotografiei, o matrice de filtre de culoare ,sau mozaic de filtre de culoare(MFC),
este un mozaic de mici filtre de culoare plasate peste senzorii pixel ai unui senzor de imagine
pentru a capta informație despre culoare.
Filtrele de culoare sunt necesare deoarece senzorii foto tipici detectează intensitatea luminii cu
speci ficitate a lungimii de undă scăzută sau inexistentă, și prin urmare nu pot separa informația
culorii. Din moment ce senzorii sunt făcuți din semiconductoare se supun fizicii stării solide.
Filtrele de culoare filtrează lumina în funcție de lungimea de undă , astfel încât intensitățile
filtrate separate includ informații despre culoarea luminii. De exemplu, filtrul Bayer oferă
informații despre intensitatea luminii în regiunile de lungimi de undă roșii, verzi și albastre
(RVA). Datele brute ale imaginii capt ate de senzor sunt apoi convertite într -o imagine complet
color (cu intensități ale tuturor celor trei culori primare reprezentate la fiecare pixel) de către un
algoritm de demozaicare ce este croit pentru fiecare tip de filtru de culoare. Transmitanța
spectrală a elementelor MFC alături de algoritmul de demozaicare determină împreună redarea
culorilor. Randamentul cuantic al benzii de trecere a senzorului și anvergura sensibilității
spectrale a MFC -ului sunt în mod tipic mai largi decât spectrul vizibil, a șadar se pot distinge

53
toate culorile vizibile. Sensibilitatea filtrelor nu corespunde în general cu funcțiile de potrivire
a culorii CIE, deci se cere o traducere a culorii pentru a converti componentele tricromatice
într-un spațiu de culoare absolut comun .
6.2.3 Filtrul sepia pentru imagini
Contrar credinței populare, imaginile sepia nu sunt poze vechi cu culori care s -au decolorat cu
vârsta. Astfel, diferitele nuanțe de maro tonifiat ce se pot observa pe o fotografie sepia au fost
acolo, chiar din momentu l în care imaginea a ieșit din tipar.Cuvântul “sepia” provine de la o
molucă , de la un pigment maro -roșcat ce a fost derivat în zilele vechi pentru a fi folosit ca
cerneală. Procesul de imprimare a primit astfel numele, deoarece în procesul de printuri în curs
de dezvoltare, fotografiile alb -negru au fost tratate cu substanțe chimice, care au lăsat în urmă
o nuanță roșiatică ca a sepiei. Acum, desigur, avem diferite tehnologii care ne dau efectele
estompate. O fotografie sepia este identificabilă prin culo area sa unica brun monocrom, care
este de fapt o fotografie colorată in diferite nuanțe de maro

54
6.3 Utilizarea aplicaț iei

Aplicaț ia pe care o dețin are design simplu, ușor de utilizat, tehnicile de îmbună tățire ș i
de analiză ș i restaurare a imaginilor.

Fig.6. 1.Interfața aplicaț iei

Pentru aceast ă aplicație am folosit Form de la C# adă ugând butoane pentru diverse comenzi.
Meniul este î mpărțit astfel:

Butonul File conț ine:

a. Open
b. Save as (BMP, JPEG,PNG)
c. Exit

55

Fig.6. 2 Interfata File Button
Butonul Undo: Putem să ne intoarcem la ultima modificare.

Fig.6. 3.Butonul Undo si bara de setari

Butonu l Filters ne ajută să pronunțăm să expunem poza.
d. Efectul Sepia
e. Black and White (retro foto)
f. Negative

Butonul Help conține versiunea aplicaț iei:

56

Fig.6. 4. Butonul de Help si versiunea actuala

Butonul de Britghtness este un atribut al percepției vizuale în care o sursă pare a fi strălucirea
sau reflectarea luminii . Acesta este un atribut proprietate sub iectivă a unui obiect care este
observat și unul dintre parametrii aspectului de culoare al modelelor de aspect color .[9,15]

Fig.6. 5 Bara de volum pentru functia Brightness Volume – 0

57

Fig.6. 6 Bara de volum pentru functia Brightness Volume -155

Butonul de Contrast este diferența dintre înnegrirea maximă și cea minimă care se pot vedea
într-o imagine fotografică. În percepția vizuală a lumii reale, contrastul este determinat de
diferența dintre culoarea și luminozitatea unui obiect și alte obiecte din interiorul
aceluiași câmp vizual [11,15]

Fig.6.7 Bara de volum pentru functia Contrast Volum – 0

58

Fig.6.8 Bara de volum pentru functia Contrast Volum -139

Aplicaț ia pe care dezvoltat -o este un instrument util at ât pentru utilizatorii care încep studierea
prelucr ării ș i analizei imaginilor, c ât și pasionaț ilor ai acestui domeniu.
Astfel, aceast ă aplicaț ie va face mai uș oara munca fotografiilor ș i utilizatori lor de artă virtuală.

59
6.4 Descrierea aplicatiei implementate
Aplicaț ia a fost creată î n programul C# unde am folosit diverse metode ș i clase pentru a putea
creea această aplicație. Editorul de imagine conț ine un “Window – Form” cu diverse butoane
pentru a uș ura munca editorului.

În acea stă aplicaț ie am folosit o si ngură clasă (public partial class Form1 : Form ) în care am î ncadrat
diverse metode de aplicaț ie pentru filter, butoane ș i alte elemente ce ț in de editor.

public partial class Form1 : Form
{

Image file;
Boolean opened = false;
Bitmap originalImage = null;
float contrast = 0;

public Form1()
{
InitializeComponent();

trackBar1.Enabled = false;
}

void openImage()
{
DialogResult dr = openFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
file =
Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = file; opened = true;

originalImage = pictureBox1.Image as Bitmap;

trackBar1.Enabled = true;
}

60

Pentru a putea crea o aplicație î n C# avem nevoie de librari :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;

System.Windows.Forms; Reprezintă o fereastră sau o casetă de dialog care constituie interfața
de utilizare a unei aplicații. Intotdeauna pentru o aplicatie vom folosi Windows forms

using System.Drawing.Imaging;

System.Drawing.Imaging oferă funcționalități avansate de imagistică GDI +. Funcțiile grafice
de bază sunt furnizate de spațiul de nume System.Drawing .

using System.IO;

System.IO conține tipuri care permit citirea și scrierea fișierelor, fluxurilor de date și tipurile
care oferă suport de bază pentru fișiere și directoare.

Cele m ai importante pentru un tool de photo editor sunt:

using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;

În secț iunea filters avem diverse butoane cu diverse funcț ii dar să vedem ce metode am folosit
pentru aceste filtre.

61
Formula folosită pentru a calcula un ton sepia diferă semnificativ de filtrul de tonuri de gri
discutat anterior. Formula poate fi simplificată după cum urmează:
– Componenta rosie: Suma totala: 39.3% rosu, 34.9% verde, 27.2% albastru
– Componentă verde: Suma totală: 76,9% roșu, 68,6% verde, 53,4% albastru
– Componentă albastră: Suma totală: 18,9% roșu, 16,8% verde, 13,1% albastru
Funcția Sepia [22] :

new float[]{.393f, .349f, .272f, 0, 0},
new float[]{.769f, .686f, .534f, 0, 0},
new float[]{.189f, .168f, .131f, 0, 0},
new float[]{0, 0, 0, 1, 0},
new float[]{0, 0, 0, 0, 1},

Filtrul de imagine negativ scade 1 din fiecare componenta de culaore, retine intervalul valabil
de la 0 la 1 inclusiv. Acest ColorMatrix inverseaza, in realitate, fiecare bit de componente de
culoare ale fiecarui pixel. Transformarea aplicata poate fi exprimata si ca implementarea
operatorului de complot de biti pe fiecare pixel.
Funcția Black and White [23] :

new float[] {-1, 0, 0, 0, 0},
new float[] {0, -1, 0, 0, 0},
new float[] {0, 0, -1, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {1, 1, 1, 0, 1}

Metodele de extindere a filtrelor de imagine ilustrate in acest articol sunt implementate intr -o
maniera similara cu metoda DrawWithTransparency.DrawAsGrayscale este o metoda de
extensie pusa in aplicare dupa cum urmeaza.
Functia Negative [24]:

new float[] { 0.299f, 0.299f, 0.299f, 0, 0 },
new float[] { 0.587f, 0.587f, 0.587f, 0, 0 },
new float[] { 0.114f, 0.114f, 0.114f, 0, 0 },
new float[] { 0, 0, 0, 1, 0 },
new float[] { 0, 0, 0, 0, 1 },

62

Codul din spatele butonului Sepia:
{
if (!opened)
{
MessageBox.Show( "Open an Image then apply changes" );
}
else
{
Image img = pictureBox1.Image;
ImageAttributes ia = new ImageAttributes();
Bitmap bmpInverted = new Bitmap(img.Width, img.Height);
ColorMatrix cmPicture = new ColorMatrix( new float[][]
{
new float[]{.393f, .349f, .272f, 0,
0}, new float[]{.769f, .686f, .534f,
0, 0}, new float[]{.189f, .168f,
.131f, 0, 0}, new float[]{0, 0, 0, 1,
0}, new float[]{0, 0, 0, 0, 1},
});

Exemplu de jos ne arată modul de utilizare a unui obiect Bitmap
{
if (!opened)
{
MessageBox.Show( "Open an Image then apply changes" );
}
else
{
Image img = pictureBox1.Image;
ImageAttributes ia = new ImageAttributes();
Bitmap bmpInverted = new Bitmap(img.Width, img.Height);
ColorMatrix cmPicture = new ColorMatrix( new float[][]
{
new float[]{.393f, .349f, .272f, 0,
0}, new float[]{.769f, .686f, .534f,
0, 0}, new float[]{.189f, .168f,
.131f, 0, 0}, new float[]{0, 0, 0, 1,
0}, new float[]{0, 0, 0, 0, 1},
});

63

Codul din spatele butonului Black and White:
{
if (!opened)
{

MessageBox.Show afișează o casetă de mesaje cu textul specificat, subtitrarea, butoanele,
pictograma, butonul implicit și opțiunile.

MessageBox.Show( "Open an Image then apply changes" );
}
else
{
Image img = pictureBox1.Image;

ImageAttributes ia, conține informații despre modul în care sunt manipulate culorile bitmap și
metafile în timpul redării.

ImageAttributes ia = new ImageAttributes();
Bitmap bmpInverted = new Bitmap(img.Width, img.Height);
ColorMatrix cmPicture = new ColorMatrix( new float[][]
{
new float[] {-1, 0, 0, 0, 0},
new float[] {0, -1, 0, 0, 0},
new float[] {0, 0, -1, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {1, 1, 1, 0, 1}
});

Exemplu de jos ne arată modul de utilizare a unui obiect Bitmap

ia.SetColorMatrix(cmPicture);
Graphics g = Graphics.FromImage(bmpInverted);

g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height), 0, 0,
img.Width, img.Height, GraphicsUnit.Pixel, ia);
g.Dispose();
pictureBox1.Image = bmpInvert ed;
}
}

64
Codul din spatele butonului Negative [25]:
{
if (!opened)
{
MessageBox.Show( "Open an Image then apply changes" );
}
else
{
Image img = pictureBox1.Image;
ImageAttributes ia = new ImageAttributes();
Bitmap bmpInverted = new Bitmap(img.Width, img.Height);
ColorMatrix cmPicture = new ColorMatrix( new float[][]
{
new float[] { 0.299f, 0.299f, 0.299f, 0, 0 },
new float[] { 0.587f, 0.587f, 0.587f, 0, 0 },
new float[] { 0.114f, 0.114f, 0.114f, 0, 0 },
new float[] { 0, 0, 0, 1, 0 },
new float[] { 0, 0, 0, 0, 1 },
});

Exemplu de jos ne arată modul de utilizare a unui obiect Bitmap

ia.SetColorMatrix(cmPicture);
Graphics g = Graphics.FromImage(bmpInverted);

g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height), 0, 0,
img.Width, img.Height, GraphicsUnit.Pixel, ia);
g.Dispose();
pictureBox1.Image = bmpInverted;
}

65
Butonul de Brightness este puț in mai special deoarece trebuie să filtram și să calculam fiecare
mișcare (float FinalValue = Value / 255.0f;)
private void trackBar1_Scroll( object sender, EventArgs e)
{
label2.Text = trackBar1.Value.ToString();

pictureBox1.Image = AdjustBrightness(trackBar1.Value);
}
public Bitmap AdjustBrightness( int Value)
{
float FinalValue = Value / 255.0f;

Bitmap NewBitmap = new Bitmap(originalImage.Width, originalImage.Height);
Graphics NewGraphics = Graphics.FromImage(NewBitmap);

float[][] FloatColorMatrix =
{
new float[] {1.0f, 0, 0, 0, 0},
new float[] {0, 1.0f, 0, 0, 0},
new float[] {0, 0, 1.0f, 0, 0},
new float[] {0, 0, 0, 1.0f, 0},
new float[] {FinalValue, FinalValu e, FinalValue, 0.0f, 1.0f}
};

ColorMatrix NewColorMatrix = new ColorMatrix(FloatColorMatrix);
ImageAttributes Attributes = new ImageAttributes();

Attributes.SetColorMatrix(NewColorMatrix);

NewGraphics.DrawImage(originalImage, new Rectangle(0, 0,
originalImage.Width, originalImage.Height), 0, 0,
originalImage.Width, originalImage.Height, GraphicsUnit.Pixel, Attributes);

Attributes.Dispose();
NewGraphics.Dispose();

return NewBitmap;
}

66

Metoda utilizată î n Brightness function este:

new float[] {1.0f, 0, 0, 0, 0},
new float[] {0, 1.0f, 0, 0, 0},
new float[] {0, 0, 1.0f, 0, 0},
new float[] {0, 0, 0, 1.0f, 0},
new float[] {FinalValue, FinalValue, FinalValue, 0.0f, 1.0f}

Butonul de Contrast pare a fi asemănă tor cu cel de la Brightness d ar metoda de lucru este
diferită .

private void trackBar2_Scroll( object sender, EventArgs e)
{
label3.Text = trackBar2.Value.ToString();

contrast = 0.04f * trackBar2.Value;

Bitmap bm = new Bitmap(originalImage.Width, originalImage.Height );
Graphics g = Graphics.FromImage(bm);
ImageAttributes ia = new ImageAttributes();
ColorMatrix cm = new ColorMatrix( new float[][]
{
new float[] {contrast, 0f, 0f, 0f, 0f},
new float[] {0f, contrast, 0f, 0f, 0f},
new float[] {0f, 0f, contrast, 0f, 0f},
new float[] {0f, 0f, 0f, 1f, 0f},
new float[] {0.001f, 0.001f, 0.001f, 0f,1f }

});
ia.SetColorMatrix(cm);
g.DrawImage(originalImage, new Rectangle(0, 0, originalImage.Width,
originalImage.Height), 0, 0, originalImage.Width, originalImage.Height,
GraphicsUnit.Pixel, ia);
g.Dispose();
ia.Dispose();
pictureBox1.Image = bm;

67

Metoda utilizată in Contrast function este:

new float[] {contrast, 0f, 0f, 0f, 0f},
new float[] {0f, contrast, 0f, 0f, 0f},
new float[] {0f, 0f, contrast, 0f, 0f},
new float[] {0f, 0f, 0f, 1f, 0f},
new float[] {0.001f, 0.001f, 0.001f, 0f,1f }

În fiecare funcț ie avem constructorii car e ne ajută să îmbinăm elementele î n acest cod.

Butonul Open este un element important în aplicaț ie deoar ece fără el nu am putea aplica o nouă
imagine: Acesta conține:

private void pictureBox1_Click( object sender, EventArgs e)
{
openImage();
}
void openImage()
{
DialogResult dr = openFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
file =
Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = file; opened = true;

originalImage = pictureBox1.Image as Bitmap;
trackBar1.Enabled = true;
}
}

68
Butonul Save as este un alt element important în aplicaț ie deoar ece cu ajutorul lui putem salva
fișierele modificate:
Acesta conț ine:

private void saveAsToolStripMenuItem_Click( object sender, EventArgs e)
{
saveImage();
}
void saveImage()
{
if (opened)
{
SaveFileDialog sfd = new SaveFileDialog( );
sfd.Filter = "Images |*.png;*.bmp;*.jpg;" ;
ImageFormat format = ImageFormat.Jpeg;
if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string ext = Path.Ge tExtension(sfd.FileName);
switch (ext)
{ case
".jpg": format =
ImageFormat.Jpeg; break;
case ".bmp":
format = ImageFormat.Bmp;
break;
}
}
pictureBox1.Image.Save(sfd.FileName, format);

}

Ca orice altă aplicație avem un buton de exit acesta informează toate pompele de mesaje pe
care trebuie să le termine și apoi închide toate ferestrele de aplicații după procesarea mesajelor.
Acesta conț ine:
private void exitToolStripMenuItem_Click( object sender, EventArgs e)
{
Application.Exit();
}

69
Capitolul 7

Concluzii

Dezvoltarea continuă a tehnologiei a f ăcut din analiza ș i restaurarea imaginilor un domeniu
modern pentru ar tiști ș i program atori. Exist ă cursuri de prelucr area imaginilor care se predau î n
majoritatea facult ăților.
Prelucrarea imaginilor este un domeniu complex, dinamic cu numeroase aplicatii in diverse
domenii. Acum sunt diverse implementari de sisteme de timp r eal, bazate pe prelucrarea de
imagini, sisteme utilizate in industria militara, medicina. Au fost aduse diverse imbunatatiri
pentru sisteme le de procesare si prelucrare a imaginilor astfel incat in medicina am intalnit
tomografia asistata de imagini.
Aplicatia pe care descris -o in lucrare nu se adreseaz ă doar studenților ci ș i profesorilor ce predau
aceste materii. Vor avea la dispoziț ie un instrument ce ajută la punerea în practică a algoritmilor
de îmbună tățire și analiza imaginilor, ș i nu numai.
Aceasta vine în ajuto rul utilizatorilor cu o interfață ușor de folosit ș i este dispo nibilă oricu i,
întruc ât nu este nevoie de logare pentru utilizare.
Lucrarea creată este un suport t eoretic solid, care cuprinde atât noț iuni despre imagini, operațiile
de îmbunătăț ire a acestora, principalele tipuri de efecte ș i filtre utilizate în restaurarea
imaginilor, cât și noț iunile matematice din spatele acestor concepte.

70
BIBLIOGRAFIA
[1] Jerome, Lucas : The Salsa software, Universite Pierre et Marie Curie, Paris

[2]Stockman, George, Shapiro, Linda : Computer vision, Computer Science and
Engineering University of Washington, 2001

[3] Doran, Andrew,Wang, Cherry, Zhanq, Huipin : Inverse ltering, Rice Univesity

[4] Fisher R., Perkins S., Walker A., Wolfart E ., Digital lters, University of Edinburgh,
School of informatics, 2003

[5] Fisher R., Perkins S., Walker A., Wolfart E ., Intensity Histogram, University of
Edinburgh, 200321

[6] Fisher R., Perkins S., Walker A., Wolfart E ., Mean Filter, University of Edinburgh,
School of informatics, 2003

[7] Stathaki, Tania , Digital image processing, Part 3: Image restoration, Imperial College of
Science Technology and Medicine, London, 2012

[8] Ivanovici, Laurentiu – Mihail: Procesarea imaginilor: Indrumar de laborator, Editura
Universitatii "Transil vania" din Brasov, Brasov, 2006

[9] R.C.Gonzales , R.E.Woods, Digital Image Processing, 2 -nd Edition, Prentice Hall, 2002

[10] University of Edinburgh , Noise in images, Lecture notes on Digital Image Analysis,
Applied Optics Group, Department of Physics,

[11] Dr. Ing Kertész Csaba -Zoltán , Procesarea Digitală a Semnalelor și a Imag inii, Procesarea
Imaginilor,

[12] Xie, Lexing , Image restoration, Columbia University, New York, 2009
[13] Stockman, George, Shapiro, Linda: Computer vision, Computer Science and
Engineering University of Washington, 2001
[14] Vertan, Constantin : Prelucrarea si analiza imaginilor, Editura Printech, Bucure sti,
1999.
[15] Weinhaus, Fred , Digital image filtering,
http://www.fmwconcepts.com/imagemagick/digital_image_filtering.pdf
[16] Richard Szeliski , Computer Vision: Algorithms and Applications
http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf

71
[17] Sheikh Tania and Raghad Rowaida , Comparative Study of Various Filtering
Techniques for Removing Various Noisy Pixels in Aerial Image
http://www.sersc.org/journals/IJSIP/vol9_no3/10.pdf
[18] Singh, Yaduvir, Vij, Komal , Enhacement of image using histogram proces -sing
techniques, Thapar University, Patiala, India

Similar Posts