Sunteți pe pagina 1din 48

Universitatea „Lucian Blaga” din Sibiu

Facultatea de tiine Processing). Aceste tipuri de procesoare au implementate hardware diverse optimizri i
Catedra de tiina Calculatoarelor i Informatic Economic paralelisme pentru a oferi puterea de calcul necesar (de obicei la frecvene mult mai mici decât
microprocesoarele clasice); evident ele presupun i un consum mai mic de energie fa de
Disciplina: Procesarea imaginilor microprocesoare.
Cadru didactic: Ralf Fabian Prelucrarea imaginilor include sau este legat mai multe discipline:
Specializarea: Informatic Economic, anul II. ¾ preluarea, compresia i stocarea imaginilor;
¾ restaurarea i ameliorarea imaginilor prin corecii geometrice, radiometrice, ajustri de
contrast, filtrarea zgomotului etc;
¾ fotogrammetrie, adic msurtori ale unor obiecte, fenomene fcute pe baza unor
imagini;
Procesarea imaginilor ¾ recunoaterea formelor (pattern matching, shape recognition, face recognition);
¾ vederea artificial (computer vision, robot vision);
1. Introducere
2. Clase de imagini ¾ inteligena artificial;
3. Concepte folosite în grafic ¾ sinteza de imagini, imagini generate de calculator;
4. Achiziia imaginilor Inteligena artificial i prelucrarea imaginilor sunt domenii ce se întreptrund. Un numr
5. Prelucrri grafice important din algoritmii performani folosii la prelucrarea imaginilor utilizeaz metode i tehnici
Bibliografie din domeniul inteligenei artificiale, cum ar fi: reele neuronale, logica fuzzy. Pe de alt parte,
inteligena artificial presupune proiectarea i construirea de sisteme capabile s realizeze funcii ale
intelectului uman: învarea prin experien, înelegerea limbajului natural, utilizarea unui
raionament pentru rezolvarea unor probleme sau luarea unor decizii. Toate aceste presupun îns i
acumularea unei anume cantiti de informaie (baza de cunotine, informaii din mediu etc.).
1. Introducere Aceast informaie este preluat de sistemele inteligente prin senzori i creeaz o imagine a
Prelucrarea i analiza imaginilor s-a nscut datorit ideii i necesitii de a înlocui mediului în momentul prelurii datelor (snapshot). Din imaginea astfel obinut trebuie extrase
observatorul uman printr-o main. Este important de precizat c analiza imaginilor a mers mai informaiile utile. Toate acestea in de domeniul vederii artificiale (Computer Vision, Robot
departe decât simpla înlocuire a observatorului uman, deoarece au aprut soluii novatoare pentru Vision); este o disciplin comun atât prelucrrii de imagine cât i inteligenei artificiale i încearc
probleme cu care acesta nu mai fusese confruntat - ca în cazul imaginilor non-vizibile (imagini s rspund la urmtoarele întrebri:
acustice, ultrasonore, radar). Prelucrarea imaginilor înglobeaz posibilitatea de a dezvolta maina ¾ ce informaie trebuie extras din imaginile preluate?
total de viziune, capabil s realizeze funciile vizuale ale oricrei vieuitoare (cazul cel mai ideal). ¾ cum poate fi extras aceasta informaie?
Trebuie remarcat terminologia anglo-saxon (original), în care disciplina este denumit ¾ cum se reprezint aceasta?
„Digital Image Processing”, deci prelucrarea digital a imaginilor. Prin prelucrarea digital a ¾ cum poate fi utilizeaz pentru atingerea unui scop anume
imaginilor se înelege prelucrarea pe un calculator digital a unor date bidimensionale (imagini).
Termenul cheie este cuvântul digital.
Prelucrarea (digital) a imaginilor reprezint un domeniu foarte larg, de sine stttor. Acest 2. Clase de imagini
domeniu are la baza o teorie matematic riguroas, bine pus la punct, dar în general
implementrile pe diverse maini de calcul sunt destul de mari consumatoare de resurse (putere de Prelucrarea de imagini este un domeniu care îi pstreaz dinamismul în ciuda trecerii
calcul, memorie), în special dac ne referim la utilizarea în timp real a informaiilor extrase din anilor. Dezvoltrile tehnologice au facilitat accesul unui numr tot mai mare de oameni la aceast
imagini. Totui, înainte de a continua trebuie specificat ce este imagine. ramur fascinant a imagisticii computerizate. Coninutul imagisticii computerizate a fost sintetizat
Într-un sens cât mai general, o imagine este o descriere a variaiei unui parametru pe o în lucrarea lui Theo Pavlidis1, lucrare fundamental pentru începuturile prelucrrii de imagini.
suprafa. De exemplu, imaginile (în sensul clasic) sunt rezultatul variaiei intensitii luminii Coninutul imagistici computerizate dup Pavlidis, poate fi sintetizat astfel:
într-un plan bidimensional. Dar acest parametru nu este singurul folosit; de exemplu o imagine
poate fi generat de temperatura unui circuit integrat, emisiile de radiaii (cu diverse lungimi de
und) ale unor galaxii etc. Îns aceste tipuri de imagine sunt,de obicei, convertite în imagini clasice
(prin pseudocolorare de exemplu) pentru ca operatorul uman s poate face o evaluare vizual a
variaiei unor parametrii. Din aceste considerente, pe parcursul lucrrii toate referirile se vor face la
imagini în sensul clasic.
O imagine este deci un semnal bidimensional; prin urmare prelucrarea imaginilor poate fi
considerat i o ramur a prelucrrii digitale de semnal (care mai include prelucrarea audio,
telecomunicaii etc.). Dup cum s-a menionat anterior, prelucrarea de imagine i în general
prelucrarea digital a semnalelor presupune un consum relativ mare de resurse de calcul i
memorie. Implementarea algoritmilor specifici se poate face pe sisteme clasice (PC-uri, evoluia
microprocesoarelor ofer puterea de calcul necesar), dar pentru sistemele dedicate, de timp real, se
folosesc în general procesoare dedicate numite procesoare digitale de semnal (DSP = Digital Signal
1
T. Pavlidis, Algorithms for Graphics and Image Processing, Springer-Verlag, Berlin-Heidelberg, 1982.

1 2
În aceeai lucrare, Pavlidis propune clasificarea imaginilor în patru clase, astfel: imaginilor (redare - rending). Prin redare fotorealist se înelege simularea fenomenelor de
x Clasa (1) de imagini include imaginile în scar de gri (sau color). interaciune a luminii cu diferite obiecte (reflexia + reflacia).
x Clasa (2) de imagini cuprinde imaginile binare (sau cu câteva culori). b) Analiza i prelucrarea imaginilor: reprezint procesul invers celui de sintez i const în
x Clasa (3) de imagini include imagini formate din linii i curbe continue. prelucrarea imaginii sau reconstrucia unui obiect pronind de la imagini ale sale. În acest
x Clasa (4) de imagini cuprinde imagini formate din puncte izolate sau poligoane. subdomeniu, s-au dezvoltat 3 direcii:
a. îmbuntirea calitii imaginii – image enhancement – const în diminuarea sau
Exemple de imagini din fiecare clas: eliminarea „zgomotului” din imagini (zgomot – pixeli suplimentari sau abseni);
b. detectarea abloanelor standard (pattern detection & recognition) i determinarea
gradului de distorsiune în imagini 2D. (Ex: tehnica OCR – recunoaterea optic a
caracterelor dup ablon).
c. analiza de imagini i computer vision (image analysis and computer vision) const în
determinarea obiectelor 2D/3D pornind de la imagini 2D (Ex: roboii industriali
disting obiectele, poziia i proprietile lor).
Iniial sinteza era considerat o disciplin diferit de analiz i prelucrare. În prezent cele dou
subdomenii constituie grafica pe calculator.

3. Concepte folosite în grafic


Se remarc scderea complexitii imaginii odat cu numrul clasei, simultan cu reducerea
semnificativ a volumului de date necesar pentru stocarea lor. Astfel imaginile de clas (1) sunt cele 3.1 Sistem grafic
mai complexe, un exemplu tipic de astfel de imagini fiind cele de televiziune, obinute deci cu o
camer TV. Imaginile binare conin doar dou nuane, de obicei alb i negru (sau doar câteva culori Un sistem grafic este ansamblu format din echipamente i programe specializate în
în cazul imaginilor color). Clasa (3) cuprinde imagini i mai simple, adic coninând doar linii i prelucrarea grafic. În funcie de prelucrarea efectuat, sistemele grafice se grupeaz în dou
curbe având grosimea de un pixel. Imaginile din ultima clas sunt cele mai simple, ele fiind formate categorii:
din puncte izolate sau, în cazul graficii computerizate, din poligoane care descriu corpul a. Sistem grafic de sinteza a imaginilor;
tridimensional a crui reprezentare realist se dorete în final. b. Sistem grafic de analiz i prelucrarea imaginilor.
De exemplu, o imagine de clasa (1) poate fi o imaginea unui obiect oarecare (fotografie). Secvena de prelucrri efectuate într-un sistem de sintez a imaginilor poate fi reprezentat
Aceasta în urma unei operaii de binarizare (ce va fi descris ulterior) va rezulta o imagine de clas schematic astfel:
(2). Prin aplicarea unor algoritmi de extragere de contur sau a unor operatori morfologici (dilatare,
eroziune) se obine o imagine de clas (3). În final, prin extragerea punctelor critice, a zonelor de Modelul imaginii
interes se va forma o imagine din ultima clas.

Algoritmi de sintez Program de aplicaie


Segmentare Determinarea Determinarea
Conturului Punctelor
C ii
1. Imagini 2. Imagini 3. Linii i 4. Puncte Imaginea codificat
Color Alb-Negru Curbe Critice

Colorare Umplere Interpolare


Unitatea de afiare Utilizator

Evoluia graficii: Se pot distinge mai multe etape:


- grafica simpl care s fie printat; Imaginea afiat
- modele sau obiecte care trebuiau modelate grafic (obiecte abstracte i fenomene);
- grafic interactiv – se modific în timp real modelele construite;
- apar interfee grafice utilizator care permit realizare aplicaiilor grafice complexe; Sistem de sintez a imaginii
- dezvoltarea a dou subdomenii:
a) sinteza de imagini; În sistemele de analiz i prelucrare se pornete de la imaginea real. Asupra ei se aplic:
b) analiza i prelucrarea imaginilor. - agoritmi de analiz o modelul imaginii;
a) Sinteza imaginilor constituie procesul de redare a unor obiecte reale sau imaginare, de obicei - algoritmi de prelucrare o o imagine afiat pe ecran.
pornind de la un model. Sinteza de imagini a avut ca rezultat redarea fotorealist a

3 4
3.2 Grafica interactiv linie afiare
pe ecran
Cadrul conceptual al graficii interactive cost din:
1. programul aplicaiei.
2. sistemul grafic.
3. modelul aplicaiei.
cursa de întoarcere
pe vertical
Programul aplicaie: creeaz, memoreaz i preia date de la modelul aplicaiei. Sistemul
grafic produce imaginea la dispozitivul de afiare, el fiind realizat fie sub forma unor subrutine într-
o bibliotec grafic, fie cu dispozitive hardware (procesor de afiare) capabil s interpreteze
comenzi de desenare.
Modelul aplicaiei conine o descriere a obiectelor ce compun imaginea, obiecte care sunt Imaginea codificat în memoria video folosete :
descrise prin atribute geometrice (poziie, dimensiune, orientare) i atribute de afiare (culoare, tip  1 bit/pixel – pentru monocrom (0- stins, 1- aprins)
linie, tip interior etc.)  n bii/pixel – pentru imagine color:
n=8 - 256 de culori distincte pe ecran
n=24 (fine colour) - 1 octet pentru fiecare din componentele primare RGB
3.3 Tehnologii de afiare n=32 - 24 pentru RGB
- 8 bii de control
Exist dou tehnologii:
n=96 - 64=2*31 pentru reprezentarea culorii în dou buffere distincte: unul se
a) Tehnologia vector
afieaz i al doilea e folosit pentru generarea celei de-a doua
b) Tehnologia raster
instane a imaginii de afiat – double buffering
- 32 pentru algoritmii de determinare a poziiei vizibile a obiectelor
a) Tehnologia vector (linii) generarea imaginii se realizeaz prin trasarea de linii. Din cauza
(pentru memorarea coordonatei z a unui punct)
necesitii de refresh periodic a ecranului imaginea trebuie generat ciclic.
Obs.: În memoria video nu avem imaginea, ci programul care construiete imaginea Ÿ c imaginile Avantajele tehnologiei raster:
nu pot fi complexe.
 independena ratei de refresh (reîmprosptare) de complexitatea imaginii de afiat
 posibilitatea de a reprezenta suprafee opace sau texturi
b) Tehnologia raster - tehnologia folosit în televiziune.
Memoria video nu conine programul ci imaginea constituit din puncte (pixeli).
Dezavantaje:
Structura sistemului este urmtoarea:
 reprezentarea imaginii în memoria video sub form de pixeli necesit algoritmi de conversie
specifici (de exemplu algoritmul Bresenham pentru generarea de linii)
Interfaa calculatorul gazd  reprezentarea aproximativ a primitivelor grafice (linii, cercuri etc.) prin puncte, rezultând
un efect vizual nedorit, efect numit aliasing (acesta se datoreaz eantionrii unei funcii
Comenzi
Date continue)
de afiare

PA-procesor afiare Memoria video 4. Achiziia imaginilor


Sursa de provenien a imaginilor poate fi un dispozitiv de achiziie (camer video, scanner,
captor radar), dar poate fi la fel de bine i o ecuaie matematic, un ansamblu de date statistice etc.
Tastur+Mouse Controller video
Exist dou motive principale pentru care se apeleaz la procesarea imaginilor:

1. îmbuntirea calitii unei imagini având drept scop o mai bun vizualizare pentru un
CRT operator uman. Aceasta poate însemna: reducerea zgomotului i a altor defecte care pot fi
prezente în imagine (datorate, de exemplu, dispozitivului de achiziie), evidenierea unor
Procesul de afiare poate exista ca o component de soft inclus în biblioteca grafic. În zone de interes prin modificarea luminozitii, a contrastului, accentuarea muchiilor etc.;
memoria video poate fi o zon de memoria UCP (pentru staii grafice de cost sczut) sau poate fi o 2. extragerea de informaii dintr-o imagine, informaii care pot reprezenta intrarea pentru un
component hard (RIP – Raster Image Procesor) care acioneaz ca un accelerator sau coprocesor în sistem automat de recunoatere i clasificare. Aceste informaii pot fi: diferite distane i
sistemul grafic. Imaginea este afiat de controllerul video (component hard), ea fiind alctuit din relaii dintre obiectele prezente în imagine, momente statistice, parametri geometrici (arie,
linii orizontale. Sarcina controllerului este de a afia linie cu linie, pe vertical, liniile orizontale. perimetru, circularitate), coeficieni Fourier etc.

Exemple clasice de aplicaii pentru procesarea imaginilor (i recunoaterea formelor) includ:
recunoaterea optic a caracterelor (OCR), recunoaterea amprentelor, prelucrarea imaginilor
5 6
medicale, a imaginilor satelit, inspecia i fabricaia asistat, navigaia roboilor, vehicule autonome,
securitate i monitorizare, vizualizare, comunicaii, cutare în biblioteci digital.

Extragerea de suprafee din imagini de satelit. Se observ cursul unui râu.

Imagini termografice.

Restaurarea imaginilor telescopului Hubble. În stânga imaginea original iar în dreapta imaginea
restaurat.

Detecia cancerului mamar.

Imaginile sunt formate prin înregistrarea de câtre un senzor a radiaiei ce reacioneaz cu un


obiect fizic. Astfel imaginile sunt de mai multe tipuri, cum ar fi: fotografie (lumina reflectat),
distane, imagini în infrarou. Un sistem (digital) de achiziie a imaginilor se compune din:
¾ un sistem optic (lentile, diafragm);
¾ un senzorul propriu-zis (CCD - Charge Coupled Device - de obicei);
¾ un eventual etaj de amplificare i filtrare a semnalului de la senzor (informaia este înc
analogic);
Prelucrri pseudocolore pentru extragerea de obiecte. ¾ un convertor analog-numeric.

7 8
Toate aceste subsisteme influeneaz direct imaginea achiziionat în sensul c pot introduce 5. Prelucrri grafice
diverse tipuri de distorsiuni.
În continuare, prin prelucrri grafice ne vom referi la operaiile de preprocesare ce se
Un element foarte important în sistemul de achiziie a imaginii este subsistemul optic
efectueaz asupra imaginilor achiziionate. Aceste operaii au rolul de a elimina zgomotele sau
(parametri: tipul lentilelor, distana focal, adâncimea de câmp): un sistem optic greit proiectat sau
informaiile inutile din imagine sau sunt operaii de restaurare. Astfel de prelucrri sunt necesare
utilizat duce la obinerea unor informaii eronate. Unele din aceste erori pot fi îns corectate ulterior
pentru a îmbunti atât timpii de execuie cât i rezultatele diverilor algoritmi (clasificare,
în blocul de preprocesare (corecii geometrice, ajustri de contrast).
recunoatere forme, recunoatere fee umane etc.).
Caracteristica ieirii senzorului are forma din figura de mai jos:
5.1 Filtrarea
Operaia de filtrare este utilizat pentru eliminarea zgomotelor i la evidenierea muchiilor.
În general se folosesc urmtoarele trei tipuri de filtre:
¾ filtru trece-jos – utilizat pentru eliminarea zgomotelor; spectrul imaginii este
uniformizat;
¾ filtru trece-band – folosit de obicei pentru prelucrarea imaginilor provenite din
teledetecie (imagini preluate din satelit, avion etc);
¾ filtru trece-sus – este utilizat pentru evidenierea contururilor datorit comportrii de
derivator.

Dup cum se observ, aceast caracteristic este neliniar, dar între cele dou praguri ea Prin analogie cu semnalele unidimensionale (un parametru ce variaz în timp), imaginile
poate fi considerat ca fiind liniar. Dac intensitatea luminoas este sub pragul de sensibilitate al reprezint semnale bidimensionale (un parametru ce variaz pe o suprafa) i pot fi descompuse în
senzorului, acesta nu o va sesiza i imaginea nu va fi preluat corect. sume de semnale sinusoidale. Deci aplicându-se transformata Fourier bidimensional se obine
Celelalte doua etaje ale sistemului de achiziie a imaginii pot influena i ele rezultatul spectru imaginii. Astfel noiunile referitoare la filtrare i la analiza spectral valabile pentru
achiziiei (amplificatoarele au caracteristici liniare sau se pot sature, alegerea incorect a semnalele unidimensionale sunt valabile (evident cu anumite modificri datorate naturii semnalelor
convertorului poate duce la pierderea unor informaii). bidimensionale) i pentru imagini.

Trebuie reinut c sistemul de achiziie a imaginii este o component esenial a lanului de


prelucrare de imagine i în proiectarea acestuia trebuie inut cont de o serie de parametri: 5.2 Restaurarea imaginilor
¾ parametri optici: La ieirea blocului de achiziie a imaginilor, rezultatul poate fi o distorsionat, distorsiuni ce
- tipul lentilelor; se datoreaz unor fenomene fizice cunoscute. O posibil surs de distorsiuni este sistemul optic.
- distana focal; Imaginile achiziionate pot prezenta distorsiuni de tip perna sau butoi sau trapez. Aceste erori se pot
- adâncimea de câmp; corecta printr-o operaie de reeantionare: pentru aceste tipuri de distorsiuni geometrice se pot
¾ parametri fotometrici: determine relaiile matematice necesare coreciei, i, folosind aceste relaii, se calculeaz valoarea
- tipul, direcia i intensitatea iluminrii; fiecrui eantion (pixel) din noua imagine pe baza unui numr de eantioane din imaginea
- proprietile de reflecie a obiectelor analizate; distorsionat. De asemeni, tot datorit sistemului optic, imaginile pot avea iluminri diferite pe
- caracteristica ieirii fotoreceptorului: poriuni. Unui punct luminos îi corespunde pe suprafaa senzorului un cerc luminos, numit cerc de
¾ parametri geometrici: confuzie (se datoreaz lentilelor). Pentru
- tipul proieciei; obiectivele normale, acest cerc este uniform. Dar exist productori de sisteme optice care, din
- distorsiunile de perspectiv; diferite motive (cretere aparent a rezoluiei etc.) produc obiective subcorectate (cercul este mai
- poziia i orientarea senzorului. luminos în centru) sau supracorectate (cercul este mai luminos pe margine).
Aceste operaii de restaurare se folosesc, în general, pentru a corecta erorile de proiectare
În final, sistemul de achiziie va produce o imagine digital, de fapt un tablou bidimensional, sau implementare a sistemelor când nu mai este posibil refacerea sistemului respectiv.
iar valorile din acest tablou pot reprezenta intensitatea luminii, distane sau alte mrimi fizice.

Sistem de vedere artificial 5.3 Segmentarea


Segmentarea este un proces de partiionare a imaginii digitizate în submulimi, prin
atribuirea pixelilor individuali la aceste submulimi (denumite i clase), rezultând obiecte distincte
din scen.
Algoritmii de segmentare au la baz, în general, 2 principii:
¾ discontinuitate, având ca principal metod detecia conturului;
¾ similitudine, cu metoda pragului i metoda regiunilor.

