Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
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 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
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.
Imagini termografice.
Restaurarea imaginilor telescopului Hubble. În stânga imaginea original iar în dreapta imaginea
restaurat.
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.
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.
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. 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.
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).
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.
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ă.
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
7 8
Universitatea „Lucian Blaga” din Sibiu
Facultatea de Ştiinţe
Catedra de Informatică
0 < 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.
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.
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
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.
( 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]
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.
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).
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.
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.
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
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
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.
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ă).
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ă.
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:
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
• 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.
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).
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.
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}
X B
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 ,
i X { x | x X } (reflecia)
XC ]n \ X .
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
bB
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.
B
X B
X
B:
X B:
X B
B
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) .
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
bB
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.
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.
Î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 :
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
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.
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.
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.
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
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
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 ¼»
ª 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).
[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)
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
Fa de axa x
y
Oglindirea fa de o dreapt oarecare
ª 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)
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.
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:
1 2
În continuare imaginea zero-intercalată este supusă unei convoluţii cu unul din nucleele de
interpolare din figura 3.
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
3 4