9 10
5.4 Detecia contururilor 5.8 Histograma
Un operator de contur este un operator matematic, cu extindere spaial mic, construit Histograma unei imagini este o funcie care indic câi pixeli au un anume nivel de gri. De
pentru a determina existenta unui contur local în funcia imagine. Exist multe tipuri de operatori de obicei, numrul de nivele de gri este 255 (un pixel este reprezentat pe 1 byte).
contur, principiul care-i unete fiind faptul c ei determin modulul i uneori direcia schimbrii f(g) = p,unde:
intensitii nivelului de gri într-o imagine digital. Modulul furnizat de aceti operatori g = nivel de gri, g între 0 i 255;
caracterizeaz severitatea schimbrii nivelului de gri de la o vecintate la alta a imaginii. p = numrul de pixeli ce au valoarea g.
Cei mai simpli i cei mai rapizi asemenea operatori de detecie a conturului se bazeaz pe
utilizarea mtilor de convoluie spaial care baleiaz întreaga imagine pixel cu pixel, calculând o La o analiz a histogramei diverselor tipuri de imagini, se constat c, de obicei, o imagine are mai
imagine proporional cu discontinuitatea existent în poriunea de imagine corespunztoare poziiei multe nivele de gri i prezint dou maxime locale. Folosind aceast caracteristic se poate face o
curente a mtii. segmentare cu prag a imaginii iniiale, alegând pragul ca fiind, de regul, minimul local dintre cele
dou puncte de maxim. Astfel, pixelii cu nivel de gri mai mic decât pragul ales pot fi considerai ca
fiind, de exemplu, fundalul (li se atribuie valoarea corespunztoare negrului), iar cei pentru care
5.6 Metoda pragului nivelul de gri este mai mare decât pragul sunt pixelii obiectului.
Pentru multe aplicaii, datorit diferenelor semnificative între nivelele de gri ale pixelilor Datorit iluminrii slabe, neuniforme, sau situat la valori în jurul pragului de sensibilitate a
afereni obiectului i respectiv fondului, criteriul de segmentare care poate fi folosit este valoarea senzorului CCD, pot rezulta imagini cu contrast sczut, imagini pentru care pixelii nu iau valori în
nivelului de gri. Metoda care se utilizeaz în acest caz, foarte rapid, este denumit segmentare cu întreaga gam de nivele de gri. Pentru a corecta aceste defecte se folosesc de regul: egalizarea
prag i ea implementeaz o transformare punctual simpla. Pixelul din punctul de coordonate (i,j) histogramei sau extinderea liniar la întreaga gama de nivele de gri. Prin aceste operaii, unui pixel
este etichetat ca fiind pixel obiect dac valoarea sa f(i,j) este mai mare decât un prag. din noua imagine i se atribuie o valoare de gri calculat pe baza unei funcii (liniare sau
Obinerea unor rezultate bune cu aceast metod depinde de modalitatea de alegere a exponeniale), funcii ce se determin pe baza imaginii iniiale.
pragului, care poate fi o valoare pentru o imagine data sau o funcie neted dependent de poziia
pixelului curent.

Bibliografie
5.7 Metoda regiunilor
Segmentarea iterativ sau segmentarea prin tehnici de relaxare este o metod care folosete 1. Remus Brad - Procesarea imaginilor si elemente de computer vision, Editura Universitatii
procedee probabilistice de clasificare, în paralel i în fiecare punct, la fiecare iteraie. Procesul de "Lucian Blaga", Sibiu 2003, ISBN 973-651-739-X
relaxare este conceput pentru a aduce nivelele de gri spre capetele opuse ale scrii de gri astfel încât 2. C. Vertan, M. Ciuc: Tehnici fundamentale de Prelucrarea i Analiza Imaginilor, Ed.
pragul s devin o problem banal. MatrixROM, Bucureti, 2007
Acest tip de procesare este fundamental în analiza automat a scenelor i în recunoaterea de 3. Sergiu Nedevschi, Procesare de imagine si recunoasterea formelor, Editura Albastra, Cluj-
modele, unde scopul principal este de a extrage în mod automat date detaliate despre coninutul Napoca 1998
imaginii la nivel obiect. 4. Aurel Vlaicu, Procesarea imaginilor, Editura Albastra, Cluj-Napoca 1997
Ca urmare, obiectivul tehnicii de segmentare este de a partiiona o imagine dat în regiuni 5. John C. Russ - The Image Processing Handbook, Fifth Edition, CRC Press, 2007.
sau componente. De exemplu, pentru o imagine derivat dintr-o scena tridimensionala, obiectivul 6. M. Sonka, V. Hlavac and R. Boyle, Image Processing, Analysis and Computer Vision,
segmentrii poate fi identificarea regiunilor corespunztoare obiectelor din scen. International Thomson Computer Press, 1996
Se remarc din analiza precedent faptul ca putem considera segmentarea fie ca o problem 7. R.C. Gonzalez and R.E. Woods, Digital Image Processing, Second Edition, Addison-Wesley
punctual fie ca una regional. În prima categorie intr metodele care se bazeaz pe examinarea Publishing, 2001
imaginilor pixel cu pixel. În a doua categorie, aa cum implic i denumirea, intr metodele care se
bazeaz pe utilizarea informaiilor din imagine în prescrierea vecintilor. În ambele cazuri putem
vedea problema ca o luare de decizie în procesul de recunoatere a modelelor, ale crui obiective
sunt stabilite în limitele unor regiuni.
Segmentarea scenelor difer de celelalte probleme de recunoatere prin câteva proprieti.
Una din cele mai importante diferene este c dup ce am obinut soluia, regiunile dintr-o imagine
pot fi vizualizate, iar apoi verificate la un mare nivel de acuratee. În mod uzual exist oricând
posibilitatea s suprapunem rezultatele segmentrii cu originalul pentru a verifica eficacitatea
metodei.
Prima operaie este de a localiza graniele sau marginile regiunilor. A doua operaie este de a
grupa punctele în regiuni similare, cu alte cuvinte determinarea hotarelor. Cele dou metode sunt
similare i se pot defini ca exprimate în puncte sau ca intersecie între dou suprafee.

11 12
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe 3. procesarea la nivel cerebral – acesta este un model psihologic, pentru că nu se poate accesa
Catedra de Informatică sau modela o asemenea procesare, ci doar determina comportamentul prin experimente şi
inferenţe.
Disciplina: Grafică
Cadru didactic: Ralf Fabian
Specializarea: Informatică, anul III. Ochiul uman

Figura următoare ilustrează schematic structura unui ochi uman. Ele este o sferă aproape
perfectă cu un diametru de aproximativ 20 mm şi se compune din trei grupuri de elemente: corneea
şi sclerotica care formează învelişul exterior – membrana externă, coroida – membrana mijlocie şi
Elemente de percepţie vizuală retina – membrana internă.

Corneea
Pentru a înţelege mai bine cum funcţionează percepţia vizuală vom investiga mai întâi
sistemul vizual uman iar apoi modalităţile prin care un calculator poate fi dotat cu facilităţi pentru a Iris
sesiza date pictografice. Muşchi pentru
controlul formei lentilei
Terminologie: Corp ciliar oculare
Human vision system – cum funcţionează ochiul uman, cum se procesează informaţia
Lentila oculară
vizuală.
Computer vision system – cum se formează imaginile electronice şi cum se pot procesa
acestea cu ajutorul calculatorului. Fibre ciliare

Axa vizuală
Sistemul vizual uman – Human vision system
Modul de funcţionare şi parametrii acestui sistem sunt interesanţi din două puncte de vedere:
mai întâi pentru că sistemul biologic este un model pentru proiectarea sistemelor artificiale, iar, în al Retina
doilea rând, pentru că utilizatorul uman este şi el beneficiarul imaginilor rezultate în urma
implementării unor aplicaţii specifice.
Sistemul vizual uman este extrem de complex pentru sesizarea şi reacţia la stimuli vizuali. Punct orb Fovea
El s-a dezvoltat de-a lungul milioanelor de ani, înainte celor de autoapărare sau supravieţuire. Sclerotica
Aparent cele două sisteme, cel uman şi cel artificial, par să aibă aceleaşi funcţii. Scopul amândoura
Coroida
este de a interpreta date spaţiale, date pe mai mult decât o singură dimensiune. Chiar dacă sunt
funcţional asemănătoare, nu ne putem aştepta de la un sistem artificial să înlocuiască pe deplin
funcţionalitatea ochiului uman, întrucât, nu cunoaştem pe deplin modul de funcţionare a ochiului
uman.
Sistemul vizual uman poate distinge foarte uşor distanţe relative dar are dificultăţi la distanţe Nerv optic
absolute, pe când sistemul bazat pe calculator are avantajele inversate, adică bun la distanţe absolute
şi deficitar la cele relative. Figura 1. Reprezentare schematică a ochiului uman.

În sistemul uman elementul sensibil (în sens de sesizare) este ochiul, de la care imaginile Corneea face parte din prima tunică a globului ocular. Ea are rol în sensibilitatea a ochiului (termic,
sunt transmise prin nervul optic la creier, pentru a fi procesate. Nervul optic nu are capacitatea tactil, de durere) şi este transparentă.
necesară pentru a transmite toate informaţiile sesizate de ochiul uman. În consecinţă, trebuie să Sclerotica înfăşoară partea dorsală a globului ocular, este slab vascularizată, opacă şi are rol de
existe o preprocesare înainte ca imaginea să fie transmisă pe nervul optic. Sistemul uman poate fi protecţie.
modelat prin trei parţi: Coroida se află imediat sub sclerotica. Această membrană este puternic vascularizată formând sursa
1. ochiul – este modelul fizic, întrucât majoritatea funcţiilor sale pot fi determinate; nutritiva de bază a ochiului. Pigmentarea ei densă inhibă pătrunderea extensivă a luminii în glob.
2. sistemul neural – acesta este un model experimental pentru că funcţionalitatea poate fi Coroida mai cuprinde corpul ciliar şi irisul. Acesta din urmă, prin contracţiune sau expansiune
modelată dar nu este posibilă o determinare precisă; controlează volumul de lumină care pătrunde în ochi. Deschiderea centrală a irisului (pupila)
variază în diametru între 2 şi 8 mm.
Lentila este formată din straturi concentrice de celule fibră şi ancorată la corpul ciliar. Ea conţine
60-70% apă, 6% grăsime şi mai multe proteine decât orice alt element din ochi. Lentila absoarbă în

1 2
jur de 8% din spectrul luminos vizibil. O cantitate apreciabilă de lumina infraroşie şi ultravioletă
este absorbită de proteinele din lentilă, excesul acestora ducând însă la afectarea dăunătoare a
ochiului.
Retina este un strat subţire de celule din globul ocular, care sunt responsabile de transformarea
luminii în semnale nervoase.

Retina este alcătuită din straturi neuronale. Prin observarea retinei la microscop se poate vedea
stratificarea acesteia având mai multe tipuri de celule care se pot categorisi în:
 Celule fotosensibile care recepţionează lumina transformând lumina în impuls nervos, Fovea Nerv
acestea fiind celulele cu conuri şi celulele cu bastonaşe. optic
 Celulele interneuronale aici încadrându-se celulele bipolare şi orizontale care sunt celule
neuronale ce transmit impulsul nervos de la celulele senzitive numai în zona retinei
 Celulele ganglionare care transmit impulsurile în afara retinei prin nervul optic.

Câteva date numerice aproximate:


 aria retinei: 5 x 5 mm;
 număr conuri: 5 milioane; Figura 3. Stânga – Vedere la microscop; celule fotoreceptoare (conuri şi bastonaşe). Dreapta –
 număr bastonaşe: 100 milioane; Retina ochiului uman, vedere prin oftalmoscop.
 număr fibre ale nervului optic: 1,6 milioane;
 densitate maximă conuri: 0,16 milioane mm2.
Axa vizuală este determinată de centrul optic al sistemului de proiecţie optică (cornee şi cristalin) şi
de locul de pe retină care asigură cea mai bună definiţie a imaginii
Pata oarbă este punctul unde nervul optic părăseşte globul ocular. In zona petei oarbe nu există
receptori optici, de unde vine denumirea de pată oarbă, această deficienţă fiind compensată de zona
înconjurătoare bogată în senzori optici. La om pata oarbă se situează la aproximativ 15° de la fovea
în direcţie nazală şi ocupă aproximativ 6° din câmpul vizual.

Formarea imaginii în ochiul uman


Pentru ca razele de lumină să se poată focaliza, trebuie să se refracte. Cantitatea de refracţie
depinde de distanţa de la care este văzut obiectul. Un obiect situat la distanţa necesită mai puţină
refracţie decât unul situat în apropiere. Cea mai mare parte a procesului de refracţie se desfăşoară în
cornee, la interfaţa cu aerul. Restul refracţiei necesare, în raport cu distanţa la care se află obiectul,
are loc în cristalin. Forma cristalinului se modifică pentru a menţine imaginea pe retină. La
înaintarea în vârstă, omul pierde această capacitate de a-şi ajusta focalizarea.

Figura 4. Mersul razelor de lumină pentru un obiect îndepărtat şi pentru unul apropiat.

Dacă ochiul este bine focusat, lumina de pe un obiect exterior este proiectat pe retină.
Receptorii de lumină de pe retină sunt împărţiţi în două clase: conuri şi bastonaşe. Conurile din
fiecare ochi sunt în număr de 6-7 milioane şi se situează cu precădere în zona centrală a retinei
numită fovea. Ele au o sensibilitate ridicată la culoare. Omul poate diferenţia detalii fine întrucât
Figura 2. Structura simplificată a retinei.
fiecare con este conectat la un capăt propriul de nerv. Musculatura care controlează ochiul întorc
globul ocular până când imaginea obiectului de interes cade pe fovea. Viziunea prin conuri este
Lumina focalizată trece prin aceste straturi pentru a ajunge la fotoreceptor. Aceasta produce reacţii
numită şi photopic sau de vedere diurnă.
chimice şi semnalul nervos se propagă spre celulele bipolare orizontale. Semnalul ajunge apoi la
Numărul de bastonaşe este cu mult mai mare: între 75 şi 150 milioane sunt distribuite pe suprafaţa
ganglioni; aceştia sunt cei care produc potenţial la capetele axonilor lor, astfel încât semnalul brut
retinei. Aria largă de distribuţia şi faptul că mai multe bastonaşe sunt legate la un singur capăt de
poate ajunge la creier.
3 4
nerv, reduce numărul de detalii distinse de aceşti senzori. Bastonaşele servesc pentru a da o imagine înălţime care se află la o distanţă de 100m. Dacă h este înălţimea în mm a obiectului în imaginea
de ansamblu a câmpului de vizibilitate. Ele nu sunt implicate în viziunea color şi sunt sensibile la retinală, atunci 15/100 = h/17 sau h = 2,55mm.
luminozitate scăzută, nocturnă. De exemplu, obiecte par viu colorate pe timp de zi iar pe timp de
noapte, la luminii lunii, apar doar ca forme fără culori, pentru că doar bastonaşele sunt stimulate.
Fenomenul este cunoscut ca scotopic sau viziune diurnă.

Figura 5 ilustrează densitatea de conuri şi bastonaşe pentru o secţiune a ochiului drept


trecând prin regiunea de emergenţă a nervului optic. Absenţa de receptori este sesizabilă doar în
punctul orb. Cu excepţia acestei regiuni, distribuţia receptorilor este radial simetrică în jurul fovea.
Densitatea receptorilor este măsurată în grade de la fovea. Observăm că conurile sunt foarte dense
în centrul retinei (în zona centrală fovea) şi bastonaşele cresc în densitate, din centru, la 20° a axei
iar apoi scad spre periferia retinei.
Fovea în sine este o adâncire circulară în retină cu un diametru de 1,5 mm. În ideea
discuţiilor ulterioare, cu privire la computer vision, putem forţa puţin această formă rotundă Figura 6. Crearea imaginii pe retină.
considerând fovea ca fiind o matrice pătratică cu senzori, de dimensiune 1,5 mm x 1,5 mm.
Densitatea conurilor în această arie este atunci aproximativ 150.000 elemente pe mm2. Pe baza O viziune bună are o precizie mare, ceea ce implică existenţa unui număr mare de senzori în
acestor aproximări, numărul de conuri în regiunea cea mai semnificativă a ochiului este de 337.000 zona unde este formată imaginea. Lumina care cade pe cele peste 100 milioane de senzori de pe
elemente. În termeni de rezoluţie raw (adică a datelor neprelucrate) un chip de imagine (CCD – retină, declanşează stimularea de transmisii fotochimice, rezultând în impulsuri nervoase colectate
charge-coupled device), de dimensiune medie, poate avea acest număr de elemente într-o matrice pentru a forma semnalul transmis de ochi.
de receptori nu mai mare de 5 mm x 5 mm. În acest calcul, evident că nu s-a considerat capacitai
umană de a integra inteligenţa şi experienţa în procesul de vizualizare. În 1666 Sir Isaac Newton a descoperit că dacă o rază de soare trece printr-o prismă de sticlă
raza care iasă nu mai este albă ci constă într-un spectru continuu de culori, de la violet până la roşu.
Cum se poate observa din figura 7 domeniul de culori pe care le distingem din spectrul
Punctul orb
electromagnetic, este destul de mic.
Conuri
Bastonaşe

Figura 5. Axa X – Gradul de la axa vizuală, axa Y – numărul de conuri sau bastonaşe pe mm2.

Principala deosebite între lentila ochiului şi o lentilă optică obişnuită este faptul că are o
formă flexibilă. Raza de curbură a suprafeţei frontale a lentilei este mai mare decât cea a suprafeţei
dorsale. Forma lentilei este controlată de tensiune fibrelor musculare din corpul ciliar. Pentru
focusarea obiectelor la distanţă mare, lentila va fi aplatizată, iar pentru cele apropiate lentila va fi
îngroşată.
Distanţa dintre centrul lentilei şi retină (numită lungime focală) variază între 17 mm şi 14
mm, în funcţie de puterea de refracţie a lentilei. Dacă ochiul focusează un obiect la distanţă mai
mare de 3 m, lentila dezvoltă cea mai mică putere de refracţie, iar la distanţe mai mici, lentila
refractează cel mai mult. Aceste informaţii permit un calcul uşor a dimensiunii imagini retinale ale
unui obiect focusat. Figura 6 arată un exemplu, în care un observator se uită la un palmier de 15m Figura 7. Spectrul electromagnetic.

5 6
Anomalii vizuale
Există doar un singur tip de bastonaşe dar in schimb trei tipuri de conuri. Etichetele care se
pot asocia conurilor sunt date de lungimea de undă a vârfurile de răspuns pentru sensibilitatea lor
spectrală: S – short, M – medium, L – long.

După nume, conurile sunt împărţite în trei categorii:


α - acestea sesizează lumină din partea albastră a spectrului vizual;
β - sesizează lumină vedre;
γ - sesizează lumina în partea roşie a spectrului.

Tip Gama Vârfuri


S 400 – 500 nm 420 – 440 nm
M 450 – 630 nm 534 – 545 nm
L 500 – 700 nm 564 – 580 nm

Modelul de culoare RGB este mai e grabă o convenţie pentru reprezentarea culorilor şi nu se
bazează direct pe tipurile de conuri din ochiul uman.
Răspunsul total a conurilor provine din suma răspunsurilor acestor trei tipuri de conuri şi
acoperă astfel întregul spectru vizual. Bastonaşele sunt sensibile la lumina din întregul spectru şi au
astfel o sensibilitate mai ridicată decât conurile. Aşadar, în condiţii de luminozitate scăzută,
imaginile sunt formate în jurul fovea pentru a folosit sensibilitatea ridicată a bastonaşelor dar fără
viziunea colorată a conurilor. Există puţine conuri de tip α şi mult mai multe de tipul β şi γ , şi
totuşi vedem destule nuanţe de albastru, întrucât sistemul vizual uman compensează într-un fel
deficienţa de senzori albaştri.

Lungimea de undă.

Figura 8 prezintă sensibilitatea conurilor (gri) şi trei tipuri de conuri (roşu, vedre, albastru) ca
funcţie de lungime de undă. Viziunea umană detectează domeniul între 400 nm (albastru) şi 700 nm
(roşu).

Spirala lui Fraser Discul lui Benham

7 8
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe
Catedra de Informatică

Spaţii de culori
Disciplina: Grafică
Cadru didactic: Ralf Fabian Rostul unui spaţiu de culoare (numite şi modele sau sisteme de culori) este de a facilita
Specializarea: Informatică, anul II. specificarea de culori într-un standard general valabil. În esenţă, un spaţiu de culoare este o
specificare de sistem de coordonate şi un subspaţiu în care fiecare culoare este reprezentată de un
singur punct.
Majoritatea spaţiilor de culori folosite, sunt orientate fie spre hardware (precum monitoare
sau imprimante color), fie spre aplicaţii destinate lucrului cu culori (cum ar fi crearea de grafică
Elemente de colorimetrie color în animaţii). În termeni de procesare digitală a imaginilor, practic, cele mai des utilizate
modele orientate hardware sunt modelul RGB (red, green, blue) pentru monitoare color şi o gamă
mare de camere video color; modelul CMY (cyan, magenta, yellow) şi CMYK (cyan, magenta,
Utilizarea de culori în procesarea imaginilor este motivată de doi factori importanţi: a) yellow, black) pentru tipărire color; şi modelul HSI (hue, saturation, intensity) care corespunde cel
culoarea este un descriptor puternic care permite adeseori simplificarea identificării şi extragerii mai bine modului în care oamenii descriu şi interpretează culoarea.
obiectelor din scene. b) omul poate distinge mii de nuanţe şi intensităţi de culoare, dar numai un
număr mic de nuanţe de gri.
Procesarea imaginilor color se împarte în două direcţi principale: procesare full-color Modelul CIE
pseudo-color. În prima categorie imaginile sunt de regulă achiziţionate prin senzori full-color, În urma unor experimente detaliate s-a constata că cele 6-7 milioane de conuri din ochiul
precum camere de filmat TV color sau scannere. În a doua categorie, problema se pune de a asocia uman se pot împărţii în trei categorii de sensibilitate, corespunzând, în mare, culorilor roşu, verde şi
o culoare unei intensităţi monocrome sau unui domeniu de intensităţi. albastru. Aproximativ 65% din conuri sunt sensinili la lumina roşie, 33% la lumina verde li doar 2%
la lumina albastră (dar sunt cele mai sensibile). Pe baza acestor caracteristici de absorbţie a ochiului
uman, culorile pot fi văzute ca combinaţii variabile a culorilor primare roşu (R-red), verde (G-
Fundamente ale colorimetricii green) şi albastru (B-blue).
Prima standardizare a terminologiei şi măsurătorilor colorimetrice a fost realizată de CIE
Deşi procesul urmat de creierul uman pentru a percepe şi interpreta culoarea este un (Commission Internationale de l´Eclairage) în 1931. Această standardizare continuă să stea la baza
fenomen fizico-psihologic necunoscut pe deplin încă, natura fizică a culorilor poate fi exprimată pe colorimetricii moderne. Ea asociază următoarele lungimi de undă celor trei culori primare:
o bază formală, întărită de rezultate experimentale şi teoretice. albastru = 435,8 nm, verde = 546,1 nm, roşu = 700 nm.
În 1666 Sir Isaac Newton a descoperit că un fascicul de lumină solară care trece printr-o Această standardizare corespunde doar aproximativ datelor experimentale.
prismă se sticlă, generează la ieşire un spectru continuu de culori de la violet într-un capăt pană la Diagrama de cromaticitate CIE arată compoziţia culorilor ca funcţie de x (roşu) şi y (verde).
roşu în celălalt capăt. Nici una din aceste culori se termină abrupt, ci trece lin în următoarea. Pentru fiecare x şi y, valoarea corespunzătoare z (albastru) este obţinută din x  y  z  1 , notând
În esenţă, culorile sesizate de om asupra unui obiect, sunt determinate de natura lumini z  1  ( x  y) .
reflectate de acel obiect. Un corp care reflectă o lumină uniformă pe toate lungimile de undă
vizibilă, apare ca alb unui observator uman; pe când un corp care reflectă doar o parte produce
nuanţe de culori. De exemplu, obiecte verzi reflectă lumina cu lungimi de undă între 500 şi 570 nm,
absorbind majoritatea energiei pe alte lungimi de undă.
Caracterizarea culorii ocupă un rol central în ştiinţa culorilor. Dacă lumina este acromatică
(adică lipsită de culoare), singurul ei atribut este intensitatea (sau cantitatea). Lumina acromatică
este ceea ce se vede pe ecranele TV alb-negru. Termenul de nivel de gri se referă la o măsură
scalară de intensitate care bate de la negru, peste griuri, până la alb.
Lumina cromatică îşi ocupă locul în spectrul electromagnetic între aproximativ 400 nm şi
700 nm. Cele trei cantităţi utilizate pentru a descrie calitatea unei surse de lumină cromatică sunt:
radiaţia, intensitate luminoasă şi luminozitatea. Radiaţia este volumul total de energie care
degajată de sursa de lumină şi se măsoară în waţi (W). Intensitatea luminoasă se măsoară în
lumeni (lm) şi dă o măsură a volumului de energie a unei surse de lumină sesizat de un observator.
Luminozitatea este un descriptor subiectiv care în practică nu este măsurabil. Ea încapsulează
noţiunea acromatică de intensitate şi este un factor cheie în descrierea senzaţiei de culoare.

1 2
Figura 1. Diagrama de cromaticitate CIE, numerele dau lungimea de undă în nm, triunghiul arată
culorile care pot fi reproduse de un ecran CRT prin mixarea de roşu, verde, albastru.

Poziţiile diferitelor culori din spectru (de la violet 380 nm la roşu 780) sunt indicate de-a
lungul marginii diagramei, şi sunt numite culorile pure. Fiecare punct care nu se află pe frontieră ci
în diagramă, reprezintă un amestec de culori din spectru. Punctul de energie echivalentă (alb, din
mijloc) corespunde fracţiunilor egale ale celor trei culori primare, reprezintă standardul CIE de
lumină albă. Toate punctele de pe frontieră au saturaţia maximă. Cu cât un punct este mai aproape
de centrul cu atât îi scade saturaţia.
Diagrama de cromaticitate este utilă mixării de culori întrucât orice segment de dreaptă care
leagă două puncte din diagramă defineşte toate variaţiile de culori care se pot obţine din combinaţia
aditiva a celor două culori. Similar, o dreaptă de la punctul de energie echivalentă la oricare punct
de pe frontieră va defini toate nuanţele colorii respective.
Conectând prin drepte trei puncte astfel încât să se obţină un triunghi, orice culoare din
interiorul triunghiului poate fi reprodusă prin diferite combinaţii ale celor trei puncte iniţiale.

Modelul RGB
În modelul RGB, fiecare culoare apare în componentele spectrale primare roşu, verde şi Figura 3. Generarea imaginii RGB din imagini componente.
albastru. Acest model se bazează pe sistemul de coordonate carteziene. Subspaţiul de interes este
cubul din figura 2, în care valorile RGB sunt în trei colţuri, iar cyan, magenta şi yellow în celelalte Numărul de biţi folosiţi la reprezentarea unui pixel în spaţiul RGB se numeşte adâncime de
trei. Negrul (black) se află în origine iar în colţul cel mai îndepărtat faţă de origine (diagonala) se pixel (pixel depth). Să considerăm o imagine RGB în care fiecare din imaginile red, green şi blue
află albul (white). În acest model scara nuanţelor de gri (punctele cu valoare RGB echivalentă) se sunt imagini de 8 biţi. În aceste condiţii fiecare pixel color RGB (un triplet de valori R, G, B) se
întinde între negru şi alb pe linia care uneşte aceste două puncte. spune ca are o adâncime de 24 de biţi. Termenul de imagine full-color este deseori folosit pentru a
referi o imagine color RGB pe 24 biţi. Numărul total de culori într-o imagine de 24 biţi este
(28 )3  16.777.216 . O modalitate de vizualizare a acestor culori este de a genera plane de culori
(feţe sau secţiuni ale cubului), lucru realizat prin fixarea uneia din cele trei culori, restul rămânând
variabile. De exemplu, un plan prin centrul cubului şi paralel cu planul GB este planul (127,G,B)
pentru G,B = 0,1,2,…,255. Aici folosim valorile de pixel şi nu valorile matematice normalizate din
domeniul [0,1] , întrucât în ele sunt folosite de calculator pentru a genera culori. În imaginile
componente, 0 reprezintă negrul iar 255 reprezintă albul, aşadar ele sunt de tonalitate cenuşie, gri
(gray scale).
Observăm că, achiziţionarea de imagine color este de fapt procesul invers celui din figura 3.
O imagine color poate fi achiziţionată prin folosirea a trei filtre, sensibile la roşu, verde respectiv
albastru. Dacă privim o scenă color cu o cameră monocromă echipată cu unul din aceste filtre,
rezultatul va fi o imagine monocromă a cărei intensitate este proporţională cu răspunsul filtrului.
Repetând acest proces cu fiecare filtru se obţin în final trei imagini monocrome reprezentând
imaginile componente RGB ale scenetei color.
În timp ce majoritatea monitoarelor şi plăcilor video permit o generare rezonabilă a culorilor
din imagini de 24-biţi, există totuşi multe sisteme limitate la doar 256 de culori. Dată fiind
varietatea de sisteme aflate în uz, a devenit necesară specificarea unui subset de culori care se pot
reproduce cu acurateţe rezonabilă independent de capacităţile dispozitivului de vizualizare. Acest
Figura 2. Spaţiul de culori RGB. subset de culori se numeşte safe RGB colors (culori sigure) sau all-system-safe colors, safe Web
colors, safe browser colors. Considerând că 256 este numărul minim de culori care pot fi reproduse
de orice sistem, este util de a avea o notaţie standard de referire a acestor culori. S-a observat ca 40
Culorile diferite din acest model sunt puncte pe, sau în interiorul cubului şi se definesc ca dintre ele sunt procesate diferit de sistemele de operare, aşa ca au rămas doar 216 de culori comune
vectori ce pornesc din origine. Se presupune că toate valorile de culori au fost normalizate astfel ca majorităţii sistemelor.
cubul din figura 2 să fie unitar, adică toate valorile de R, G, B sunt în intervalul [0,1] . Fiecare din cele 216 de culori sigure este formată din 3 valori RGB, fiecare putând fi doar 0,
Imagini reprezentate în culori RGB sunt asamblate din trei imagini componente, câte una 51, 102, 153, 204 sau 255. Astfel de triplete RGB produc (6)3  216 posibile valori. Exprimare lor
pentru fiecare culoare primară. Trimise spre un monitor RGB, aceste trei imagini sunt combinate pe în hexa este:
ecran pentru a produce o imagine de culori compuse, figura 3. Decimal 0 51 102 153 204 255
Hexa 00 33 66 99 CC FF
3 4
Întrucât formarea unei culori RGB necesită trei valori, fiecare culoare sigură e formată din
două numere hexa a doua cifre. De exemplu, cel mai slab roşu este FF0000, 000000 reprezintă
negru, FFFFFF reprezintă alb.

(a) (b)
Figura 5. (a) Sinteza aditivă a culorilor – trei surse de lumină de diferite culori fixate, numite şi
culori primare, suprapuse la mijloc pentru a produce lumina albă. (b) Sinteza subtractivă a culorilor
– trei pete de culoare pe hârtie albă, diferenţa lor la suprapunerea din mijloc produce negru.

Modelul de culoare HSL (HSI, HSV etc.)


Chiar dacă modelele RGB şi CMY sunt extrem de utile pentru reprezentarea culorilor,
Figura 4. Cele 216 safe colors organizate în valori RGB descendente. procesarea culorilor şi dezvoltarea componentelor hardware, ele totuşi nu sunt deloc similare cu
modelul uman de viziune.
Una din neajunsurile majore ale spaţiului de culori RGB este neuniformitate lui. Un spaţiu
uniform de culoare este unul în care distanţa euclidiană între două puncte de culoare din orice parte
Modelul de culori CMY şi CMYK a spaţiului, corespunde diferenţei perceptuale, între cele două culori, ale sistemul vizual uman.
Culorile cyan, magenta şi yelow sunt culorile secundare ale luminii, sau culorile primare Dacă oamenii privesc un obiect color, îl descriu prin:
pentru pigmenţi. De exemplu, dacă o suprafaţă acoperită cu pigmenţi de cyan este iluminată cu  hue (nuanţă, culoare) – este un atribut asociat cu lungimea de undă dominantă dintr-un
lumină albă nu se reflectă lumina roşie de la acea suprafaţă. Aşadar, cyanul sustrage (scade) lumina set de unde de lumină. Adică, descrie culoarea dominată sesizată de un observator. Dacă
roşie din lumina albă reflectată, care se compune la rândul ei dintr-o valoare egală de lumină roşie, se spune că un obiect este roşu sau galben, se specifică hue-ul.
verde şi albastră.  saturation (saturaţie) – se referă la puritatea relativă sau volumul de lumină albă mixată
Majoritatea dispozitivelor care depun pigmenţi pe hârtie (imprimate, copiatoare etc.) au cu o nuanţă (consistenţa, strălucirea sau lipsa ei).
nevoie de date de intrare în format CMY sau realizează o conversie internă RGB în CMY. Pentru  lightness, (luminozitate) brightness (strălucire) – este un descriptor subiectiv şi practic
operaţia de conversie imposibil de măsurat. Ea încapsulează noţiunea acromatică de intensitate (de ex.
luminos sau întunecat) Se ştie că intensitatea (nivele de gri) este cel mai util descriptor
 C  1  R  pentru imagini monocromatice.
 M   1  G 
    
 Y  1  B 
Nuanţa şi împreună cu saturaţia formează cromaticitatea, aşadar o culoare poate fi
caracterizată prin luminozitatea şi cromaticitatea ei. Volumul de roşu, verde şi albastru necesare
se consideră că toate valorile de culori sunt normalizate pe domeniul [0,1] . Această ecuaţie arată că pentru formarea unei culori particulare se numesc valori tristimulus şi sunt denotat prin X, Y
suprafaţa cu cyan nu conţine roşu, respectiv, magenta nu reflectă verde şi yelow nu reflectă albastru. respectiv Z. O culoare este atunci specificată prin coeficientul tristimulus al ei, definit astfel:
De asemenea, se observă că valorile RGB pot fi obţinute la fel de uşor din CMY prin scăderea
valorilor din 1. X Y z
x , y , şi z .
Conform figurii 2, o cantitate egală de pigmenţi primari cyan, magenta şi yellow trebuie să X Y  Z X Y  Z X Y  Z
producă negrul. În practică însă, această combinaţie produce pe hârtia albă un negru şters, motiv
pentru care s-a introdus o a patra culoare, anume negru (black) K, ducând astfel la modelul CMYK Din aceste ecuaţii rezultă ca x  y  z  1 . Pentru orice lungime de undă a luminii din spectrul
(cyan, magenta, yelow, black). vizibil, valorile tristimulus necesare producerii culorii corespunzătoare acelei lungimi de undă poate
fi obţinută direct din curbe sau tabele construite în urma unor rezultate experimentale (Poynton
[1996], Walsh [1958], Kiver [1965]).

5 6
Modelul prezentat aici se numeşte model color HSI (hue, saturation, intensity), şi 1
descompune, într-o imagine color, componenta de intensitate, de informaţiile purtătoare de culoare Intensitatea este I  ( R  G  B) .
3
(hue şi saturation). Ca urmare, modelul HSI este un model ideal pentru dezvoltarea de algoritmi de
procesare a imaginilor bazate pe descrieri de culori naturale şi intuitive pentru oameni, care, pană la
urmă, sunt de fapt proiectanţii şi utilizatorii acestor algoritmi.
Aşa cum am văzut în paragraful anterior, o imagine color RGB poate fi văzută ca trei
imagini monocrome de intensitate, ceea ce ne sugerează faptul că am putea extrage intensitatea
dintr-o imagine RGB. Figura 5 prezintă un aranjamentul al cubului de culori, în care linia (axa de
intensitate) care uneşte colţul negru cu cel alb, se află pe verticală.

Figura 6. Reprezentare biconică a spaţiului de culori HSI.


Transformarea spaţiului de culoare RGB în HSI
Figura 5. Relaţia conceptuală între HSI şi RGB.

Pentru determinarea componentei de intensitate a oricărui punct color, trebuie plasat doar un Valorile RGB se presupun normalizate la domeniul [0,1] . Hue-ul poate fi normalizat pe [0,1] prin
plan perpendicular pe axa de intensitate şi care să conţină punctul respectiv. Intersecţia între plan şi împărţirea la 360° a tuturor valorile rezultate pentru H. Celelalte componente HSI sunt deja
axa de intensitate determină un punct cu o valoare de intensitate în domeniul [0,1] . De asemenea, se normalizate întrucât valorile RGB au fost normalizate.
observă că saturaţie (puritatea) unei culori creşte în funcţie de distanţa la axa de intensitate. De fapt,
saturaţia punctelor pe axa de intensitate este zero, întrucât toate punctele axei sunt gri. Notaţii şi concepte apropiate:
Pentru a vedea cum se poate determina hue de la un punct RGB dat, considerăm imagina  HSV (hue, saturation, value) numit şi HSB (hue, saturation, brightness)
dreaptă a figurii 5, care arată un plan definit de trei culori (black, white, cyan). Faptul ca punctul
negru şi cel alb sunt conţinute în plan, înseamnă că şi axa de intensitate este conţinută în plan. Mai  HSL (hue, saturation, lightness/luminance), HLS sau HSI (hue, saturation, intensity) – este
mult, toate punctele din segmentul de plan determinat de axa de intensitate şi marginile cubului, au similar cu HSV numai că „lightness” este înlocuit cu „brightness”
acelaşi hue (aici cyan). La aceeaşi concluzie putem ajunge, reamintindu-ne din cele aflate mai sus,
că toate culorile generate de trei culori se află în triunghiul definit de aceste culori. Dacă două din Brightness – este proprietatea unei senzaţii vizuale conform căreia o zonă pare să emită mai multă
aceste puncte sunt negru şi alb, iar la treilea este un punct de culoare, toate punctele din triunghi au sau mai puţină lumină.
acelaşi hue, întrucât componentele alb şi negru nu pot schimba hue-ul (pot să difere doar Lightness – este brightness relativ la brithness-ul unui alb iluminat similar.
intensitatea şi saturaţia). Întorcând planul haşurat în jurul axei de intensitate, se obţin diverse valori
de hue. Din aceste observaţii putem concluziona că valorile de nuanţă, saturaţie şi intensitate
necesare unei transformări RGB în HSI, se pot obţine pe cale geometrică.
Fiind dată o imagine în format de culoare RGB, componenta H pentru fiecare pixel RGB se
obţin prin ecuaţia

 dacă B  G  1 2[( R  G )  ( R  B)] 


H  cu   cos 1  12 
.
360   dacă B  G  [( R  G ) 2
 ( R  G )(G  B )] 
Saturaţia este dată de
3
S  1 [min( R, G, B)]
( R  G  B)

7 8
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe
Catedra de Informatică

Eşantionare şi cuantificare (sampling and quantization)


Disciplina: Grafică
Cadru didactic: Ralf Fabian Din discuţiile precedente, am văzut că există varietate de modalităţi pentru achiziţia de
Specializarea: Informatică, anul III. imagini, dar obiectivul principal rămânând acelaşi: de a genera imagini digitale din date percepute.
Outputul senzorilor este de regulă un flux continuu de voltaj a cărei amplitudine şi comportament
spaţial sunt strâns legate de fenomenul fizic sesizat. Pentru a crea o imagine digitală, trebuie
convertite aceste date continue sesizate, într-o formă digitală. Aceasta implică două procese:
eşantionare şi cuantificare.
Formarea imaginilor digitale Ideea de bază care stă în spatele eşantionării şi cuantificării este ilustrat în figura 2(a), care
prezintă o imagine continuă, f ( x, y ) , pe care dorim s-o transformăm într-o formă digitală. O
Model de formare imagine poate fi continuă în funcţie de coordonatele x, y, dar şi în funcţie de amplitudine. Pentru a o
Vom nota imaginile prin funcţii bidimensionale de forma f ( x, y ) . Valoarea sau converti într-o formă digitală, trebuie eşantionată funcţia în ambele coordonate şi în amplitudine.
Digitalizarea valorilor de coordonate se numeşte eşantionare, iar digitalizarea valorilor de
amplitudinea lui f la coordonatele spaţiale ( x, y ) este o cantitatea scalară pozitivă a cărui înţeles
amplitudine se numeşte cuantificare.
fizic este determinat de sursa imaginii. Odată ce o imagine este generată de un proces fizic, valorile
sale sunt proporţionale cu energia radiată de o sursă fizică (adică, undele electromagnetice). Ca
urmare, f ( x, y ) trebuie să fie diferită de zero şi finită:

0 < f ( x, y ) < ∞ .

Funcţia f ( x, y ) poate fi caracterizată de două componente: a) volumul de lumină care cade


pe scena vizualizată, şi b) cantitatea de lumină reflectată de obiectele din scenă. Acestea se numesc
şi componentele de iluminare şi de reflecţie, denotate prin i ( x, y ) respectiv r ( x, y ) . Combinarea
lor ca produs, formează f ( x, y ) :

f ( x, y ) = i ( x, y ) r ( x , y )

unde 0 < i ( x, y ) < ∞ şi 0 < r ( x, y ) < 1 . Aşadar, reflecţia este mărginită de 0 (absorbţia totală) şi 1
(reflecţia totală). Natura lui i ( x, y ) este determinată de sursa de iluminare iar r ( x, y ) este
determinată de caracteristicile obiectelor de imagine.

Figura 2. (a) Imagine continuă. (b) Scan line de la A la B în imaginea continuă.

Funcţia unidimensională din figura 2(b) este o reprezentare a valorilor de amplitudine


(nivele de gri) a imaginii continue de-a lungul segmentului de dreaptă AB din figura 2(a). Variaţiile
aleatoare se datorează zgomotului din imagine. Pentru eşantionarea acestei funcţii, se aleg
eşantioane la distanţă egală de-a lungul linie AB, ca în figura 3(a). Locaţia fiecărui eşantion este
dată de scala verticală din partea de jos a graficului. Eşantioanele sunt reprezentate ca dreptunghiuri
suprapuse funcţiei. Mulţimea acestor locaţii discrete dă funcţia eşantionată. Valorile eşantioanelor
se află de-a lungul (pe verticală) a unui domeniu continuu de valori cu tonalitate gri. Pentru a forma
o funcţie digitală, valorile de tonalitate trebuie convertite spre cantităţi discrete (cuantificate). Partea
dreaptă a figurii 3(b) arată scala nivelelor de gri împărţită în opt nivele discrete, de la negru până la
alb. Scala verticală indică valoarea specifică asociată fiecăruia dintre cele opt nivele de gri. Nivelele
de gri continue sunt cuantificate simplu, prin a atribui fiecărui eşantion un nivel discret de gri, din
cele opt. Atribuirea este făcută în funcţie de aproximarea poziţiei verticale a unui eşantion pe scala
verticală. Rezultatul operaţiuni este figura 3(b). Aplicarea acestui procedeu, linie cu line, începând
Figura 1. Un exemplu de proces de achiziţie a imagini. din partea de sus a imaginii, va produce o imagine digitală bidimensională.

1 2
Reprezentarea imaginilor digitale
Rezultatul compunerii şi cuantificării este o matrice de numere reale. Considerăm că o
imagine f(x,y) este compusă astfel încât să rezulte o imagine digitală de M linii şi N coloane.
Valorile coordonatelor (x,y) devine o cantităţi discrete. Pentru aceste coordonate discrete vom folosi
valori întregi. Valorile coordonatelor din origine sunt ( x, y ) = (0, 0) . Următoarele valori de
coordonate de pe prima linie sunt atunci ( x, y ) = (0,1) . Figura 5 arată convenţiile de coordonate
folosite în continuare.

Figura 3. (a) Eşantionare şi cuantificare. (b) Scan line digital.

Această eşantionare presupune o imagine continuă în ambele coordonate precum şi în


amplitudine. În practică, metoda de eşantionare este determinată de aranjamentul de senzor folosit
pentru generarea imaginii. Dacă o imagine este generată de un singur element sensibil împreună cu
un dispozitiv mecanic de deplasare, output-ul senzorului va fi ca în discuţia de mai sus. În principiu,
nu există o limită în ceea ce priveşte nivelul de granularitate a eşantionării unei imagini.
La utilizarea unei serii de senzori pentru achiziţia de imagini, numărul de senzori din şir
stabileşte limitele eşantionării într-o direcţie a imaginii. Mişcările mecanice în cealaltă direcţie pot
fi controlate cu acurateţe mai mare, dar nu are sens obţinerea densităţii de eşantionare într-o direcţie
care depăşeşte limitele stabilite de numărul de senzori din cealaltă direcţie.
La o matrice de senzori folosită în achiziţia de imagini, nu există mişcare, iar numărul de
senzori aflaţi în matrice stabilesc limitele eşantionării în ambele direcţii. Figura 4(a) arată o imagine
continuă proiectată pe planul de senzor matricial, iar figura 4(b) arată figura după eşantionare şi
cuantificare. Evident că, calitatea imaginii digitale este determinată în mare măsură de numărul de Figura 5. Sistem de coordonate pentru imagini digitale.
eşantioane şi nivele discrete de gri folosite în eşantionare şi cuantificarea.
Notaţia introdusă mai sus, ne permite să scriem o imagine digitală completă M × N ca formă
compactă de matrice:

Partea dreaptă a acestei ecuaţii este, prin definiţie, o imagine digitală. Fiecare element al matricei se
numeşte element de imagine, sau pixel.
În unele situaţii, notaţia tradiţională pentru matrice este mai convenabilă,

Figura 4. (a) Imagine continuă proiectată pe o matrice de senzori. (b) Rezultatul eşantionării şi
cuantificării.
unde aij = f ( x = i, y = j ) = f (i, j ) .
Procesul de eşantionare şi cuantificare poate fi exprimat şi în termeni de formalism
matematic. Fie ℤ şi ℝ mulţimea de numere întregi respectiv mulţimea de numere reale. Procesul
de eşantionare poate fi văzut ca partiţionarea a spaţiului xy într-un grid, cu coordonatele centrului

3 4
fiecărui grid fiind o pereche de elemente a produsului cartezian ℤ 2 , care este mulţimea tuturor
perechilor ordonate de elemente ( zi , z j ) , cu zi , z j ∈ ℤ . Aşadar, f ( x, y ) este o imagine digitală dacă Relaţii între pixeli
( x, y ) sunt întregi din ℤ 2 iar f este o funcţie care asociază o valoare de tonalitate de gri (adică un În continuare considerăm câteva relaţii importante între pixelii unei imagini. Vom referi un
număr real din ℝ ) fiecărei perechi distincte de coordonate ( x, y ) . Această asociere funcţională pixel particular prin minuscule, precum q sau p.
reprezintă de fapt procesul de cuantificare. Dacă tonalităţile de gri sunt de asemenea întregi, atunci
ℝ este înlocuit cu ℤ şi o imagine digitală devine funcţie 2D de valori întregi.
Vecinătate
Procesul de digitalizare implică o serie de decizii asupra valori elementelor M, N şi L, unde
L reprezintă valori discrete de tonalităţi de gri pentru fiecare pixel. Asupra lui M şi N nu sunt Un pixel p la coordonatele ( x, y ) are patru vecini orizontali şi verticali cu coordonatele date
impuse restricţii, însă procesarea, memorarea şi dispozitivele hardware de sinteză determină ca de
numărul de tonalităţi gri să fie un întreg ca putere de 2: ( x + 1, y ), ( x − 1, y ), ( x, y + 1), ( x, y − 1)

L = 2k Mulţimea de pixeli, numită 4-vecini ale lui p, se notează N 4 ( p ) . Fiecare pixel este la o unitate de
distanţă de la ( x, y ) , iar unii din vecinii lui p se află în afara imaginii digitale dacă ( x, y ) se află la
Tonalităţile discrete se consideră la distanţe egale şi ca fiind întregi din intervalul [0, L − 1] . marginea imaginii.
Uneori domeniul de valori acoperit de scala de tonalitate gri se numeşte dynamic range (gama Cei patru vecini diagonali ai lui p au coordonatele
dinamica) a imaginii. Referim imagini a căror tonalitate de gri acoperă o parte semnificativă a scalei
de tonalităţi ca fiind high dynamic range (gama dinamică înaltă), sau în caz contrar low dynamic ( x + 1, y + 1), ( x + 1, y − 1), ( x − 1, y + 1), ( x − 1, y − 1)
range.
Numărul de biţi, b, necesar stocării unei imagini digitale este:
şi sunt denotate N D ( p ) . Aceste puncte împreună cu 4-vecinii se numesc 8-vecinii lui p, notat prin
b = M ⋅ N ⋅k . N8 ( p ) . De asemenea, unii din punctele N D ( p ) şi N8 ( p ) vor fi în afara imaginii dacă ( x, y ) este
situat pe marginea imaginii.
Dacă M = N atunci ecuaţia devine

b = N 2k Adiacenţă, conectivitate, regiuni şi graniţe


Conectivitatea între pixeli este un concept fundamental care simplifică definirea a mai
Tabelul din figura 6 indică numărul de biţi necesari pentru stocarea imaginilor pătratice cu diferite multor concepte din imagini digitale, cum ar fi regiunile şi graniţele. Pentru a stabili dacă doi pixeli
valori pentru N şi k. Numărul de tonalităţi gri corespunzător fiecărei valori k este indicat între sunt conectaţi, trebuie determinat dacă ei sunt vecini şi dacă nivele lor de gri satisfac un anumit
paranteze. Dacă o imagine poate avea 2k tonalităţi gri, ea va fi referită ca imagine de 2k biţi. De criteriu de similaritate (adică, dacă este acelaşi). De exemplu, în imagini binare cu valori de 0 şi 1,
exemplu, o imagine cu 256 de valori posibile de tonalităţi gri se numeşte imagine de 8 biţi. doi pixeli pot fi 4-vecini, dar se numesc conectaţi doar dacă au aceeaşi valoare.
Fie V mulţimea de valori ale nivele de gri folosite pentru a defini adiacenţa. Într-o imagine
binară, V = {1} dacă ne referim la adiacenţa pixelilor de valoare 1. În imagini cu tonalitate gri, ideea
este aceeaşi, doar că mulţimea V conţine mai multe elemente. De exemplu, în adiacenţa pixelilor cu
o posibilă gamă de valori a nivelelor de gri între 0 şi 255, mulţimea V poate fi orice submulţime a
acestor 256 de valori. Există trei tipuri de adiacenţe:
a) 4-adiacenţă. Doi pixeli p şi q cu valori din V sunt 4-adiacenţi dacă q este în mulţimea
N 4 ( p) .
b) 8-adiacenţa. Doi pixeli p şi q cu valori din V sunt 8-adiacanţi dacă q este în mulţimea
N8 ( p) .
c) m-adiacenţă (mixtă). Doi pixeli p şi q cu valori din V sunt m-adiacenţi dacă:
i) q este în N 4 ( p ) sau
ii) q este în N D ( p ) şi mulţimea N 4 ( p ) ∩ N 4 (q ) nu are pixeli cu valori din V.
Figura 6. Numărul de biţi necesari memorării pentru diverse valori de N şi k.
Adiacenţa mixtă este o variantă modificată a 8-adicenţei. Ea este introdusă pentru a elimina
ambiguităţile care apar la utilizarea 8-adiacenţei. De exemplu, să considerăm aranjamentul de pixel
din figura 7(a) pentru V = {1} . Cei trei pixeli din vârful figurii 7(b) arată 8-adiacenţe multiple
(ambigue), indicate prin linia punctată. Această ambiguitate este eliminată prin folosirea
m-adiacenţei, ca în figura 7(c).

5 6
Două submulţimi de imagine S1 şi S2 sunt adiacenţi dacă un pixeli din S1 este adiacent Distanţa D4 (numită şi city-block distance) între p şi q se defineşte ca
unui pixel din S2 .
D4 ( p, q ) =| x − s | + | y − t | .

În acest caz, pixelii cu distanţă D4 de la ( x, y ) mai mică sau egală cu o valoare r formează un
diamant centrat în ( x, y ) . De exemplu, pixelii cu distanţa D4 ≤ 2 de la ( x, y ) (punctul din mijloc)
formează următoarele contururi de distanţă constantă:
Figura 7. (a) Aranjament de pixeli, (b) pixeli 8-adiacanţi pixelului din mijloc, (c) m-adiacenţa.

Un drum (digital) sau curbă de la un pixelul p, cu coordonare ( x, y ) , la un pixel q, cu


coordonatele ( s, t ) , este o secvenţă de pixeli distincţi cu coordonatele

( x0 , y0 ), ( x1 , y1 ),..., ( xn , yn ) ,
Pixelii cu D4 = 1 sunt 4-vecini pentru ( x, y ) .
unde ( x0 , y0 ) = ( x, y ) , ( xn , yn ) = ( s, t ) , iar pixelii ( xi , yi ) şi ( xi −1 , yi −1 ) sunt adiacenţi pentru Distanţa D8 (numită şi chessboard distance) între p şi q se defineşte ca
1 ≤ i ≤ n . În acest caz n este lungimea drumului. Dacă în plus ( x0 , y0 ) = ( xn , yn ) , atunci drumul se
numeşte închis. D8 ( p, q ) = max(| x − s |,| y − t |) .
Se pot defini 4-, 8-, sau m-drumuri în funcţie de adiacenţa specificată. De exemplu,
drumurile din figura 7(b) între pixelii din nord şi cei din sud sunt 8-drumuir, iar drumul din figura În acest caz, pixelii cu distanţă D8 de la ( x, y ) mai mică sau egală cu o valoare r formează un pătrat
7(c) este un m-drum. În m-drumuri nu există ambiguitate. centrat în ( x, y ) . De exemplu, pixelii cu distanţa D8 ≤ 2 din ( x, y ) formează următoarele contururi
Fie S o submulţime de pixeli dintr-o imagine. Doi pixeli p şi q se numesc conectaţi în S dacă
de distanţă constantă:
există un drum între ei format în întregime din pixeli ai lui S. Pentru orice pixel p din S, mulţimea
de pixeli din S care sunt conectaţi la el, se numeşte componentă conectată a lui S. Dacă are doar o
singură componentă conectată, atunci S se numeşte mulţime conectată.
Fie R o submulţime de pixeli dintr-o imagine. R se numeşte regiune a imaginii, dacă R este
o mulţime conectată. Graniţa (contur sau margine) unei regiuni R este mulţimea de pixeli din
regiune, cu unul sau mai mulţi vecini care nu fac parte din R. Dacă R reprezintă întreaga imagine,
atunci graniţa se defineşte ca fiind mulţimea de pixeli din prima şi ultima linie, precum şi coloană.
Pixelii cu D8 = 1 sunt 8-vecinii lui ( x, y ) .
De obicei, când ne referim la o regiune, înţelegem o submulţime a imaginii şi fiecare pixel din
graniţa regiunii care coincide cu marginea imaginii, se includ implicit ca partea a graniţei de Distanţele D4 şi D8 între p şi q sunt independente de orice drum care ar putea exista între
regiune. ele, întrucât aceste distanţe implică doar coordonatele punctelor.
Dacă considerăm m-adiacenţa, distanţa Dm între două puncte este definită ca fiind cel mai
scurt m-drum între puncte. În acest caz, distanţa între doi pixeli va depinde de valorile pixelilor de-a
Distanţe lungul drumului precum şi de valorile vecinilor lor. De exemplu, fie următorul aranjament de pixeli,
Pentru pixelii p, q şi z, având coordonatele ( x, y ) , ( s, t ) respectiv (v, w) , D este o funcţia de unde p, p2 şi p4 au valoarea 1 iar p1 şi p3 pot avea ca valoare 0 sau 1:
distanţă sau metrica dacă
i) D ( p, q ) ≥ 0 ( D ( p , q ) = 0 ⇔ p = q ) p3 p4
ii) D ( p , q ) = D ( q , p ) şi p1 p2
iii) D ( p, z ) ≤ D ( p , q ) + D ( q , z )
p
Distanţa euclidiană între p şi q se defineşte ca Considerăm adiacenţa pixelilor de valoare 1 ( V = {1} ). Dacă p1 şi p3 sunt 0, lungimea celui mai
scurt m-drum ( Dm distanţa) între p şi p4 este 2. Dacă p1 este 1, atunci p2 şi p nu vor mai fi
De ( p, q ) = [( x − s ) 2 + ( y − t ) 2 ] 2 .
1

m-adiacenţi şi lungimea celui mai scurt m-drum va deveni 3 (trece prin p p1 p2 p4 ). Similar, dacă
Pentru această măsură a distanţei, pixelii cu distanţă mai mică sau egală cu o valoare r din p3 este 1 (şi p1 = 0 ), lungimea celui mai scut m-drum este tot 3. În final, dacă ambii p1 şi p3 sunt
( x, y ) , sunt punctele conţinute pe un disc cu raza r, centrat în ( x, y ) . 1, lungimea celui mai scurt m-drum între p şi p4 este 4, trecând prin punctele p p1 p2 p3 p4 .

7 8
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe  Transformarea T să fie monotonă crescătoare sau descrescătoare, pentru a păstra ordinea
Catedra de Informatică între nivelele de gri.

Disciplina: Grafică
Cadru didactic: Ralf Fabian
Specializarea: Informatică, anul III. Modificare liniară a contrastului
Cea mai des folosită tehnică de modificare liniară a contrastului este o transformare liniară
pe porţiuni, numită şi netezire de contrast, unde

 s1
Transformări de îmbunătăţire a imaginilor  u , 0 ≤ u < r1
 r1
 s −s
v =  s1 + 2 1 (u − r1 ), r1 ≤ u < r2
În funcţie de numărul de pixeli din imaginea iniţială folosiţi pentru calculul valorii unui  r2 − r1
pixel din imaginea prelucrată se poate face următoarea clasificare:  L − 1 − s2
 Operaţii punctuale (spaţiu 1x1)  s2 + (u − r2 ), r2 ≤ u < L
 L − 1 − r2
 Operaţii de vecinătate (spaţiu mai mare decât 1x1)
 Operaţii integrale (valoare a unui pixel este dependentă de valorile tuturor pixelilor
imaginii) În formula aceasta, parametrii de control sunt r1 , r2 , s1 şi s2 ; aceştia sunt grupaţi câte doi,
definind punctele (r1 , s1 ) şi (r2 , s2 ) . Împreună cu punctele fixe (0, 0) şi (L − 1, L − 1) ele vor defini
cele trei segmente de dreaptă ce apar în formula de mai sus.
Operaţii liniare şi neliniare
Fie T un operator a cărui input şi output este o imagine. T se numeşte operator liniar dacă
pentru oricare două imagini f şi g şi doi scalari a şi b

T (af + bg ) = aT ( f ) + bT ( g ) .

Un operator care nu verifică ecuaţia de mai sus este prin definiţie neliniar.

Procesări punctuale
Figura 1. Îmbunătăţirea liniară a contrastului pe porţiunile date de punctele (0, 0) , (r1 , s1 ) , (r2 , s2 ) şi
(255, 255) (sau (1,1) ).
Modificare de contrast
Imagini cu contrast scăzut pot proveni din iluminare necorespunzătoare, deficienţe de gamă Rezultatul aplicării unei asemenea operaţii punctuale se obţine modificând valoarea (nivelul
dinamică (dynamic range) ale senzorului sau alte setări greşite survenite la capturarea imaginii. de gri) fiecărui pixel al imaginii iniţiale, u, conform formulei, obţinând noul nivel de gri v.
Ideea din spatele modificărilor de contrast este de a modifica gama dinamică a nivelelor de gri din Transformarea poate fi făcută în două moduri: fie se repetă calculele de pentru fiecare pixel,
imagine. baleiind imaginea, fie noile valori ale contrastului se calculează de la început pentru toate nivelele
Operaţiile punctuale de modificare a contrastului (numite şi transformări ale nivelului de gri) de gri posibile (între 0 şi L−1) iar apoi aceste modificări se aplică imaginii.
sunt metode simple de procesare a imaginii. Valoarea unui pixel din imaginea procesată este !!! LUT
determinată numai de valoarea pixelului respectiv din imaginea iniţială. Ca urmare, avem o asociere
ce leagă nivelul de gri original de noua sa valoare, printr-o funcţie de transformarea a nivelelor de
gri sub forma:

v = T (u ) , unde u ∈ [0, L − 1]

Se consideră necesare condiţiile:


 Transformarea T să păstreze gama admisibilă de valori ale imaginii. Dacă nivelele de gri au
fost reprezentate pe L nivele de cuantificare, atunci 0 ≤ T (u ) ≤ L − 1 , ∀u ∈ [0, L − 1] .

1 2
Operaţiile punctuale apar şi sub denumirea de transformări LUT, întrucât funcţia de asociere era mai mică decât r1 fiind negre şi toate nivelele de gri iniţiale mai mari ca r1 devenind
în cazul imaginilor discrete, poate fi implementată printr-un look-up-table (LUT) albe. Aceasta este una dintre tehnicile cele mai simple tehnici de segmentare. În urma
acestei transformări, contrastul este maximizat la nivelul întregii imagini.
Rezultatul aplicării unei funcţii de transformare a nivelelor de gri dată, ca în figura 1, se
poate observa la imaginile din figura 2.

Figura. (a) Imaginea originală, (b) Imaginea rezultată după modificarea liniară de contrast.

Vizibilitatea componentelor scenei este în general determinată în cea mai mare parte de Figura 3. Caz particular pentru r1 = r2 şi s1 = 0 , s2 = L − 1 se obţine funcţia de thresholding.
contrastul zonei din imagine; contrastul este o măsură proporţională cu diferenţa dintre
luminozitatea anumitor pixeli (nivelul lor de gri). Pentru a putea prevedea efectele unei operaţii de
2) Dacă s1 = 0 şi s2 = L − 1 se obţine operaţia de întindere maximă a contrastului (contrast
îmbunătăţire asupra contrastului este deci suficientă studierea diferenţelor de nivele de gri între o
aceeaşi pereche de pixeli înainte şi după efectuarea transformării. La limită, este posibil ca pixelii să streching) pentru intervalul [r1 , r2 ] . Nivelele de gri care se regăsesc în afara acestui interval
aibă nivelul de gri original diferit cu doar o unitate, şi atunci modificarea contrastului va fi dată de vor fi înlocuite cu alb sau cu negru.
diferenţa valorilor transformate, adică de derivata funcţiei de transformare: 3) Dacă r 1 = s1 şi r2 = s2 se obţine o funcţie liniară care nu produce nici o schimbare în
nivelele de gri.
∆v T (u2 ) − T (u1 ) dT (u )
C= = = = T '(u ) 4) Orice alte valori pentru (r1 , s1 ) sau (r2 , s2 ) produc diferite distribuţii în nivelele de gri.
∆u u2 − u1 d Condiţia ca r1 ≤ r2 şi s1 ≤ s2 asigură monotonia crescătoare şi astfel ordinea nivelelor de gri.
De asemenea previne crearea artefactelor de intensitate în imaginea finală.
Pentru funcţia liniară pe porţiuni este evident că derivata va fi constantă pe aceleaşi intervale, având
valoarea egală cu panta segmentului de dreaptă.
Transformarea de tăiere (decupare) - Grey level slicing
 s1
 , u ∈ [0, r1 ] Această metodă se aplică pentru cazuri în care se urmăreşte evidenţierea a doar unui
 r1 subdomeniu specific al nivelelor de gri dintr-o imagine. Există 2 variante de bază:
s − s 1) afişarea unor valori mari pentru toate nivele de gri din domeniul de interes şi valori mici
C =  2 1 , u ∈ [r1 , r2 ] pentru restul nivelelor de gri. Figura 4(a).
 r2 − r1 2) deschide nivele de gri care prezintă interes dar păstrează fundalul cu tonalităţile nivelelor de
 L − 1 − s2
 , u ∈ [r2 , L − 1] gri din imagine. Figura 4(b).
 L − 1 − r2

Dacă pe un interval această pantă este subunitară, atunci diferenţa între nivelele alăturate de
gri se micşorează şi deci contrastul scade; dacă din contră, panta dreptei este supraunitară, diferenţa
dintre nivelele de gri alăturate se măreşte şi contrastul va creşte. Aceste efecte sunt uşor vizibile pe
imaginile din figura 2. De exemplu scăderea contrastului pentru nivelele de gri de la capătul
superior al gamei admise (dinspre alb) se observă prin dispariţia detaliilor luminoase din imagine;
creşterea contrastului pe intervalul griurilor închise este vizibil prin creşterea detaliilor în zone
închise.
În funcţie de alegerea celor patru parametri, se pot obţine câteva cazuri particulare de interes
ce poartă denumiri specifice.
Figura 4. (a) Transformarea evidenţiază domeniul [ A, B ] a nivelelor de gri şi reduce restul la un
1) Dacă r1 = r2 şi s1 = 0 , s2 = L − 1 se obţine prăguirea sau binarizarea (thresholding),
nivel constant. (b) Transformarea evidenţiază domeniul [ A, B ] a nivelelor de gri dar păstrează restul
rezultatul fiind o imagine alb-negru, figura 3. Toate nivelele de gri iniţiale a căror valoare
nivelelor.

3 4
Extragerea planelor de bit - Bit slicing
Prin extragerea planelor de bit se urmăreşte evidenţierea contribuţiei unor biţi la aspectul
imaginii în ansamblu. O imagine pe 8 biţi este văzută ca compunere de plane de 1 bit, de la
bit-planul 0, cu biţii mai puţini semnificativi, până la planul 7, cu biţii cei mai semnificativi;
figura 5.

Figura 7. (a) Extragerea planului de bit 8. (b) Extragerea planului de bit 7.

Figura 5. Plane de biţi dintr-o imagine de 8 biţi.

Observăm că biţii semnificativi (mai ales cei 4 din vârf) conţin majoritatea datelor vizuale
semnificative. Restul contribuie la nivel de detalii subtile ale imaginii. Separarea unei imagini
digitale în palane de biţi este utilă pentru analiza importanţei fiecărui bit din imagine, un proces care
urmăreşte determinarea numărului adecvat de biţi pentru cuantificarea fiecărui pixel. De asemenea,
această descompunere este utilă la compresia imaginilor.
Imaginea binară pentru bit-planul 7 poate fi obţinută prin procesarea imaginii iniţiale cu o
transformare de nivel gri, gen thresholding care transformă toate nivelele de griuri între 0 şi 127 la
un singur nivel (eventual 0) şi toate nivelele între 129 şi 255 la altul (eventual 255).

Figura 8. Cele 8 plane de biţi ale figurii 6.

Figura 6. O imagine de fractali, pe 8 biţi. Modificarea neliniară a contrastului


Principalul dezavantaj al tehnicii liniare pe porţiuni este faptul că modificarea contrastului
Formula de transformare pentru extragerea planelor de biţi poate fi dată sub forma:
este aceeaşi pe un întreg interval de nivele de gri, şi nu este posibilă o modificare neuniformă a
contrastului pe întregul interval de nivele de gri sau în jurul unui anume nivel de gri. Tehnicile
v = T (u ) = ( L − 1)bitk (u ) ,
neliniare au aceste proprietăţi.

u = bB bB −1...b2b1 în binar, Transformare logaritmică


B
u = ∑ 2 bk .k −1
O primă variantă este compandarea (comprimarea) domeniului de gamă dinamică a unei
k =1
imagini prin aplicarea unei transformări a valorilor nivelelor de gri, definită de o curbă logaritmică
cu punctele fixe (0, 0) şi ( L − 1, L − 1) :
5 6
Transformare exponenţială

În mod reciproc se poate defini expandarea domeniului, ca transformare inversă celei de


compandare, şi deci având o alură exponenţial:

eu − 1
v = T (u ) = ( L − 1)
e L −1 − 1

v = T (u ) = c lg(u ) ,

unde c este un factor de scalare care ne asigură că valorile transformate se află în acelaşi domeniu
ca cele iniţiale.

Cu alte cuvinte, fiecare pixel este înlocuit cu logaritmul său. Alegerea bazei (logaritm natural sau cu
baza 10) nu influenţează forma curbei de transformare, ci doar factorul de scalare.

Întrucât logaritmul nu este definit pentru 0, se adaugă în mod uzual valoarea 1 la argumentul u. Contrastul va varia neuniform de-a lungul scalei de gri, mărindu-se la capătul superior (alb)
şi micşorându-se la capătul inferior (negru). Termenii de compandare şi de expandare au fost daţi
T (u ) = c lg(1 + u ) prin asemănare cu transformările folosite în teoria codării şi cuantizării (ce intervin în metodele de
cuantizare a semnalului vocal pentru telefonia digitală, cunoscute sub numele de legea A în Europa
şi legea µ în America). Trebuie însă subliniat că în prelucrarea imaginilor aceste transformări nu
Constanta de scalare c este calculată astfel încât valoarea maximă de output să fie L-1. Folosim afectează domeniul de valori, care rămâne [0, L − 1].
formula Alte transformări neliniare pot fi obţinute prin folosirea unor funcţii de tip putere; şi acestea
au nivelele de gri extreme ca puncte fixe ((0, 0) şi (L − 1, L − 1)). O primă variantă este funcţia
L −1
c= , putere:
lg(1 + R )
r
 u 
unde R este valoarea maximă de intensitate întâlnită în imaginea iniţială. Înlocuind, obţinem v = T (u ) = ( L − 1)  
 L −1 
L −1
T (u ) = lg(1 + u )
lg(1 + R)

În modul general, dacă considerăm întreaga gamă de nivele de gri, R = L-1, formula de calul arată
astfel:
L −1
v = T (u ) = lg(1 + u )
lg L

Contrastul va varia neuniform de-a lungul scalei de intensităţi, mărindu-se la capătul inferior
(negru) şi micşorându-se la capătul superior (alb). Efectul fiind reducerea contrastului în regiunile
deschise şi deschiderea regiunilor închise.
După valorile parametrului-putere r se pot obţine două comportări diferite: pentru r < 1
comportarea este de acelaşi tip cu al funcţiei de compandare logaritmice, iar pentru r > 1
Gradul de compandare care este echivalent cu gradul de curbare a funcţiei de transformare, comportarea este de tipul funcţiei de expandare. Trebuie remarcat că legile de variaţie ale
poate fi controla prin ajustarea domeniul valorilor de input. Întrucât funcţia logaritmică devine contrastului vor fi însă diferite.
liniară aproape de origine, compresie este mică pentru o imagine cu valori mici de intrare Există o variantă la care se mai adaugă un punct fix (a, a), funcţia având două intervale de
definiţie:

7 8
  u r Pseudocolorare
a   , u ∈ [0, a ]
 a
v = T (u ) =  Pseudocolorarea este o tehnică de îmbunătăţire a vizibilităţii anumitor componente ale
 L −1 − u 
r

 L − 1 − ( L − 1 − a )  L − 1 − a  , u ∈ [a, L − 1]
imaginii (sau a imaginii în ansamblu) prin modificarea paletei de culoare cu care imaginea este
 afişată (reprezentată). Aceasta înseamnă că pentru anumite nivele de gri, afişarea nu se va mai face
cu culoarea a cărei componente sunt toate egale cu indexul (nivelul de gri), ci cu o altă culoare.
Această definiţie acoperă însă şi cazul operaţiilor de modificare a contrastului prezentate
anterior; funcţia v = T (u ) nu este altceva decât o funcţie de construcţie a unei noi palete de culoare
pentru aceeaşi imagine.
Ideea de bază în pseudocolorare este de a folosi culori pentru a pune în evidenţă zone de
interes din imagini cu nivele de gri (există şi varianta colorării false - false coloring, care transformă
o imagine color într-o altă imagine color, dar cu un contrast mult mai pronunţat şi artificial între
elementele sale). Această idee este normală dacă se are în vedere faptul că ochiul (sistemul vizual)
uman distinge ceva mai puţin de 256 nuanţe de gri, deşi diferenţiază câteva milioane de culori.

Figura 9. Modificarea neliniară a contrastului cu trei puncte fixe.

Negativare
Negativarea este o operaţie aritmetică simplă descrisă de:

v = T (u ) = L − 1 − u

Efectul acesteia de modificare a contrastului se bazează doar pe caracteristicile sistemului vizual Figura. Pseudocolorare pentru a evidenţia schimbări în tonalităţile de gri. Valori scăzute din
uman, pentru care contrastul depinde de diferenţa de luminozitate între pixeli aparţinând unui nivelelor de gri sunt transformate în negru şi albastru, iar nuanţele deschise de gri sunt transformate
obiect, respectiv fundalului, raportată la luminanţa medie a fundalului. în green, yellow, red, pink, white.
O categorie aparte de aplicaţii în care sunt utile asemenea inversiuni este analiza imaginilor
medicale, care pentru o analiză automată trebuiesc inversate; un astfel de exemplu este imaginea
angiografică din figura 10.

Figura. Nivele de gri din domeniul [180, 200] sunt afişate numai prin roşu.

Figura 10. Negativare de imagine.

9 10
La NASA, la începuturile erei digitale în tehnicile de achiziţie a imaginilor, era necesară
digitizarea unor imagini de microscopie, pentru care iluminarea era reglată manual, până la o
vizibilitate maximă a tuturor detaliilor. Pentru că operatorul nu putea distinge clar şi precis care era
iluminarea cea mai potrivit˘a (care nici nu producea suprailuminare şi nici nu lăsa umbre mai mari
decât era necesar), la afişarea în timp real a imaginii achiziţionate pe monitoarele de control, paleta
de griuri a fost modificată pe ultima poziţie (alb), unde s-a inserat roşu. Atunci instrucţiunile pentru
operator erau: creşte curentul prin lampă (iluminarea) până când în imagine apare roşu, după care
redu curentul până când culoarea roşie dispare.

Histograma
Histograma unei imagini digitale cu nivele de gri în domeniul [0, L − 1] este o funcţie
discretă h(rk ) = nk , unde
 rk - este al k-lea nivel de gri,
 nk - este numărul de pixel din imagine cu valoarea nivelului de gri egală cu rk .
O operaţie frecventă este normalizarea histogramei prin împărţirea fiecărei valori la numărul total
de pixel din imagine, fie acesta n. Normalizarea histogramei este dată de

p (rk ) = nk / n , pentru k = 0,1,..., L − 1 .

Cu alte cuvinte, p (rk ) dă o valoarea a probabilităţii de apariţie a nivelului de gri rk . Suma tuturor
componentelor unei histograme normalizate este egală cu 1.
Histograma stă la baza multor operaţii de vecinătate (spaţiale) folosite pentru îmbunătăţirea
imaginilor. În plus, prin ea putem obţine informaţii statistice utile altor operaţii de procesare,
precum compresia şi segmentarea imaginilor. Histogramele pot fi uşor implementate prin soft,
făcând din ele un instrument popular de procesare în timp real.
Imaginile din figura 1 arată patru caracteristici ale nivelelor de gri: închis (dark), deschis Figura 1. Patru tipuri de imagine cu histograma asociată: închis (dark), deschis (light), contrast slab
(light), contrast slab (low contrast), contrast puternic (high contrast). Axa orizontală a histogramei (low contrast), contrast puternic (high contrast).
corespunde cu valorilor nivelelor de gri rk . Axa verticală corespunde valorilor pentru h(rk ) = nk sau
p (rk ) = nk / n , dacă valorile sunt normalizate. Ca urmare, o imagine a cărei pixeli tind să acopere întreaga gamă de griuri şi în plus se
distribui uniform va avea un aspect de contrast puternic. Efectul fiind o imagine bogată în detalii la
În imaginea închisă componentele histogramei sunt concentrate în partea închisă a scalei de nivel de gri şi are un high dynamic range. Vom vedea că există o funcţie de transformarea care
griuri. La fel, componentele imaginii deschise sunt situate cu preponderenţă în partea deschisă a permite obţinerea automată a acestui efect, bazându-se doar pe informaţiile din histograma imaginii
scalei de griuri. O imagine cu contrast slab are o histogramă care se va concentra în mijlocul scalei iniţiale.
de giuri. Pentru imagini monocrome aceasta însemnând un aspect gri spălăcit. Componentele unei Din punct de vedere statistic, putem considera valoarea fiecărui pixel al imaginii ca o
imagini cu contrast puternic acoperă un domeniu larg de nivele de gri şi în plus, distribuţia pixelilor realizare particulară a unei variabile aleatoare asociată nivelelor de gri, caz în care histograma este
este aproape uniformă, cu doar câteva linii verticale mai înalte decât restul. funcţia de densitate de probabilitate a acestei variabile aleatoare. (Funcţia de densitate de
probabilitate indică probabilitatea observării unei valori.) Fiind o funcţie de densitate de
probabilitate, histograma oricărei imagini verifică condiţia de normare

L −1

∑ h(i) = 1 .
i =0

Egalizarea histogramei
Histograma imaginii oferă informaţii asupra plasamentului în „nuanţă” a conţinutului
imaginii. La majoritatea imaginilor există o distribuţie neuniformă a nivelelor de gri; există nivele
de gri predominante şi există nivele de gri folosite mai puţin sau deloc. Operaţiile de îmbunătăţire a
imaginilor (pentru îmbunătăţirea percepţiei vizuale) au ca scop redistribuirea nivelelor de gri, astfel
ca acestea să ocupe întreaga gamă de variaţie disponibilă, în mod uniform: aceasta este egalizarea
de histograma.

11 12
Scopul egalizării de histogramă este deci obţinerea unei distribuţii uniforme a nivelelor de Ca urmare, funcţia de densitate de probabilitate a variabilei transformate, s, este determinată
gri; imaginea rezultată va prezenta cea mai mare îmbunătăţire a contrastului, distribuit regulat în de funcţia de probabilitate a nivelului de gri a imaginii iniţiale şi de funcţia de transformare aleasă.
întreaga gamă dinamică a nivelelor de gri. Dacă transformarea este dată de
Din punct de vedere matematic, egalizarea de histogramă înseamnă transformarea unei
distribuţii oarecare (descrisă de histograma imaginii iniţiale) într-o distribuţie uniformă. r
s = T (r ) = ∫ pr ( w)dw ,
Fie r o variabilă care reprezintă nivele de gri a unei imagini. În discuţiile precedente am 0

văzut ce înseamnă normalizarea lui r la intervalul [0,1] , cu r = 0 reprezentând negru şi r = 1 alb dr 1


atunci substituind cu din formula de mai sus, obţinem ps ( s ) = 1 . Deci, este posibil să
(sau varianta discreta cu intervalul [0, L − 1] ). ds pr ( r )
Vom considera transformări de forma obţinem o histogramă distribuită uniform cu o transformare descrisă astfel. Partea dreaptă a ecuaţiei
este reorganizată ca funcţie cumulativă de probabilitate de variabilă aleatoare r. Întrucât funcţii de
s = T (r ) , cu 0 ≤ r ≤ 1 probabilitate de densitate sunt întotdeauna pozitive, şi integrala unei funcţii este aria de sub funcţie,
permite ca această funcţie de transformare să fie bijectivă şi monoton crescătoare, satisfăcând astfel
care produc un nivel s pentru fiecare valoare de pixel r din imaginea originală. Presupunem că condiţia a). De asemenea, integrala unei funcţii de probabilitate pentru variabile din domeniul [0,1]
funcţia de transformare satisface următoarele condiţii: se află tot în [0,1] , aşa că este satisfăcută şi condiţia b).
Se observă că T (r ) depinde de pr (r ) , dar rezultata ps ( s ) este întotdeauna uniformă,
a) T (r ) este bijectivă şi monoton crescătoare pe intervalul [0,1] , 0 ≤ r ≤ 1 ; şi
independent de forma lui pr (r ) .
b) 0 ≤ T (r ) ≤ 1 pentru 0 ≤ r ≤ 1 .
Pentru valori discrete se lucrează cu probabilităţi şi sume în loc de funcţii de densitate de
probabilitate şi integrale. Probabilitatea apariţiei nivelului de gri rk într-o imagine este aproximată
Condiţia a) este necesară pentru ca să existe transformarea (funcţia) inversă iar monotonia
păstrează ordinea crescătoare de la negru spre alb în imaginea rezultată. O funcţie care nu e prin
monoton crescătoare poate produce o secţiune inversată a gamei de intensităţi, producând astfel
nivele de gri inversate în imaginea transformată. nk
pr (rk ) = , k = 0,1, 2,..., L − 1 .
Condiţia b) garantează ca nivele de gri din imaginea transformată să fie din acelaşi domeniul n
ca în imaginea iniţială. Figura 2 arată o funcţie care satisface ambele condiţii.
Varianta discretă a funcţiei de transformare descrisă mai sus, este atunci:

k k nj
sk = T (rk ) = ∑ pr (rj ) = ∑ , k = 0,1, 2,..., L − 1 .
j =0 j =0 n

Aşadar, imaginea procesată este obţinută prin asocierea fiecărui pixel de nivel rk din
imaginea iniţială la un pixel corespunzător sk din imaginea finală. Această transformare (asociere)
se numeşte egalizare de histogramă sau liniarizare de histogramă.
Figura 2. Funcţie care satisface condiţiile a) şi b). Ţinând seama că valorile de gri sunt discrete, integrala se transformă în sumă şi această formă nu
este altceva decât histograma cumulativă a imaginii; dacă h este histograma imaginii, atunci
Transformarea inversă a lui T este notată r
H (r ) = ∑ h(i ) .
−1
r = T ( s ) cu 0 ≤ s ≤ 1 . i=0

Nivele de gri dintr-o imagine sunt valori aleatoare din intervalul [0,1] . Un descriptor Valorile funcţiei trebuie redistribuite în intervalul permis de valori de gri, ceea ce duce la o formulă
care exprimă noile valori de gri:
fundamental pentru o variabilă aleatoare este funcţia ei de densitate de probabilitate. Fie pr (r ) şi
ps ( s ) funcţia de densitate de probabilitate a variabilelor aleatoare r respectiv s. Din teoria  H (u ) − H (0) 
probabilităţii se ştie că dacă pr (r ) şi ps ( s ) sunt cunoscute şi T −1 ( s ) satisface condiţia a), atunci v= ( L − 1) + 0.5
 MN − H (0) 
funcţia de densitate de probabilitate ps ( s ) a variabilei transformate s (a nivelului gri transformat)
poate fi obţinută printr-o formulă de genul: Trebuie remarcat că modul de calcul al histogramei cumulative este de tip iterativ, bazându-se pe
formula H (r ) = H (r − 1) + h(r ) .
dr Spre deosebire de varianta continua, de obicei, nu poate fi demonstrat că această
ps ( s ) = pr ( r ) .
ds transformare discretă va produce echivalentul discret a unei funcţii uniforme de densitate de
probabilitate, ceea ce ar însemna o histogramă uniformă. Ecuaţia de mai sus are tendinţa de a

13 14
împrăştia (întinde) histograma imaginii iniţiale astfel ca nivelele histogramei imaginii egalizate să
acopere un domeniu mai larg din griuri.

Figura 3. Imagini cu egalizarea histogramei şi histograma egalizată.

Transformarea inversă din s în r este denotată astfel:

rk = T −1 ( sk ) , k = 0,1, 2,..., L − 1 .

Transformarea inversă nu este folosită la egalizarea histogramei, ea joacă însă un rol central în
histogram-matching (potrivirea de histogramă).

Algoritm de egalizare a histogramei pentru imagini monocrome

 Pentru fiecare pixel din imagine se culege valoare de gri în variabila i, hist[i ] = hist[i ] + 1 ,
unde i = 0, L − 1 .
 Din vectorul de histogramă, se alege frecvenţa cumulativă a histogramei
hist fc [i ] = hist fc [i − 1] + hist[i ] .
 Se generează histograma egalizată

 [( L * hist fc [i ]) − N 2 ] 
eqhist[i ] =  
 N2 

unde L este numărul de nivele de gri, N 2 este numărul de pixeli,  x  este o truncare a lui x
la cea mai apropiată valoare întreagă.
Se înlocuieşte valoarea de i cu eqhist[i ] pentru fiecare i. eqhist conţine noua asociere de nivele de
gri.

15
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe Pentru filtre spaţiale liniare, răspunsul este dat de suma produselor coeficienţilor filtrului şi
Catedra de Informatică pixelii corespunzători din imagine, aflaşi sub masca de filtru. Pentru masca 3x3 răspunsul, R, de
filtrare liniară cu masca de filtru la punctul (x, y) din imagine, este:
Disciplina: Grafică
Cadru didactic: Ralf Fabian R = w(−1, −1) f ( x − 1, y − 1) + w(−1, 0) f ( x − 1, y ) + ...
Specializarea: Informatică, anul III. + w(0, 0) f ( x, y ) + ... + w(1, 0) f ( x + 1, y ) + w(1,1) f ( x + 1, y + 1)

care este suma produselor între coeficienţii de mască şi pixelul corespunzător de sub mască.
Coeficientul w(0, 0) coincide cu valoarea de imagine f ( x, y ) , indicând că masca este centrată în
( x, y ) , în momentul în care are loc calcularea sumei de produse.
Operaţii cu vecinătăţi Pentru o mască de dimensiune m x n, se presupune că m = 2a + 1 şi n = 2b + 1 , unde a şi b
Unele operaţii cu vecinătăţi lucrează cu valorile pixelilor de imagine din vecinătatea lor şi cu sunt întregi nenegativi. În discuţiile ulterioare ne vom concentra asupra măştilor de dimensiune
valorile corespunzătoare a unei subimagini cu aceeaşi dimensiune ca vecinătatea. Subimaginea se impară, având cea mai mică dimensiune de 3 x 3.
numeşte şi filtru, mască, nucleu (kernel), template sau fereastră. Valorile dintr-o subimagine filtru Filtrarea liniară a unei imagini f de dimensiune M × N cu o mască de filtrare de m x n, este
sunt referite ca coeficienţi şi nu ca pixeli. Pentru asemenea operaţii vom folosit termenul de filtru dată de expresia:
spaţial.
Conceptul filtrului spaţial este ilustrat în figura 4. Procesul constă în simpla mutare a măştii a b

de filtru de la un punct la altul din imagine. La fiecare punct (x, y), răspunsul filtrului la acel punct g ( x, y ) = ∑ ∑ w(s, t ) f ( x + s, y + t )
s =− a s =− b
este calculat printr-o relaţie predefinită.
unde, a = (m − a ) / 2 şi b = (n − 1) / 2 . Pentru a genera o imagine filtrată în întregime, această ecuaţie
Figura 4. Mecanismul de
filtrare spaţială cu o trebuie aplicată pentru x = 0, M − 1 şi y = 0, N − 1
mască de 3x3. Uneori masca de filtru apare sub denumirea de mască de convoluţie. Dacă interesează
răspunsul R, a unei măşti m x n la orice punct (x, y) şi nu mecanica de implementare a măştii de
convoluţie, există o notaţie simplificată sub forma expresie:

mn
R = w1 z1 + w2 z2 + ... + wmn zmn = ∑ wi zi ,
i =1

unde w sunt coeficienţii de mască şi z sunt valorile nivelelor de gri din imagine corespunzătoare
coeficienţilor, iar mn este numărul total de coeficienţi din mască.
Filtrele spaţiale neliniare operează de asemenea pe vecinătăţi, şi folosesc acelaşi principiu
mecanic. De regulă, operaţia de filtrare se bazează doar condiţionat pe valoarea pixelilor din
vecinătate şi nu folosesc coeficienţii ca sumă de produse. De exemplu, reducerea zgomotului poate
fi obţinută printr-un filtru neliniar a cărei funcţionalitate de bază este să calculeze media nivelului
de gir din vecinătate, operaţie ce nu este liniară.

Filtrarea liniară de netezire


Filtrele de netezire sunt folosite pentru blurring (înceţuire) şi noise reduction (reducerea
zgomotului). Blurring este folosit în etape de preprocesare, precum eliminarea detaliilor minore
înainte de extragerea obiectelor şi eliminarea întreruperilor din linii sau curbe.
Răspunsul filtrării de netezire este simpla media a pixelilor conţinuţi în vecinătatea acoperită
de mască. Aceste filtre se mai numesc şi filtre de mediere (averaging filters) sau lowpass filters.

1 2
Rezultatul este o reducere a tranziţiilor „ascuţite” (bruşte) de nivele de gri din imagine. Întrucât
zgomotul aleatoriu este de regulă caracterizat prin asemenea tranziţii bruşte, această metodă se
potriveşte bine la eliminarea lui. Pe de altă parte, este contraproductivă dacă se urmăreşte detecţia
contururilor, întrucât şi ele se bazează pe schimbări bruşte în nivelele de griuri.
O altă aplicaţia a acestei metode este netezirea contururilor false, rezultate în urma utilizării
unui număr insuficient de nivele de gri.
Filtrele de mediere sunt folosite cu preponderenţă la eliminarea detaliilor irelevante. Prin
irelevant se înţelegi regiuni de pixeli considerate ca mici în raport cu dimensiunea măştii de filtrare.

Figura 5. Filtre de a) medie aritmetică, b) medie ponderată în funcţie de distanţa din centru.

Figura 5 arată două filtre de netezire 3x3. Primul, a), produce media standard a pixelilor de
sub mască, ceea ce reiese şi prin substituirea coeficienţilor măştii în ecuaţia de mai sus, obţinând

1 9
R= ∑ zi ,
9 i =1

care este media nivelelor de gri a pixelilor din vecinătatea 3x3 definită de mască. Se observă că în
loc ca coeficienţii să fie 1/9, ei sunt toţi 1. Ideea este că calculul devine mai eficient dacă
coeficienţii sunt toţi 1, iar doar la sfârşitul filtrării se împarte întreaga imagine la 9. Un filtru spaţial
de netezire în care toţi coeficienţii sunt egali se numeşte uneori box filter.
A doua imagine din figura 5 b) produce un filtru de medie ponderată (weighted average),
însemnând că pixelii sunt înmulţiţi cu coeficienţi diferiţi, dând astfel mai multă importanţă
(pondere) unora dintre pixeli. Pixelul din centrul măştii este înmulţit cu o valoare mai mare decât
ceilalţi, dând-ui o mai mare importanţă în calcularea mediei. Ceilalţi pixeli sunt invers ponderaţi, în
funcţie de distanţa lor faţă de centrul măştii. Această variantă de mască, reprezintă o variantă simplă
de a reduce efectul de blurring în procesul de netezire.
Figura 6. Filtru de netezire cu masca de diferite dimensiuni.
În practică, sunt greu de observat diferenţele de filtrare ale acestor două filtre, întrucât aria
pe care lucrează în imagine, este foarte mică.
O aplicaţie importantă a medierii spaţiale este blurring-ul unei imagini pentru a obţine o
Implementarea generală a filtrării unei imagini de M × N cu un filtru de medie ponderată de
reprezentare brută (grosolană) a obiectelor de interes. Astfel ca intensitatea obiectelor mici se
dimensiune m x n (m, n impare) este dată de expresia
contopeşte cu fundalul iar obiectele mari devin pronunţate şi uşor sesizabile. Dimensiune măştii
a b
determină dimensiunea relativă a obiectelor care se contopesc cu fundalul. Figura 7 arată o imagine
∑ ∑ w(s, t ) f ( x + s, y + t ) a telescopului Hubble cu rezultatul aplicării unei măşti de mediere 15x15. Observăm că un număr
de obiecte sau contopit cu fundalul sau intensitatea lor s-a redus considerabil. Aplicând un
g ( x, y ) = s =− a s =− b
a b
.
thresholding de 25% a intensităţii maxime, se elimină resturile de obiecte în funcţie de intensitatea
∑ ∑ w( s, t )
s =− a s =− b
lor. În final se obţine un rezultat rezonabil ce indică care sune elementele cele mai mari şi
luminoase din imagine.
Efectul de netezire ca rezultat a diferitelor dimensiuni ala măştii este ilustrat în figura 6. Ea
arată imaginea originală şi rezultatul unui filtru de mediere de dimensiune n = 3,5, 9,15,35 pixeli.
Pentru n = 3 se observă un blurring general pe întreaga imagine, în care elemente de dimensiune
apropiată cu cea a filtrului sunt considerabil afectate. Rezultatul fiind eliminarea zgomotului prin
contopirea lui cu fundalul.

3 4
Imagini binare
O imagini poate fi binară, gri, sau color. Pixelii dintr-o imagine binară pot avea doar două
valori 0 sau 1; o imagine gri poate fi cuantificată printr-un număr de nivele de intensitate; iar o
imagine color poate fi cuantificată în diverse benzi de culori. Odată ce creşte numărul nivelelor de
intensitate, imaginea este reprezentată cu o precizie mai mare, dar în aceeaşi măsură creşte şi cerinţa
de memorie. Aşadar, din acest punct de vedere, imaginile binare sunt mai puţin costisitoare.
Exemple de imagini binare pot fi: schiţe, desene cu linii, text pe hârtie alba, siluete, etc. Ele conţin
destule informaţii despre obiectul reprezentat şi permit o uşoară recunoaştere a lui.

Figura 7. Imagine NASA a telescopului Hubble cu filtru de medie şi thresholding. Proprietăţi geometrice
Proprietăţi geometrice ale imaginilor binare precum, conectivitate, proiecţie, arie, perimetru,
Un caz particular de interes este considerarea regiunilor constante (absolut uniforme) ale sunt componente importante în procesarea imaginilor binare.
imaginii; în aceste regiuni toţi pixelii vor avea aceeaşi valoare, şi deci uniformitatea nu mai poate fi Un obiect dintr-o imagine binară este o mulţime conexă de pixeli de valoare 1. Următoarele
îmbunătăţită. În acelaşi timp, operaţia de filtrare de netezire trebuie să păstreze această valoare definiţii sunt strâns legate de conectivitatea pixelilor într-o imagine binară.
constantă a pixelilor (pe care o vom nota cu µ ); înlocuind în formula de definiţie a filtrării, • Pixeli conectaţi: Un pixel P0 , la poziţia (i0 , j0 ) , este conectat cu un alt pixel Pn la (in , jn )
obţinem: dacă şi numai dacă există un drum de la P0 la Pn , ca secvenţă de puncte
mn mn (i0 , j0 ), (i1 , j1 ),..., (in , jn ) , astfel încât pixelul de la (ik , jk ) să fie vecin pixelului (ik +1 , jk +1 ) şi
µ = ∑ wi µ , adică ∑w i =1 Pk = Pk +1 , pentru orice 0 < k < n − 1 .
i =1 i =1
• 4-conectat: Dacă un pixel la locaţia (i, j ) are doi vecini imediaţi la (i + 1, j ) , (i − 1, j ) ,
Această condiţie (suma coeficienţilor măştii de filtrare să fie unitară) se numeşte condiţia de (i, j + 1) şi (i, j − 1) , atunci aceştia se numeşte 4-conectaţi.
normare a nucleelor de filtrare de netezire şi defineşte un astfel de nucleu. • 8-conectat: Dacă un pixel la locaţia (i, j ) are în plus, faţa de cei patru vecini imediaţi de
Nucleele de filtrare folosite nu trebuie limitate strict la nucleele ce realizează media
mai sus, un set de patru vecini de colţ la (i + 1, j + 1) , (i + 1, j − 1) , (i − 1, j − 1) şi (i − 1, j − 1) ,
aritmetică într-o vecinătate pătrată, centrată în punctul considerat. Măştile următoare realizează
medieri ponderate: atunci ei se numesc 8-conectaţi.
• Componentă conectată: O mulţime de pixeli conectaţi (4 sau 8-conectaţi) formează o
componentă conectată. O astfel ce componentă reprezintă un obiect dintr-o scenă.
• Fundal: Mulţimea de componente conectate de pixeli cu valoarea 0 formează fundalul
(background).

Nucleul de filtrare poate avea orice formă, în acelaşi timp însă, practica a demonstrat
suficienţa considerării unor forme regulate (pătrate, centrate) pentru mască. Orice mască poate fi
extinsă cu puncte ce au ataşat un coeficient nul, pentru a rezulta o mască pătrată centrată; spre
exemplu, masca W4 poate fi scrisă şi ca
Figura 1. (a) pixeli 4-conectaţi, (b) pixeli 8-conectaţi, (c) componentă conectată şi fundal.

5 6
Odată ce un obiect este identificat, se pot defini unele atribute ale sale în felul următor:

• Aria unui obiect: Aria unui obiect binar este dată de


un obiect
A = ∑∑ O[i, j ] ,
i j

unde O (i, j ) reprezintă pixelii obiectului (binar 1). Aşadar, aria e calculată ca umărul total
de pixeli obiect din obiect.

• Locaţia unui obiect: Locaţia unui obiect este, în general, dată de centrul lui de greutate
astfel:

xc =
∑ ∑ [iO(i, j )] ,
i j
yc =
∑ ∑ [ jO(i, j )] ,
i j

A A

unde xc şi yc sunt coordonatele centrului obiectului şi A este aria obiectului.

• Orientarea unui obiect: Dacă obiectul are o formă longitudinală, axa alungirii longitudinale
reprezintă orientarea obiectului. Axa longitudinală este o linie dreaptă cu proprietatea că
suma pătratelor distantelor la toate obiectele (punctele) este minima. Distanta se refera la
perpendiculara din punct (de la obiect) la linie. Figura 2. Histograma unui obiect binar pe axele orizontale şi verticale.

• Perimetrul unui obiect: Pentru calcului perimetrului uni obiect, se identifică pixelii de
frontieră a unui obiect care acoperă o arie. Perimetrul este definit ca fiind suma acestor Reprezentarea obiectelor binare prin chain code (cod înlănţuit)
pixeli de frontieră.
Un mod eficient de reprezentare a unui obiect dintr-o imagine binară îl reprezintă chain
• Proiecţia unui obiect pe o linei: Proiecţiile unei imagini binare oferă informaţii bune asupra code-ul (codul înlănţuit). Fiecare pixel marginal al unui obiect are, ca vecin, cel puţin un pixel
unei imagini. Proiecţiile pot fi calculate pe orizontală, verticală sau diagonală. Proiecţia marginal adiacent, astfel ca direcţia următorului pixel marginal faţă de cel curent este specificat de
orizontală se obţine prin numărare pixelilor de obiect pe fiecare coloană a imaginii binare, în un număr unic între 1 şi 8. Fiecare număr reprezentând una din 8 direcţii posibile, conform figurii
timp ce numărul total de pixeli obiect, pe fiecare coloană dă proiecţia verticală , având 3(a). Acest mod de reprezentare este eficient întrucât fiecare direcţie poate fi codificată pe 3 biţi.
astfel: Codul parţial pentru marginea imaginii binare din figura 3(b) este „…7 7 7 7 7 7 8 7 7 7 8 7 7 7 7 7
77877877777777877887878881888188181818181818188811881
Phor = ∑ O(i, j ) , Pver = ∑ O(i, j ) 8 1 8 1 8 1 7 7 1 7 1 7 7 7 7 7 7 7 7 7 7 6 7 6 6 6 7 6 6 7 7 7 7 …”
j i Figura 3(c) ilustrează segmentele dominante de-a lungul conturului imaginii binare.
În figura 2 este reprezentată histograma obiectului binar pe axele orizontale şi verticale în
termeni de număr de pixeli obiect proiectaţi pe axele corespunzătoare. Fiecare pătrat de grilă
din obiect reprezintă un pixel obiect. Suma numerelor de pixeli proiectaţi pe fiecare din axe
furnizează aria obiectului binar. Din figura 2 se observă că Phor = Pver = 59 , adică aria
obiectului. Dacă există un singur obiect în scenă, fiecare din Phor sau Pver desemnează aria
obiectului.

OBS: Întrucât imagini diferite pot avea aceeaşi proiecţie, proiecţia nu este un atribut unic al
unui obiect.

Figura 3. (a) chain code, (b) imagine binară, (c) segmente dominante de-a lungul conturului.

Fie două modele de forme date cu două obiecte şi chain codurile lor. Pentru a determina
similaritatea în formă şi orientare a obiectelor, se poate obţine o măsură a similarităţii, în felul
următor:

7 8
Dacă C ' şi C " două chain coduri de lungime m respectiv n, şi m ≤ n , atunci intercorelarea
între cele doua coduri este dată de:

1 n
RC ',C " ( j ) = ∑ cos[C '(i) − C "((i + j ) mod n)π / 4]
m j =1

Valoarea j la care RC ',C " ( j ) atinge valori maxime, determină segmentul de chain cod a lui C " care
se potriveşte cel mai bine cu C ' . Se observă că dacă C ' şi C " sunt identice, atunci intercorelarea
lor este 1.

Operaţii logice pe imagini binare

9
Universitatea „Lucian Blaga” din Sibiu
Facultatea de tiine x Fundal: Mulimea de componente conectate de pixeli cu valoarea 0 formeaz fundalul
Catedra de tiina Calculatoarelor i Informatic Economic
(background).

Disciplina: Procesarea imaginilor


Cadru didactic: Ralf Fabian
Specializarea: Informatic Economic, anul II.

Procesarea imaginilor binare


1. Proprieti geometrice Figura 1. (a) pixeli 4-conectai, (b) pixeli 8-conectai, (c) component conectat i fundal.
2. Reprezentarea obiectelor binare prin chain code (cod înlnuit)
3. Operaii logice pe imagini binare Odat ce un obiect este identificat, se pot defini unele atribute ale sale în felul urmtor:
4. Transformri morfologice de baz
4.1 Dilatare morfologic
x Aria unui obiect: Aria unui obiect binar este dat de
4.2 Erodare morfologic
5. Opening and closing (deschidere i închidere)
A ¦¦ O[i, j ] ,
i j

unde O(i, j ) reprezint pixelii obiectului (binar 1). Aadar, aria e calculat ca umrul total
O imagini poate fi binar, gri, sau color. Pixelii dintr-o imagine binar pot avea doar dou
valori 0 sau 1; o imagine gri poate fi cuantificat printr-un numr de nivele de intensitate; iar o de pixeli obiect din obiect.
imagine color poate fi cuantificat în diverse benzi de culori. Odat ce crete numrul nivelelor de
intensitate, imaginea este reprezentat cu o precizie mai mare, dar în aceeai msur crete i cerina x Locaia unui obiect: Locaia unui obiect este, în general, dat de centrul lui de greutate
de memorie. Aadar, din acest punct de vedere, imaginile binare sunt mai puin costisitoare. astfel:
Exemple de imagini binare pot fi: schie, desene cu linii, text pe hârtie alba, siluete, etc. Ele conin
destule informaii despre obiectul reprezentat i permit o uoar recunoatere a lui.
xc
¦ ¦ [iO(i, j )] ,
i j
yc
¦ ¦ [ jO(i, j )] ,
i j

A A
1. Proprieti geometrice unde xc i yc sunt coordonatele centrului obiectului i A este aria obiectului.

Proprieti geometrice ale imaginilor binare precum, conectivitate, proiecie, arie, perimetru, x Orientarea unui obiect: Dac obiectul are o form longitudinal, axa alungirii longitudinale
sunt componente importante în procesarea imaginilor binare. reprezint orientarea obiectului. Axa longitudinal este o linie dreapt cu proprietatea c
Un obiect dintr-o imagine binar este o mulime conex de pixeli de valoare 1. Urmtoarele suma ptratelor distantelor la toate obiectele (punctele) este minima. Distanta se refera la
definiii sunt strâns legate de conectivitatea pixelilor într-o imagine binar. perpendiculara din punct (de la obiect) la linie.
x Pixeli conectai: Un pixel P0 , la poziia (i0 , j0 ) , este conectat cu un alt pixel Pn la (in , jn )
dac i numai dac exist un drum de la P0 la Pn , ca secven de puncte x Perimetrul unui obiect: Pentru calcului perimetrului uni obiect, se identific pixelii de
(i0 , j0 ), (i1 , j1 ),..., (in , jn ) , astfel încât pixelul de la (ik , jk ) s fie vecin pixelului (ik 1 , jk 1 ) i frontier a unui obiect care acoper o arie. Perimetrul este definit ca fiind suma acestor
pixeli de frontier.
Pk Pk 1 , pentru orice 0  k  n  1 .
x 4-conectat: Dac un pixel la locaia (i, j ) are doi vecini imediai la (i  1, j ) , (i  1, j ) , x Proiecia unui obiect pe o linei: Proieciile unei imagini binare ofer informaii bune asupra
(i, j  1) i (i, j  1) , atunci acetia se numete 4-conectai. unei imagini. Proieciile pot fi calculate pe orizontal, vertical sau diagonal. Proiecia
x 8-conectat: Dac un pixel la locaia (i, j ) are în plus, faa de cei patru vecini imediai de orizontal se obine prin numrare pixelilor de obiect pe fiecare coloan a imaginii binare, în
mai sus, un set de patru vecini de col la (i  1, j  1) , (i  1, j  1) , (i  1, j  1) i (i  1, j  1) , timp ce numrul total de pixeli obiect, pe fiecare coloan d proiecia vertical , având
astfel:
atunci ei se numesc 8-conectai.
x Component conectat: O mulime de pixeli conectai (4 sau 8-conectai) formeaz o
component conectat. O astfel ce component reprezint un obiect dintr-o scen. Phor ¦ O(i, j ) , P
j
ver ¦ O(i, j )
i

1 2
În figura 2 este reprezentat histograma obiectului binar pe axele orizontale i verticale în
termeni de numr de pixeli obiect proiectai pe axele corespunztoare. Fiecare ptrat de gril
din obiect reprezint un pixel obiect. Suma numerelor de pixeli proiectai pe fiecare din axe
furnizeaz aria obiectului binar. Din figura 2 se observ c Phor Pver 59 , adic aria
obiectului. Dac exist un singur obiect în scen, fiecare din Phor sau Pver desemneaz aria
obiectului.

OBS: Întrucât imagini diferite pot avea aceeai proiecie, proiecia nu este un atribut unic al
unui obiect.

Figura 3. (a) chain code, (b) imagine binar, (c) segmente dominante de-a lungul conturului.

Fie dou modele de forme date cu dou obiecte i chain codurile lor. Pentru a determina
similaritatea în form i orientare a obiectelor, se poate obine o msur a similaritii, în felul
urmtor:
un obiect Dac C ' i C " dou chain coduri de lungime m respectiv n, i m d n , atunci intercorelarea
între cele doua coduri este dat de:

1 n
RC ',C " ( j ) ¦ cos[C '(i)  C "((i  j ) mod n)S / 4]
m j1

Valoarea j la care RC ',C " ( j ) atinge valori maxime, determin segmentul de chain cod a lui C " care
se potrivete cel mai bine cu C ' . Se observ c dac C ' i C " sunt identice, atunci intercorelarea
lor este 1.

3. Operaii logice pe imagini binare

Figura 2. Histograma unui obiect binar pe axele orizontale i verticale.

2. Reprezentarea obiectelor binare prin chain code (cod înlnuit)

Un mod eficient de reprezentare a unui obiect dintr-o imagine binar îl reprezint chain
code-ul (codul înlnuit). Fiecare pixel marginal al unui obiect are, ca vecin, cel puin un pixel
marginal adiacent, astfel ca direcia urmtorului pixel marginal fa de cel curent este specificat de
un numr unic între 1 i 8. Fiecare numr reprezentând una din 8 direcii posibile, conform figurii
3(a). Acest mod de reprezentare este eficient întrucât fiecare direcie poate fi codificat pe 3 bii.
Codul parial pentru marginea imaginii binare din figura 3(b) este „…7 7 7 7 7 7 8 7 7 7 8 7 7 7 7 7
77877877777777877887878881888188181818181818188811881
8 1 8 1 8 1 7 7 1 7 1 7 7 7 7 7 7 7 7 7 7 6 7 6 6 6 7 6 6 7 7 7 7 …”
Figura 3(c) ilustreaz segmentele dominante de-a lungul conturului imaginii binare.

3 4
4.1 Dilatare morfologic
Definiia 1. Fie X , B Ž ] n . Mulimea

X † B {d  ] n | x  X , b  B cu d x  b}

se numete dilatarea mulimilor X prin B.

X †B

4. Transformri morfologice de baz

Morfologia matematic, dup cum indic i numele (morphos – form, logos – tiin, deci
tiina formelor), realizeaz o abordare axat pe form a prelucrrii imaginilor. Folosit
corespunztor, morfologia matematic conduce la prelucrri ce simplific structura imaginii,
pstrând caracteristicile eseniale de form i eliminând irelevanele.
Ideea de baz a oricrei prelucrri morfologice este considerarea imaginii ca un ansamblu
(mulime, reuniune de pri) asupra cruia se aplic transformri a cror esen este comparaia cu X †B
mulimi (ansambluri) mai simple, numite elemente structurante. Scopul acestor transformri este
extragerea de forme mai simple din formele iniiale (complexe) ale imaginii.
B
Morfologia matematic este utilizat ca o abordare natural a proceselor de vedere
artificial, deoarece trsturile i respectiv identificarea obiectelor sunt corelate cu forma lor.
Principalele aplicai sunt în domeniile roboticii, microscopiei electronice, imagisticii
biomedicale, telemetriei, inspeciei automate a produselor, analizei de scen.
Fie ] mulimea numerelor întregi i ] n ] u ] u
 ] u ... u

] . Imaginile binare se pot Figura 4 arat o mulime A, un element structurant B i reflecia lui (punctul indic originea
n  ori elementului). În primul caz, elementul structurant i reflecia lui sunt egale, întrucât B este simetric
reprezenta ca submulimi ale lui ] 2 , formate din coordonate care descriu punctele imaginii. în raport cu originea lui. Linia punctat arat mulimea iniial iar linia continua mulimea rezultat,
În continuare se introduc unele operaii elementare, ce au o importan major în prelucrarea adic, limita dup care orice translaie a originii lui B cu h va produce mulimea vid. Aadar, toate
de imagini întrucât: punctele din aceast limit constituie dilatarea lui X prin B. Al doilea caz arat un element
x Operaii complexe de procesare a imaginilor pot fi reduse la aceste operaii de baz; structurant care este conceput pentru a produce o dilatare vertical mai mare.
x Aceste metode sunt în mare msur executabile în paralel.

Fie X Ž ] n unde h  ] n ,

Xh {d  ] n | x  X cu d x  h} (translaie) (  cu îneles de adunare vectorial)

i X { x | x  X } (reflecia)
XC ]n \ X .

Figura 5. Exemplu de aplicare e dilatrii la text degradat.

5 6
Exemplu 1. Proprieti:
X {(0, 1), (1, 1), (2, 1), (2, 2), (3, 0), (4, 0)} Fie ( X , Y , B, D Ž ] n , h  ] n ), atunci:
B {(0, 0), (0, 1)} x X †B B† X
X † B {(0, 1), (1, 1), (2, 1), (2, 2), (3, 0), (4, 0), (0, 2), (1, 2), (2, 2), (2, 3), (3, 1), (4, 1)} x X † ( B † D) ( X † B) † D
X: x X † B ‰ Xb
bB

x X h † B ( X † B) h
x X ŽY Ÿ X †B ŽY †B
x ( X ˆ Y ) † B Ž ( X † B) ˆ (Y † B)
x B † ( X ‰ Y ) ( X † B) ‰ (Y † B)

Observaii:
x B se mai numete i element de structur i este de regul mai mic decât X;
B:
x în urma unei dilatri de regul se mrete obiectul, acesta crete sau „se umfl”,
corespunztor formei i dimensiunii elementului de structur;
X †B: x Este posibil reuniunea grupurilor de elemente, umplerea golurilor, sau închiderea
crpturilor.
x metod simpl de detectarea a contururilor este ( X † B) \ X , rezultatul îns nu conine
elemente din X.

4.2 Erodare morfologic


Definiia 2. Fie X , B Ž ] n . Mulimea
reprezint originea (0,0). X  B {d  ] n | b  B Ÿ d  b  X }
Exemplu 2. se numete erodarea mulimilor X prin B.
X {(1,1), (2,1), (3,1)} Cu alte cuvinte, erodarea mulimii X prin B este mulimea tuturor punctelor d astfel încât, B
B {(0, 1), (0,1)} translatat cu d, s fie coninut în X.
X † B {(1, 0), (2, 0), (3, 0), (1, 2), (2, 2), (3, 2)}
X:

B
X B
X
B:

X †B:

X B
B

Figura 6. Similar cu figura 4, dar pentru eroziune.

7 8
Exemplu 3. Observaii:
X {(0,1), (1,1), (2,1), (3, 0), (3,1), (3, 2), (3,3), (4,1)} x Prin erodare se elimin complet poriuni subiri sau elemente mici, a cror dilataie
B {(0, 0), (0,1)} geometric e mai mic decât cea a elementului de structur;
X  B {(3, 0), (3,1), (3, 2)} x Efectul erodrii este o micorare a obiectului. Modificarea dimensiunii obiectului este strict
X: determinat de forma elementului structurant: un element structurant simetric (disc, segment
de dreapt centrat în origine) provoac o modificare simetric a dimensiunilor; dac
elementul structurant nu este simetric, efectele se vor manifesta asupra obiectului pe direcia
elementului structurant i în sens contrar acestuia.
x Este de asemenea util la detectarea contururilor prin X \ ( X  B) .

5. Opening and closing (deschidere i închidere)

B: Dup cum s-a vzut, erodarea i dilatarea nu sunt transformri inverse una alteia (deci
alternarea lor va produce un rezultat diferit de mulimea original ce a fost prelucrat).
Aceast observaie conduce la ideea utilizrii unor iterri ale operaiilor morfologice de
X B: baz, obinând astfel operaii mai complexe, ale cror proprieti le fac mai adecvate utilizrii în
scopuri practice.
Deschiderea morfologic a mulimii X prin elementul structurant B se definete ca erodarea
mulimii cu elementul structurant respectiv, urmat de dilatarea cu elementul structurant.
Închiderea morfologic a mulimii X prin elementul structurant B se definete ca dilatarea
mulimii cu elementul structurant respectiv, urmat de erodarea cu elementul structurant.

Exemplu 4.
X {(0, 1), (0, 2), (0, 3), (0, 4), (1, 1), (1, 3), (1, 4), (1, 5), (2, 0), (2, 1),
(2, 2), (2, 3), (2, 4), (3, 1), (3, 4), (4, 1), (4, 2), (4, 3), (4, 4), (5, 4)}
B {(1, 1), (1, 0), (1, 1), (0, 1)(1, 1), (1, 0), (1, 1)}
X  B {(1, 2), (3, 2)}
X: B: X B:

Proprieti: Observaii:
x X  B {d  ] n | Bd Ž X } x Prin deschidere, formele mai mici ca elementul structurant folosit vor fi eliminate, se lrgesc
x X  B ˆ X b golurile înglobate în obiecte, contururile sunt netezite iar obiectele unite prin istmuri sunt
bB
separate. Datorit proprietii de dualitate, închiderea va avea aceleai efecte asupra
x (0, 0,..., 0)  B Ÿ X  B Ž X fundalului (complementarei obiectelor) pe care le are deschiderea asupra mulimilor.
x X h  B ( X  B)h x Închiderea umple golurile înglobate în obiecte (dac aceste guri sunt mai mici decât
x ( X  Y )C X C † Y elementul structurant folosit), netezete contururile formelor prin umplerea concavitilor i
unete obiectele foarte apropiate (umple “strâmtorile”).

9 10
Exemplu 5. Urmtoarea figur ilustreaz efectele aplicrii repetate a transformrilor morfologice. X: B: X B:

X DB:

Figura 7. (a) Imaginea original de test, (b) dup dou cicluri de erodare, (c) dup patru cicluri, (d)
dup apte cicluri (entitile sunt acum complet separate), (e) patru cicluri de dilatare aplicate
imaginii d (entitile se vor unifica la urmtorul ciclu), (f) cicluri suplimentare de dilatare
necombinatoare restricionat la locaia original a pixelilor, ceea ce restaureaz marginile Exemplu 8.
obiectelor. X {(1, 1), (1, 2), (1, 3), (1, 4), (2, 3), (3, 1), (3, 2), (3, 3), (3, 4), (4, 1), (4, 3), (4, 4)}
B {(1, 1),..., (1,1)}
Exemplu 6. Imaginile urmtoare prezint efectul închiderii pe o imagine cu fibre.
X † B {(0, 0),..., (5,5)}
X x B {(1,1),..., (1, 4), (2,1),..., (2, 4), (3,1),..., (3, 4), (4,1),..., (4, 4)}
X: B: X xB:

Figura 8. (a) Imaginea original, (b) varianta binar, (c) dup aplicarea unei închideri.

Definiia 3. Fie X , B Ž ] n . Mulimea


Proprieti:
x Proprietatea de baz a deschiderii i închiderii morfologice este aceea c sunt transformri
X DB ( X  B) † B duale una alteia (proprietate ce deriv din dualitatea blocurilor constituente de baz,
dilatarea i erodarea). Aceast proprietate permite interpretarea rezultatelor unei operaii i
se numete opening (deschidere) a mulimilor X i B, iar mulimea deducerea proprietilor acesteia pe baza caracteristicilor dualei sale.
( X D B)C X C x B i ( X x B)C X C D B .
X xB ( X † B)  B
x X DBŽ X
se numete closing (închidere) a mulimilor X i B. x X Ž X xB
x X D B ( X D B) D B
Exemplu 7. x X x B ( X x B) x B
X {(0, 0),..., (0,3), (1, 0),..., (1,3), (1,5), (2, 0),..., (2,3), (3, 0),..., (3,5), (5,1), (5, 2)} x (( X † B )  B) † B X † B
B {( 1, 1),..., (1,1)} x (( X  B) † B)  B X  B
X  B {(1,1), (1, 2), (2,1), (2, 2)} x X D B {x  X | t  X  B cu x  Bt }
X D B {(0, 0),..., (0,3), (1, 0),..., (1,3), (2, 0),..., (2,3), (3, 0),..., (3,3)}

11 12
Universitatea „Lucian Blaga” din Sibiu
Facultatea de tiine
Catedra de tiina Calculatoarelor i Informatic Economic
Pentru o conexitate de tip N8 fiecare pixel al imaginii are opt vecini (ce formeaz vecintatea
extins a punctului). Vecintatea extins a punctului f (m, n) este:
Disciplina: Procesarea imaginilor
Cadru didactic: Ralf Fabian N8 (m, n) V4 (m, n) ‰ { f (m  1, n  1), f (m  1, n  1), f (m  1, n  1), f (m  1, n  1)}
Specializarea: Informatic Economic, anul II.

Etichetarea imaginilor binare

Într-o imagine binar pixelii pot lua doar dou valori: 0 sau 1. De regul, valoarea 1 este
considerat ca punct al obiectului din imagine iar 0 ca valoare de fundal. O asemenea imagine
Etichetarea secvenial iterativ
binar se regsete de regul la finalul unui lan de prelucrri, coninând, marcate cu 1, poziiile la Etichetarea secvenial iterativ, (region tracking), este cea mai simpl metod de etichetare.
care în scena iniial se afl un obiect de interes. Etichetarea imaginilor binare urmrete Aceast metod se compune din mai multe perechi de baleiaje succesive ale imaginii, care se
identificarea i separarea obiectelor individuale din scen, adic marcarea tuturor punctelor ce încheie în momentul stabilirii etichetelor definitive ale obiectelor. Fiecare pereche de baleiaje se
aparin unui anumit obiect cu o etichet unic, diferit de etichetele celorlalte obiecte prezente. compune dintr-un baleiaj direct (în ordinea normal de parcurgere a unei imagini, deci pe linii, de la
stânga la dreapta i de sus în jos) i un baleiaj invers (pornind din colul din dreapta jos al
imaginii, o parcurgere pe linii de la dreapta la stânga i de jos în sus). La fiecare trecere prin
imagine (baleiaj), pentru punctele de tip obiect, se execut o aceeai structur algoritmic
simpl:
¾ dac punctul curent are predecesori (în ordinea de baleiaj curent) deja etichetai,
atunci punctul curent capt o etichet identic cu eticheta minim a predecesorilor si;
¾ dac nu are predecesori deja etichetai, atunci i se atribuie o nou etichet (dac baleiajul
curent este primul baleiaj direct executat) sau eticheta sa rmâne neschimbat (dac
baleiajul curent nu este primul baleiaj executat). Etichetele noi se obin prin incrementarea
cu 1 a etichetei maxime existente. Prima etichet are valoarea 1.
Algoritmul se încheie atunci când dup o pereche de baleiaje (direct i invers), etichetele nu se
mai modific.
Predecesorii unui punct sunt pixelii imaginii, din vecintatea extins sau imediat a punctului
Figura 1. Exemplu de etichetare cu reprezentarea grafic a obiectelor detectate (în acest caz considerat, ce au fost deja parcuri (vizitai) în baleiajul curent. Astfel, pentru baleiajul direct,
etichetele sunt date de culorile alese). predecesorii punctului f (m, n) , în conectivitate N 4 sunt:

Un obiect individual este o component conectat distinct. Eticheta poate fi un numr sau PredV4 (m, n) { f (m  1, n), f (m, n  1)} ,
un ir de simboluri.
Esena algoritmilor de etichetare a imaginilor binare este detecia adiacentelor locale între
punctele unui aceluiai obiect i definirea etichetei punctului curent în funcie de etichetele vecinilor iar conectivitatea N8 :
acestuia. Vecinii unui punct sunt determinai de tipul de conexitate adoptat: conexitate de tip N 4 sau
de tip N8 . PredV8 (m, n) { f (m  1, n  1), f (m  1, n), f (m  1, n  1), f (m, n  1)} .
Pentru o conectivitate de tip N 4 fiecare pixel al imaginii are patru vecini (ce formeaz
Pentru baleiajul invers, predecesorii punctului f (m, n) , în conectivitate N 4 sunt:
vecintatea imediat a punctului). Vecintatea imediat a punctului f (m, n) este:
N 4 (m, n) { f (m  1, n), f (m  1, n), f (m, n  1), f (m, n  1)}
PredV4 (m, n) { f (m  1, n), f (m, n  1)} ,

iar conectivitatea N8 :

PredV8 (m, n) { f (m  1, n  1), f (m  1, n), f (m  1, n  1), f (m, n  1)} .

1 2
În pseudocod, algoritmul poate fi scris astfel: imaginii, dar aceasta informaie poate fi înscris într-un tabel de corespondene a crui utilizare va
reduce numrul de baleiaje necesar la numai dou (un baleiaj direct pentru iniializarea etichetelor i
DO un al doilea baleiaj direct pentru calcularea etichetelor finale din tabelul de echivalen), indiferent
baleiaj direct: de coninutul imaginii.
IF punctul curent este punct de obiect THEN Fie T tabelul de coresponden între etichete; la pornirea algoritmului, fiecare intrare a
IF punctul curent are predecesori etichetai THEN tabelului este iniializat cu valoarea indicelui acesteia (T(j) = j). Actualizarea tabelului se face în
punctul curent ia eticheta minim a predecesorilor dou situaii:
ELSE ¾ dac punctul curent nu are nici un predecesor punct de obiect, atunci acesta trebuie s
IF acesta este primul baleiaj direct THEN primeasc o nou etichet, care se adaug la coada tabelului de echivalen ca
punctul curent ia o etichet nou T ( jmax ) jmax ;
ENDIF ¾ dac punctul curent are toi predecesorii etichetai i va primi eticheta minim a acestora,
ENDIF atunci în tabelul de coresponden trebuie înscris faptul c la toate etichetele punctelor
ENDIF ce au intervenit în calcul (predecesorii punctului curent) va corespunde o aceeai
baleiaj invers: etichet, i anume eticheta de valoare minima a acestora. Dac punctul curent are
IF punctul curent este punct de obiect THEN predecesorii P1 , P2 , P3 , P4 (cel mult patru predecesori, în cazul folosirii conectivitii
IF punctul curent are predecesori etichetai THEN
punctul curent ia eticheta minim a predecesorilor N8 ), atunci fie m min( Pi ) .
ENDIF
ENDIF Ca pseudocod avem:
UNTIL când etichetele nu se mai modific
ENDDO FOR (toi predecesorii Pi ) DO
WHILE T ( Pi ) z m DO
temp T ( Pi )
T ( Pi ) m
Pi temp
ENDDO
ENDFOR

Dup primul baleiaj al imaginii, tabelul de coresponden este actualizat astfel încât la
fiecare indice s corespund eticheta final a obiectului; etichetele atribuite obiectelor nu vor fi
Figura 2. a) predecesorii unui pixel în baleiaj invers, cu vecintate N 4 . b) predecesorii unui pixel în neaprat în ordine. Pseudocodul corespunztor acestei prelucrri este
baleiaj direct, cu vecintate N8 . FOR j 1 TO jmax DO
k j
Numrul de iteraii necesar pentru etichetarea unei imagini este variabil i depinde de
WHILE T (k ) z k DO
coninutul acesteia. In cazul în care toate obiectele din imagine sunt conectate, o singur pereche de
baleiaje este suficient pentru a eticheta corespunztor imaginea. Dac imaginea conine obiecte k T (k )
concave (obiecte cu guri, concaviti de frontier), numrul de treceri prin imagine pân la ENDDO
stabilizarea etichetelor nu mai poate fi prezis i crete odat cu creterea complexitii obiectelor T ( j) k
scenei. Situaia cea mai defavorabil este aceea în care obiectul este de tip spiral. ENDFOR

Finalul algoritmului (deci dup actualizarea tabelului de corespondene) construiete


Etichetare cu coresponden între etichete imaginea de etichete final prin înlocuirea în imaginea intermediar a etichetelor de valoare j cu
Algoritmul anterior, pur secvenial, nu necesit ca variabile de intrare sau de lucru decât T(j).
imaginea binar iniial. Dezavantajul este îns timpul de rulare dependent de coninutul imaginii O alt variant a algoritmului de etichetare cu coresponden între etichete nu mai ia în con-
etichetate. Algoritmul de etichetare secvenial cu coresponden între etichete folosete o siderare pentru corespondena etichetelor doar cei mai apropiai vecini predecesori ai fiecrui punct,
informaie ce apare în urma baleiajului secvenial, i anume eventualele corespondene dintre ci ia în calcul seciuni ale obiectelor detectate, de pe linia curent i linia anterioar. Aceast metod
etichete, detectate de algoritmul anterior în momentul testrii etichetelor predecesorilor punctului asigur reducerea numrului maxim de etichete alocate pe parcursul algoritmului.
curent. Eticheta punctului curent îi modific valoarea (ia valoarea etichetei unui vecin) dac Pentru fiecare linie a imaginii se detecteaz i marcheaz seciunile succesive de puncte
punctul curent este un punct ce face conexiunea între dou regiuni ale unui acelai obiect, etichetate obiect i se rein pentru fiecare dintre aceste seciuni coloanele între care apar (seciunea i este
îns diferit. In mod normal, modificarea valorii unei etichete duce la reetichetarea tuturor punctelor cuprins între coloanele ki1 i ki 2 ). Pentru fiecare dintre seciunile determinate, se verific etichetele

3 4
prezente pe linia anterioar între coloanele ki1 i ki 2 , pentru lucrul în conectivitate N 4 , i coloanele
ki1  1 i ki 2  1 , pentru lucrul în conectivitate N8 . Dac nu exist nici o etichet, pentru seciunea
de pe linia curent se aloc o etichet nou; dac exist mai multe etichete (i deci seciunea curent
se afl la conectivitatea unor regiuni cu etichete diferite) se folosete algoritmul de alocare i
gestiune a tabelei de coresponden a etichetelor prezentat anterior.
O alt variant a metodei de etichetare pe seciuni este „run-length conectivity analysis”
(analiza conectivitii secvenelor de pixeli identici consecutivi). Acesta tehnic se bazeaz pe
analiza secvenelor de pixeli identici („run-lenght”) de pe fiecare linie a imaginii, pe baza crora se Figura 4. Reprezentarea imaginii binare din figura 3 ca arbore cuaternar.
completeaz un tabel de etichetare, care va determina obiectele din imagine i proprietile lor de
conectivitate i topologie. Analiza se realizeaz într-o singur trecere prin imagine. Metoda este de Pentru refacerea imaginii iniiale din reprezentarea arborescent este suficient alegerea
fapt analoag etichetrii cu coresponden între etichete i verificrii ulterioare a adiacentei între nodurilor terminale a cror valoare corespunde pixelilor de obiect. Adâncimea la care este plasat în
seciuni. In plus, se face îns construirea i gestiunea unui tabel de convergene i divergene, ce arbore o frunz conine informaia de dimensiune a zonei ptrate corespunztoare din imagine (o
poate fi utilizat în etapa de analiz pentru caracterizarea obiectelor. frunz situat la adâncimea n corespunde unei zone ptrate de latur 2k  n pixeli).
Poziia frunzei fa de nodurile de pe acelai nivel ce au acelai predecesor este direct
determinat de regula de alocare a sferturilor unei zone la nodurile descendente ale arborelui (regula
Etichetarea cu arbore cuaternar de alocare trebuie s se pstreze pentru întregul arbore).
Pe scurt, un arbore cuaternar (quadtree) este un arbore în care fiecare nod neterminal are
exact patru descendeni.
Orice imagine binar ptrat, de dimensiune putere a lui 2 poate fi reprezentat (într-o
reprezentare de tip ierarhic) pe o structur de arbore cuaternar. Nodurile de pe fiecare nivel al
arborelui corespund unei împriri a unei zone ptrate din imagine în patru sferturi. Rdcina
arborelui este asociat întregii imagini (imaginii iniiale), nodurile de pe primul nivel al arborelui
corespund celor patru sferturi ale imaginii, nodurile de pe nivelul doi corespund sferturilor fiecrui
sfert anterior determinat al imaginii, i aa mai departe. Împrirea imaginii poate continua pân Figura 4. Regula de alocare a descendenilor pentru construirea arborelui cuaternar asociat unei
când nodurile nivelului curent al arborelui corespund unor zone ptrate a cror dimensiune este de imagini binare.
un pixel (cea mai mic unitate indivizibil a imaginii). Adâncimea arborelui astfel obinut este K, i
fiecare pixel al imagini va corespunde unui nod terminal (frunz) de pe ultimul nivel al arborelui. Codarea imaginii (sau a arborelui cuaternar asociat) se face prin memorarea poziiei în
Fiecare nod terminal conine informaia de valoare a pixelului la care este asociat. arbore a nodurilor terminale de valoare unitar. Poziia în arbore a unui nod se specific prin
Structura arborelui anterior poate fi simplificat prin introducerea în etapa de construcie a descrierea cii prin care se ajunge la acesta, pornind de la rdcina arborelui; aceast cale va conine
unui test de uniformitate a regiunilor reprezentate de fiecare nod: codurile de alocare a descendenilor ce corespund avansului în adâncime în arbore.
¾ Dac regiunea ptrat considerat nu este uniform (deci este compus din pixeli de Odat construit arborele cuaternar asociat unei imagini binare, etichetarea acesteia revine la
obiect i pixeli de fundal), atunci aceasta va fi descompus prin tiere în patru pri egale a gsi zonele de pixeli obiect adiacente i de a le marca cu aceeai etichet. Analiza adiacentei unor
i nodul corespunztor va deveni neterminal (va primi patru descendeni). zone din imagine se face pe baza inspeciei codurilor corespunztoare acestora i cunoaterii regulii
¾ Dac regiunea ptrat considerat este uniform (deci este compus din pixeli de acelai de alocare a descendenilor. Acesta analiz de adiacent este echivalent cu analiza conectivitii
fel), nodul respectiv devine un nod frunz (terminal) al arborelui (deci nu mai are segmentelor de pixeli obiect de pe liniile imaginii (prezentat în seciunea anterioar ca etichetare
descendeni). Fiecare nod terminal conine informaia de valoare a zonei de imagine la secvenial cu coresponden între seciuni i ca analiza conectivitii secvenelor de pixeli identici
care este asociat. consecutivi), dar trebuie realizat atât dup direcie vertical (dup linii) cât i dup direcie
orizontal (dup coloane).
Trebuie remarcat de asemenea c reprezentarea imaginilor binare pe arbori cuaternar poate
constitui o metod de compresei a acestora - codurile ce corespund nodurilor terminale asociate
zonelor ptrate de pixeli obiect pot necesita mai puini bii de reprezentare decât zonele însei.

Principalul inconvenient al metodei de etichetare folosind arborele cuaternar este legat de


Figura 3. O imagine binar. complexitatea construirii acestuia prin abordarea ierarhic top-down prezentat; în particular, testul
de uniformitate la nivelul fiecrui bloc presupune testarea valorilor tuturor pixelilor care compun
blocul. Pe ansamblu, aceasta duce la parcurgerea fiecrui pixel din imagine de un numr de ori egal
cu adâncimea în arborele cuaternar al blocului ptrat din care face parte.
Pentru a înltura acest inconvenient este suficient ca pixelii imaginii s nu mai fie parcuri
în ordinea tradiional de baleiaj (pe linii, de la stânga la dreapta i de sus în jos), ci într-o alt
ordine, care s îi prearanjaze pe grupuri ce corespund ptratelor de diviziune a imaginii.

5 6
Un asemenea baleiaj este reprezentat de o curb de umplere a spaiului: un parcurs ce trece În cazul în care apare o succesiune de coduri identice, acestea se pot scrie sub form
o singur dat prin fiecare pixel al imaginii, nu se autointersecteaz i în care oricare doi pixeli compact precedând valoarea codului cu numrul de repetiii ale acestuia.
parcuri consecutiv sunt vecini spaial în imagine (într-o vecintate de tip N 4 sau N8 ). Curbele de
umplere a spaiului sunt structuri fractale, definite prin repetarea la diferite nivele ierarhice ale unei De exemplu irul de bii
aceleiai structuri. Pentru baleiajul imaginilor s-au reinut dou astfel de curbe: curba Peano- 0110011001101000101010 este codat RLE ca 0122222113111111 sau,
Hilbert (numit i curba Peano în U, dup forma celulei sale de baz) i curba Morton (sau curba compact, ca 0 1 (5)2 113 (6)1.
Peano în Z).

a)

b)
Figura 5. Ordinea de parcurgere a pixelilor. a) curba U. b) curba Z.

Dispunând de o astfel de ordine de traversare, este evident c dac se parcurge imaginea în


acesta ordine, zonele ptrate uniforme (cu pixelii de aceeai valoare) sunt detectate într-o singur
trecere i astfel arborele cuaternar poate fi creat direct prin nodurile sale terminale. Pentru o
implementare eficient este îns necesar i deducerea rapid a indicelui pe curba de baleiere a
pixelilor, pornind de la coordonatele lor în imagine. Doar curba Peano în Z are o asemenea relaie
rapid de calcul, prin întreeserea biilor ce dau coordonatele în imagine a punctului. Cuvântul binar
ce exprim indicele pe curb a oricrui punct este format din biii din coordonata vertical, ce vor
ocupa poziiile de ordin par i din biii din coordonata orizontal ce vor ocupa poziiile de ordin
impar (pstrându-i aceeai ordine de rang).

Introducere în RLE
Codarea RLE (Run Length Encoding) are trei pai:
1) Matricea imaginii se transform în vector linie (punând liniile imaginii una dup alta, în
ordine)
2) irul codat începe cu valoarea primului pixel.
3) Se reine numrul de pixeli consecutivi de aceeai valoare.

De exemplu irul de bii


000010111001111 este codat ca 0 4 1 1 3 2 4;
110100011100 este codat ca 1 2 1 1 3 3 2.

7 8
Universitatea „Lucian Blaga” din Sibiu
Facultatea de tiine  sx sy – scalare uniform Ÿ obiectul este nedeformat
Catedra de tiina Calculatoarelor i Informatic Economic
 sx z sy – scalare neuniform Ÿ obiectul este deformat

Disciplina: Procesarea imaginilor Scalarea fa de un punct oarecare din plan


Cadru didactic: Ralf Fabian Fie F(xf,yf) un punctul fa de care se face scalarea
Specializarea: Informatic Economic, anul II.
x ' x f ( x  xf ) * sx x ' x * sx  xf  xf * sx
Ÿ (3)
y ' y f ( y  yf ) * sy y ' y * sy  yf  yf * sy

Transformri geometrice y Fa de xf=1,yf=1 y sx=2,sy=2


(3,3)
(2,2)
Transformrile geometrice modific relaiile spaiale dintre pixelii unei imagini (apar i sub
denumirea de transformri rubber-sheet – analogia cu imaginea pe o gum de ters).
În temeni de procesare digital a imaginilor, o transformare geometric const în dou
operaii de baz: a) o transformare spaial i b) o interpolare a nivelelor de gri. (1,1) (1,1)
x x
Translaia
Translaia într-un sistem cartezian implic calcularea adreselor de offset relative ale celor
Rotaia
dou imagini (iniial i final). Unghiul de rotaie T este considerat în direcia opus acelor de ceas fa de axa orizontal a
imaginii. De regul aceast transformare necesit interpolare.
Rotaia unei imagini în jurul unui anumit punct pivot poate fi obinut prin translatarea
y G G G originii imaginii la acel punct, executarea rotaiei, iar apoi translatarea înapoi conform offest-ului
P’(x’,y’) v tx * i  t y * j iniial de translaie.
G
v
ty x’=x+ tx Rotaia fa de origine
y’=y+ ty (1.1)
P(x,y) tx
y
x
Unghiurile se consider pozitive în
P’(x’,y’) sens trigonometric i în sens invers.
Obiectul e deplasat fr s-i modifice forma, dimensiunea, orientarea.

r P(x,y)
Scalarea D
Scalarea dimensiunii spaiale ale unei imagini se obine prin modificarea coordonator T
carteziene a imaginii surs conform relaiei O x

x’=x* sx
­ x r cos T ­ x' r cos(T  D ) r cos T cos D  r sin T sin D
y’=y* sy ® ®
¯ y r sin T ¯ y ' r sin(T  D ) r sin T sin D  r cos T sin D
unde sx,sy sunt factori de scalare pozitivi constani, dar nu neaprat întregi. Dac ele sunt mai mari
decât o unitate se obine o mrire iar dac sunt mai mici decât o unitate se obine o micorare a
­ x ' r cos T  y sin D (4)
imaginii iniiale. ®
¯ y ' r sin T  y cos D
Scalarea fa de origine

P ( x, y ) o P ' ( x ' , y ' ) x’=x* sx


y’=y* sy (2)

sx,sy – factori de scalare:

1 2
Rotaia fa de un punct oarecare fix (xf,yf) Coordonate omogene
Deoarece pentru translaia în coordonate carteziene nu exis o matrice de transformare,
pentru a uniformiza notaiile se folosesc coordonate omogene. Acest sistem de coordonate permite
reprezentarea tuturor transformrilor ca produs de matrici, aadar este un caz special de a reprezenta
y un vectori bidimensional ca vector tridimensional.
­ x ' xf ( x  xf ) cos D  ( y  yf ) sin D
®
¯ y ' yf ( x  xf ) sin D  ( y  yf ) cos D Unui punct din plan (x,y) îi corespunde, în coordonate omogene un triplet (xw,yw,w), în care
P’(x’,y’)
r ­ xw
D ­ x ' x cos D  y sin D  xf  xf cos D  yf sin D °x w .
® (5) ® yw
r P(x,y) ¯ y ' x sin D  y cos D  yf  xf sin D  yf cos D °y
¯ w
F(xf,yf)
O Dac w=0, atunci pentru [a,b,0], punctul se consider la infinit pe dreapta a*y-b*x=0. De
x
exemplu [1,0,0] – punctul de la infinit pe axa x pozitiv, [1,1,0] – punctul de la infinit în direcia
[1,1]. Punctul P(2,1) în coordonate plane carteziene, devine în coordonate omogene (2,1,1) sau
Transformri geometrice liniare generalizate (4,2,2) etc.
În grafic se utilizeaz w=1, ceea ce înseamn c Pcoord .carteziene ( x, y ) o Pcoord .omogene ( x, y ,1) .
O abordare mai elegant a transformrilor geometice în plan, este reprezentarea i calcularea
Dac în urma unor transformri se obine w z 1, se efectueaz împrirea cu w. În general,
poziiilor ca vectori respectiv operaii pe vectori.
transformrile geometrice primitive conserv valoarea lui w i deci dac se alege w=1 împrirea nu
Coordonatele punctelor se pot reprezenta prin vectori de linie P=[x,y] sau vectori coloan mai este necesar.
Cele trei transformri elementare examinate anterior, într-un sistem omogen de coordonate
T ª xº se exprim astfel:
P = « » . Dac se folosesc vectori linie, atunci se efectueaz înmulire la dreapta cu matricea de
¬ y¼
transformare M, iar pentru vectori coloan înmulirea se face la stânga cu MT. În continuare Translaia
utilizm vectori coloan. P' T * P
Dac sunt de efectuat mai multe transformri înseamn c se efectueaz compunerea de ª x'º ª1 0 tx º ª x º
« y '» « 0 1 ty » * « y » ª xº ª x'º
(8) « y» P' «« y '»»
matrici. « » « » « » P « »
«¬ 1 »¼ «¬0 0 1 »¼ «¬ 1 »¼
Translaia «¬ 1 »¼ «¬ 1 »¼
Nu se poate exprima ca un produs matricial, de aceea se folosete o adunare de vectori.
Scalarea fa de origine
ª sx º ª x'º ª sx 0 0º ª x º
P' M  P unde M « sy » , M-vector
¬ ¼ « y '» « 0 sy 0» * « y » (9) P' S * P
« » « » « »
Scalarea fa de origine ¬« 1 ¼» ¬« 0 0 1¼» ¬« 1 ¼»

Rotaia fa de origine


ª x'º ª sx 0 º ª x º P’=S*P
« y '» « 0 sy » * « y » (6) ª x'º ªcos D  sin D 0º ª x º
¬ ¼ ¬ ¼ ¬ ¼ « y '» « sin D cos D
« » « 0»» * «« y »» (10) P' R * P
Rotaia fa de origine «¬ 1 »¼ «¬ 0 0 1»¼ «¬ 1 »¼

ª x'º ªcos D  sin D º ª x º P’=R*P Obs: La aplicarea a dou transformri asupra unui punct trebuie avut în vedere c produsul
« y '» « sin D * (7)
¬ ¼ ¬ cos D »¼ «¬ y »¼ matricial nu e comutativ. Excepie fac transformrile de acelai tip.

Expresiile matematice ale scalrii i rotaiei fa de un punct oarecare se pot obine prin compunerea
urmtoarelor transformri:
cos D sin D º
Obs: Pentru vectori linie >x' , y'@ >x, y @ª« 1. – translaia prin care punctul fix al transformrii ajunge în origine
¬ sin D cos D »¼ 2. – scalarea/rotaia fa de origine
3. – translaia invers celei de la punctul 1.

3 4
Rotaie: a0 cos T , a1 sin T , a2 0 , b0  sin T , b1 cos T , b2 0.
Fie F(xf,yf) punctul fix al transformrii, D unghiul de rotaie i sx,sy factorii de scalare.
Considerând o matrice dreptunghiular destinaie D i o imagine (matrice) surs
Scalarea fa de un punct fix (xf,yf) P ' T ( xf , yf ) * S ( sx, sy ) * T (  xf , yf ) * P dreptunghiular S, de aceeai dimensiune, ne conduce la dou tipuri de ambiguiti: unii pixeli din S
vor fi transformai în afara lui D, i unii pixeli în D nu vor fi transformai din S pentru c se afl în
ª x'º ª1 0 xf º ª sx 0 0º ª1 0  xf º ª x º afara limitelor. Figura 1 ilustreaz rotaia unei imagini în jurul centrului ei cu 45 de grade. Dac se
« y '» «0 1 yf »» * «« 0 sy 0»» * ««0 1  yf »» * «« y »» (11) urmrete obinerea unei matrici destinaie D complete, este necesar accesarea unei imagini surs
« » « suficient de mare S, pentru a preveni transformrile vide. O soluie este prezentat în figura 1(d)
«¬ 1 »¼ «¬0 0 1 »¼ «¬ 0 0 1»¼ «¬0 0 1 »¼ «¬ 1 »¼ prin plasarea imaginii surs S pe un fundal suficient de mare ca s acopere întreaga rotaie
originalului.

ª x'º ª1 0 xf º ª sx 0  sx * xf º ª x º ª sx 0  sx * xf  xf º ª x º ª x * sx  xf  sx * xf º
« y '» «0 1 yf » * « 0 sy  sy * yf » * « y » « 0 sy  sy * yf  yf » * « y » « y * sy  yf  sy * yf »
« » « » « » « » « » « » « »
«¬ 1 »¼ «¬0 0 1 »¼ «¬ 0 0 1 »¼ «¬ 1 »¼ «¬ 0 0 1 »¼ «¬ 1 »¼ «¬ 1 »¼
adic am obinut relaiile (3).

Rotaia fa de un punct fix (xf,yf) P ' T ( xf , yf ) * R (D ) * T (  xf , yf ) * P

ª x'º ª1 0 xf º ªcos D  sin D 0º ª1 0  xf º ª x º


« y '» «0 1 yf »» * «« sin D cos D 0»» * ««0 1  yf »» * «« y »» (12)
« » « a) b)
«¬ 1 »¼ «¬0 0 1 »¼ «¬ 0 0 1»¼ «¬0 0 1 »¼ «¬ 1 »¼

Transformri geometrice inverse


Fiecare dintre transformrile geometrice elementare are o invers, adic o transformare care
exprim operaia opus celei corespunztoare transformrii.
Se pot verifica uor urmtoarele relaii:
[T(tx,ty)]-1=T[(-tx,-ty)] (13)

[S(sx,sy)]-1=S[(1/sx,1/sy)] (14)
c) d)
-1 Figura 1. Rotaia unei imagini cu 45 de grade în jurul centrului ei.
[R(D)] =R(-D) (15)

De exemplu, pentru relaia (13) avem:


Transformri afine
ª1 0 tx º ª1 0 tx º ª1 0 0 º
Operaiile geometrice de translatare, scalare i rotaie sunt cazuri special de operator
T (tx, ty ) * T (tx, ty ) «« 0 1 ty »» * ««0 1 ty »» «0 1 0 »
« » geometric numit transformare afin. În aceast conjunctur, constantele ci i di sunt factori de
«¬ 0 0 1 »¼ «¬0 0 1 »¼ «¬0 0 1 »¼ pondere. Transformarea afin nu este doar util ca generalizare a translatrii, scalrii i rotaie, ea
permite image shearing în care liniile si coloanele sunt succesiv uniform translatate meninându-se
Ca form general, este convenabil s considerm matricea dreptunghiular de felul urmtor: relaia între ele. Figura 2 arat un image shearing de linii dintr-o imagine cu c0 d1 1.0 , c1 0.1 ,
d 0 c2 d 2 0.0 .
ª x 'º ª c0 c1 c2 º ª x º ª x 'º ª a0 a1 a2 º ª x º
« y '» «d d1 d 2 »» * «« y »» iar pentru poziiile inverse « y '» «b b1 b2 »» * «« y »» , unde pentru:
« » « 0 « » « 0
«¬ 1 »¼ «¬ 0 0 1 »¼ «¬ 1 »¼ «¬ 1 »¼ «¬ 0 0 1 »¼ «¬ 1 »¼

Translaie: a0 1 , a1 0 , a2 t x , b0 0 , b1 1 , b2 t y .
Scalare: a0 1/ sx , a1 0 , a2 0 , b0 0 , b1 1/ s y , b2 0.

5 6
 Fa de origine
y

­ x'  x
®
O x ¯ y'  y

Figura 2. Image shearing orizontal.

Alte transformri simple ª x'º ª  1 0 0º ª x º ª  1 0 0º


« y '» « 0  1 0» * « y » (18) Oo « 0  1 0»
« » « » « » « »
Oglidirea (Reflexia) «¬ 1 »¼ «¬ 0 0 1»¼ «¬ 1 »¼ «¬ 0 0 1»¼

 Fa de axa x

y
 Oglindirea fa de o dreapt oarecare

­ x' x Fie dreapta z=a*x+b


®
O x ¯ y'  y

ª x'º ª1 0 0º ª x º ª1 0 0º
« y '» «0  1 0 » * « y » (16) Ox «0  1 0 »
« » « » « » « »
«¬ 1 »¼ «¬0 0 1»¼ «¬ 1 »¼ «¬0 0 1»¼

 Fa de axa y
Se poate exprima oglindirea fa de o dreapt y=a*x+b, ca o transformare compus din urmtoarele
y transformri elementare:
1. o translaie astfel încât o dreapt s treac prin origine T(0,-b)
2. o rotaie a dreptei pentru a o alinia cu una din axele de coordonate R(-arctg(D)) (de
­ x'  x exemplu cu axa Ox)
® 3. oglidirea fa de axa pe care a fost suprapus Ox
O x ¯ y' y
4. rotaie invers celei de la punctul 2, R(arctg(D))
5. translaie invers celei de la punctul 1, T(0,b)

Matricea transformrii este:


ª x'º ª 1 0 0º ª x º ª  1 0 0º M=T(0,b)*R(arctg(D))*Ox*R(-arctg(D))*T(0,-b), deci P’=M*P
« y '» « 0 1 0» * « y » (17) Oy « 0 1 0»
« » « » « » « »
«¬ 1 »¼ «¬ 0 0 1»¼ «¬ 1 »¼ «¬ 0 0 1»¼

7 8
Exemplu: y=x-2
a=1, b=-2
arctg1=450
ª1 º
P ««2»»
¬«1 ¼»

ª 2 2 º ª 2 2 º
«  0» « 0»
ª1 0 0 º « 2 2 » ª1 0 0 º « 2 2 » ª1 0 0º
M «0 1  2» * « 2 2
0» * ««0  1 0»» * «
2 2
0» * ««0 1 2»»
« » « 2 2 » « 2 2 »
¬«0 0 1 ¼» « 0 0 1» ¬«0 0 1¼» « 0 0 1» ¬«0 0 1¼»
« » « »
¬« ¼» ¬« ¼»
ª 2 2 º ª 2 2 º
«  0» « 2»
ª1 0 0º « 2 2 » ª1 0 0 º « 2 2 »
«0 1  2»» * « 0» * ««0  1 0»» * « 2»
2 2 2 2
« « 2 2 » « 2 2 »
«¬0 0 1 »¼ « 0 0 1» «¬0 0 1»¼ « 0 0 1 »
« » « »
«¬ »¼ «¬ »¼
ª 2 2 º ª 2 2 º
«  0» « 2 »
ª1 0 0º « 2 2 » « 2 2 »
«0 1  2»» * «
2 2
0» * «
2

2
 2»
« « 2 2 » « 2 2 »
¬«0 0 1 »¼ « 0 0 1» « 0 0 1 »
« » « »
¬« ¼» ¬« ¼»
ª1 0 0 º ª0 1 2º ª0 1 2 º
« 0 1  2 » * «1 0 0 » «1 0  2 »
« » « » « »
«¬0 0 1 »¼ «¬0 0 1»¼ «¬0 0 1 »¼

ª x 'º ª0 1 2 º ª1 º ª4º
­ x' 4
Ÿ «« y '»» «1 0  2 » * « 2 »
« » « »
« 1»
« » Ÿ®
«¬ 1 »¼ «¬0 0 1 »¼ «¬1 »¼ «¬ 1 »¼ ¯ y ' 1

Obs:
1) Ordinea de acionare a matricilor care compun transformarea este de la dreapta la stânga în
cazul vectorilor coloan (cazul considerat) i de la stânga la dreapta în cazul vectorilor linie.
2) Pentru dou transformri de acelai tip avem:
T1*T2=T2*T1
R1*R2=R2*R1
S1*S2=S2*S1
Dac sx=sy Ÿ S*R=R*S

3) Pentru mai multe transformri în secven, ordinea este, de regul, urmtoarea: scalarea se
aplic înaintea rotaiei.

9
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe
Catedra de Informatică Expresia pentru interpolarea bilineară poate fi generalizată pentru orice funcţie de
interpolare R ( x) , care ia valoare de zero în afara intervalului [−1, +1] . Prin această generalizare,
Disciplina: Grafică - Procesarea imaginilor interpolarea poate fi privită ca sumă a patru funcţii de interpolare ponderate astfel:
Cadru didactic: Ralf Fabian
Specializarea: Informatică III. F ( p ', q ') = F ( p, q ) R (−b) R (a ) + F ( p + 1, q ) R (−b) R (−(1 − a )) +
F ( p, q + 1) R (1 − b) R (a ) + F ( p + 1, q + 1) R (1 − b) R (−(1 − a ))

Procesarea imaginilor

Aşa cum s-a putut observa la transformările geometrice din ultimul curs, procesul de
calculare a adreselor inverse produce de regulă o adresă care se află între valorile de pixeli
cunoscute a imagini iniţiale. Ca urma, trebuie estimată o valoare a pixelului necunoscut din vecinii
lui cunoscuţi. În cele ce urmează vom considera procesul general de „resampling”, în care pixeli de
output sunt estimaţi prin interpolarea pixelilor de input. Cazul general de aplicare este la mărire unei
imagini cu un factor de scalare întreg (zoom). Tot aici se poate realiza o estimare şi prin convoluţie.

Metode de interpolare
Cea mai simplă formă de interpolare este de a alege ca valoare a pixelului de output valoarea
celui mai apropiat pixel de input de la adresa inversă. Acest proces se numeşte nearest-neighbor
interpolation, şi poate rezulta într-o eroare de offset spaţial de 1/ 2 unităţi pixel. Eroare de
interpolare poate fi semnificativ redusă prin folosirea tuturor celor 4 vecini imediaţi. O abordare
răspândită este interpolarea bilineară, care interpolează liniar pe fiecare linie a imaginii iar apoi
interpolează rezultatul liniar pe coloane. Figura 1 ilustrează acest procedeu.

F ( p ', q ') = (1 − b)[(1 − a ) F ( p, q ) + aF ( p + 1, q )] +


b[ F ( p, q + 1) + aF ( p + 1, q + 1)]

unde a = p '− p şi b = q '− q .


Figura 2. Interpolare cu vecinătăţi suport de 2, 4, 8.

Figura 2 prezintă definirea unei vecinătăţi generalizate de interpolare de 2, 4 şi 8, în care


F ( p, q ) este cel mai apropiat vecin al pixelului care va fi interpolat. De regulă, din motive de
complexitate, aceste interpolări se limitează la vecinătăţi de 4 × 4 .

Metode de convoluţie
Dacă o imagine trebuie mărită cu un factor de mărire întreg, estimarea pixelilor poate fi
implementată eficient prin convoluţie. Considerăm de exemplu o mărire 2:1. Acţiunea se va petrece
în doi paşi. Mai întâi imaginea de input este transformată într-o matrice în care rânduri şi coloane de
zerouri sunt intercalate între datele imaginii de input, astfel:

Figura 1. Interpolarea bilineară. imagine originală zero-intercalare (zero-interleaved)

1 2
În continuare imaginea zero-intercalată este supusă unei convoluţii cu unul din nucleele de
interpolare din figura 3.

Figura 3. Nuclee de interpolare.

Operaţia discretă de convoluţie poate fi extinsă uşor la un factor de mărire mai mare. Pentru
N:1, nucleul de bază este N × N peg.
Pentru imagini color, metodele de modificare geometrică se aplică separat asupra componentelor de
red, green, blue.

Scheleton
Obiectele sau scenele pot fi descrise prin diverse structuri compuse din diferite elemente
(linii, curbe, etc). De exemplu în recunoaşterea caracterelor, amprentelor, cromozomilor, a norilor,
etc., sunt necesare transformări ale axei mediane în scopul obţinerii unei descrieri a obiectului
studiat. Intuitiv, putem să definim scheletul ca fiind mulţimea punctelor în care se întâlnesc cel
puţin două tangente la contur care pleacă cu aceeaşi viteză.
Scheletonul S ( A) este o reprezentare bidimensională simplificată, echivalentă, a unei forme A.
• Dacă z este un punct din S ( A) şi ( D) z este cel mai mare disc centrat în z şi conţinut în A,
iar în plus nu există un disc mai larg (nu neapărat centrat în z) care să-l conţină pe ( D) z şi să
fie cuprins în A, atunci discul ( D) z se numeşte disc maximal.
• Discul ( D) z atinge marginea lui A în două sau mai multe locuri.
Scheletonul lui A poate fi exprimat în termeni de eroziune şi opening astfel:
K
S ( A) = ∪ Sk ( A)
k =0

Aşadar, S ( A) se obţine ca reuniune a submulţimilor scheleton S k ( A) .


S k ( A) = ( A ⊖
kB ) − ( A ⊖kB )  B
unde B este elementul de structură şi ( A ⊖ kB ) indică un număr de k eroziuni succesive asupra lui
A:
( A ⊖ kB ) = (...(( A ⊖ B ) ⊖ B ) ⊖ ...) ⊖ B
De k ori, unde K este ultima iteraţie înainte ca A sa erodeze spre mulţimea vidă. Cu alte cuvinte
K = max{k | ( A ⊖ kB ≠ ∅)} .

A poate fi reconstruit din submulţimile scheleton prin ecuaţia:


K
A = ∪ ( Sk ( A) ⊕ kB )
k =0

unde ( S k ( A) ⊕ kB ) înseamnă un număr de k dilatări succesive ale lui S k ( A) .

3 4