Sunteți pe pagina 1din 84

UNIVERSITATEA POLITEHNICA BUCURETI

FACULTATEA DE AUTOMATIC I CALCULATOARE


LUCRARE DE DIPLOM
Tehnici de prelucrare a imaginilor
bazate pe circuite FPGA
Coordonator tiinific:
Prof. Dr. Ing. Adrian Petrescu
Absolvent:
Cristina Mihilescu
BUCURETI
2009
2
CUPRINS
INTRODUCERE....................................................................................................................... 5
CAPITOLUL 1. FORMATUL I AFIAREA IMAGINILOR................................................ 6
1.1. Structura imaginilor digitale...................................................................... 6
1.2. Camerele foto si ochiul uman.................................................................... 9
1.3. Ajustarea luminozitii i contrastului....................................................... 14
1.4. Transformri Greyscale.............................................................................. 18
1.5. Deformarea imaginilor............................................................................... 20
CAPITOLUL 2. PROCESAREA LINIAR A IMAGINILOR................................................ 23
2.1. Convoluia.................................................................................................. 23
2.2. Modificarea marginilor folosind PSF 3x3................................................. 28
2.3. Convoluia prin separare............................................................................ 30
2.4. Analiza Fourier a imaginilor...................................................................... 33
2.5. Convoluia transformatei Fast Fourier....................................................... 38
CAPITOLUL 3. TEHNICILE IMAGINILOR SPECIALE....................................................... 43
3.1. Rezoluia spaial........................................................................................ 43
3.2. Spaierea eantionului i apertura eantionrii............................................ 48
3.3. Raportul semnal - zgomot .......................................................................... 50
3.4. Procesarea morfologica a imaginilor.......................................................... 53
CAPITOLUL 4. FPGA.............................................................................................................. 56
4.1. Istoric......................................................................................................... 56
4.2. Comparaii FPGA...................................................................................... 57
4.3. Arhitectur................................................................................................. 58
4.4. Proiectare i programare FPGA................................................................. 60
3
4.5. Tehnologii FPGA....................................................................................... 61
4.6. Aplicaii...................................................................................................... 61
CAPITOLUL 5. ALGORITMI DE PROCESARE A IMAGINILOR...................................... 63
5.1. Citirea imaginii.......................................................................................... 63
5.2. Prelucrarea imaginilor RGB....................................................................... 63
5.3. Procesarea morfologic a imaginilor binare.............................................. 67
5.3.1. Dilatare............................................................................................... 67
5.3.2. Eroziune............................................................................................. 69
5.4. Semnale de control..................................................................................... 70
5.5. Afiarea imaginii....................................................................................... 70
CONCLUZII.............................................................................................................................. 71
ANEXE...................................................................................................................................... 72
BIBLIOGRAFIE........................................................................................................................ 84
4
INTRODUCERE
Recent, tehnologiile FPGA au devenit o int viabil pentru implementarea algoritmilor
de procesare a imaginilor. Arhitectura unic a acestor circuite a permis tehnologiei s fie folosit
n nenumrate aplicaii ce cuprind toate aspectele procesrii de imagini.
Scopul acestei lucrri este implementarea unor algoritmi de procesare a imaginilor pe
circuitul FPGA, Spartan 3AN. Pentru documentarea lucrarii s-au folosit diverse surse ce pot fi
citite n bibliografie. Pentru implementarea algoritmilor s-a folosit programul Matlab 2007b i
utilitarul System Generator din programul Xilinx ISE 10.1.
Capitolul 1 descrie formarea i prezentarea imaginilor digitale la observatorul uman,
structura imaginilor digitale, urmnd ca subcapitolul urmtor s prezinte cteva informaii despre
camerele fotografice si ochiul uman. n continuare se trateaz ajustarea luminozitii i a
contrastului unei imagini i diferitele moduri n care aceste ajustri se pot realiza. Transformarea
Grayscale prezentat n acest capitol mbuntete contrastul dintre valorile pixelilor de interes.
Deformarea imaginilor ntlnit n cazul fotografiilor realizate n condiii dificile este prezentat
n continuare, explicndu-se i principiul interpolrii biliniare.
Capitolul 2 prezint dou tehnici pentru reducerea timpului de execuie: convoluia prin
separabilitate i convoluia Transformatei Fast Fourier, informaii generale despre procesul de
convoluie i un caz particular: Modificarea marginilor s-a fcut folosind PSF 3 x 3. n finalul
capitolulul se prezint convoluia prin separare, o tehnic de convoluie ce folosete un PSF ce
poate fi divizat ntr-o proiecie vertical i una orizontal i convoluia TFF.
Capitolul 3 prezint cteva aspecte ale procesrii de imagini, modurile de rezoluie
spaial, noiunile de spaierea eantionului i apertura eantionrii, analiza raportului dintre
semnal i zgomot i informaii generale despre tehnicile morfologice.
Penultimul capitol 4 prezint informatii generale despre circuitele FPGA - istoric,
comparaie tehnologii, arhitectur, proiectare i programare i aplicaii.
Ultimul capitol 5 reprezint partea practic a lucrrii, cuprinznd algoritmi de prelucrare
a imaginilor ce au fost proiectai folosind programele Matlab i Xilinx.
5
CAPITOLUL 1
FORMATUL I AFIAREA IMAGINILOR
Imaginile sunt o descrierea a variaiei unui parametru de-a lungul unei suprafete. De
exemplu, imaginile vizuale sunt rezultatul variaiei intensitii luminoase de-a lungul unui plan
bidimensional. Lumina nu este singurul parametru folosit n tiina imaginilor. O imagine poate
fi format din caldura unui circuit integrat, de viteza sngelui din artera unui pacient, de emisia
de raze X a unei galaxii sau de micarea pamntului n timpul unui cutremur. Aceste imagini
exotice sunt de obicei convertite n imagini convenionale (imagini de lumin), n aa fel nct s
fie evaluate de ochiul uman. Capitolul ce urmeaz descrie cum se formeaz i cum sunt
prezentate imaginile digitale observatorului uman.
1.1. Structura imaginilor digitale
Aceast imagine este a planetei Venus, obinut de un radar cu microunde de pe o sond
de orbit. Imaginile obinute prin microunde sunt necesare deoarece atmosfera dens blocheaz
lumina vizibil, fcnd fotografiatul imposibil. Imaginea este reprezentat prin 40.000 de
eantioane aranjate ntr-un vector bidimensional de 200 coloane i 200 linii. Folosind semnale
unidimensionale, aceste linii i coloane pot fi numerotate de la 0 la 199, sau de la 1 la 200. n
jargon, fiecare eantion numindu-se pixel (picture element). Fiecare pixel din aceast imagine
este un numr ntre 0 i 255. Cnd imaginea a fost achiziionat, acest numr se referea la
cantitatea de energie reflectat de locaia corespunztoare pe suprafata planetei. Pentru a o
reprezenta ca o imagine vizual, valoarea fiecarui pixel este convertit n grayscale, unde 0
reprezint negru, 255 reprezint alb iar valorile intermediare sunt diferite nuane de gri.
Imaginile au propriile informaii codate n domeniul lor spaial, iar imaginea echivalent
n domeniul timpului. Cu alte cuvinte, particularitile din imagini fiind reprezentate de frontiere
(margini), nu de sinusoide. Acest lucru nsemn c spaierea i numrul de pixeli sunt
determinate de ct de mici sunt marginilor vizibile i nu de constrngerile formale ale teoremei
de eantionare.
6
Fig. 1.1. Structura unei imagini digitale.
Confundarea poate aparea n imagini, dar este de obicei tratat ca o neplacere nu ca o
problem major. n consecin, costumele pepite nu arat bine la televizor deoarece ablonul
repetitiv este mai mare dect frecvena Nyquist. Frecvenele confundate apar ca benzi de lumina
i ntuneric care se misca pe hainele persoanei, n cazul n care aceasta i schimb poziia.
O imagine digital tipic este compus din aproximativ 500 linii i 500 coloane, aceasta
fiind calitatea imaginii folosite n televiziune, aplicaiile calculatoarelor personale i n
cercetrile tiintifice. Imaginile cu pixeli mai puini, 250 x 250 sunt considerate ca avnd o
rezoluie slab, acesta este cazul noilor modaliti de imagini, cu ct tehnologia avanseaz sunt
7
adaugai mai muli pixeli. Aceste imagini cu rezoluie slab nu arat natural, putndu-se observa
fiecare pixel. Pe de alt parte, imaginile cu mai mult de 1000 x 1000 pixeli sunt considerate
excepionale, aceasta este calitatea celui mai bun calculator grafic, a televiziunii high-definition
i a imaginilor 35 mm n micare. Exist aplicaii care necesit o rezoluie mai mare: fotografiile
din spaiu i reclamele lucioase din reviste. Cea mai puternic motivaie pentru a folosi imagini
cu o rezoluie scazut este aceea c sunt mai puini pixeli de manipulat. Una dintre cele mai mari
probleme n procesarea imaginilor este aceea a manipulrii fluxul masiv de date. De exemplu, o
secund de nregistrare audio necesit opt kilobytes, n comparaie cu o secund de nregistrare
video care necesit opt Megabytes. Transmiterea unei imagini de 500 x 500 pixeli printr-un
modem de 33,6 kbps necesit aproape un minut, n timp ce transmiterea unei imagini de
1000x1000 multiplic aceste probleme.
De obicei se folosesc cele 256 nivele de gri (nivele de cuantificare) n prelucrarea
imaginilor, corespunznd unui singur byte/pixel, deoarece pe de o parte pentru un singur byte
este convenabil administrarea datelor, innd cont c aceasta este i modalitatea calculatoarelor
de a stoca datele, pe de alt parte numrul mare de pixeli dintr-o imagine compenseaz un
anumit gradient pentru un numr limitat de pai. De exemplu, dintr-un grup de pixeli adiaceni
avnd valori alternnd ntre valorile 145 i 146, ochiul uman percepe o regiune cu o luminozitate
de 145,5. Cu alte cuvinte, imaginea este foarte tremurat. Al treilea i cel mai important motiv
este c pasul de luminozitate cu o valoare de 1/256 (0,39 %) este mai mic decat cel perceput de
ochiul uman. O imagine prezentat unui observator uman nu va fi mbuntit dac se vor folosi
mai mult de 256 nivele.
Unele imagini necesit pentru a fi stocate mai mult de 8 biti/pixel. Valoarea fiecarui pixel
din imaginile digitale reprezint o regiune din imaginea continu ce a fost digitalizat. De
exemplu, imaginea planetei Venus reprezint o prob preluat la fiecare 10 metri din suprafaa
planetei. Acest lucru definete un eantion de spaiere i o retea de eantionare, fiecare pixel
reprezentnd o arie de 1 metru ptrat. Probele spaiale emit o explozie focalizat de energie
micround, aferente unei suprafae circulare cu diametru de 15 metri, astfel fiecare pixel conine
informaii cu privire la dimensiunea ariei de eantionare.
Regiunea imaginii continue care contribuie la valoarea pixelului se numete apertura
eantionului. Dimensiunea aperturii eantionului se refer, de obicei, la capabilitile motenite
ale unui sistem de imagini ce este folosit. De exemplu, microscopurile sunt limitate de lungimea
8
de und a luminii, camerele sunt limitate de difuzia aleatoare a electronilor din senzorul imaginii.
n majoritatea cazurilor, reeaua de eantionare este asemntoare cu apertura de eantionare a
sistemului. Rezoluia imaginii digitale finale va fi determinat de cea mai mare dintre cele dou,
apertura de eantionare i reeaua de eantionare.
Culoarea este adugat imaginii digitale folosind trei numere pentru fiecare pixel,
reprezentnd intensitatea celor trei culori primare: rou, verde i albastru. Amestecul acestor trei
culori genereaz toate culorile posibile pe care ochiul uman le poate percepe. Un singur bit este
folosit pentru memorarea fiecarei intensiti a culorii, oferind posibilitatea imaginii de a avea un
total de 256 x 256 x 256 = 16,8 milioane de culori diferite.
1.2. Camerele foto i ochiul uman
Structura i funcionarea ochiului uman este similar camerei foto, amndou fiind
compuse din dou elemente majore: un ansamblu de lentile i un senzor de imagine. Ansamblul
de lentile captureaz o poriune a luminii emanate de un obiect i o focalizeaz pe senzorul de
imagine. Senzorul de imagine transforma monstra de lumin ntr-un semnal video, electronic sau
neural. Figura 1.2 prezint funcionarea lentilelor. n acest exemplu este prezentat imaginea
unui patinator proiectat pe un ecran. Termenul proiecie inseamn c exist o relaie de unu-la-
unu ntre fiecare punct al patinatorului i punctele de pe ecran. De exemplu, n cazul unei regiuni
de 1 mm x 1 mm, n lumina strlucitoare sunt aproximativ 100 trilioane fotoni de lumin care
lovesc aceast suprafa de un milimetru ptrat n fiecare secund.
Fig. 1.2. Focalizarea printr-o lentil.
9
n funcie de caracteristicile suprafeei se reflect n direcii aleatoare un procent de 1 %
pana la 99 % din aceti fotoni de lumin. Numai o mic parte din aceti protoni (fotoni) reflectai
vor trece prin lentil. De exemplu, numai a miliona parte din lumina reflectat va trece printr-o
lentil cu diametru de un centimetru localizat la trei metri de obiect.
O lentil reunete lumina provinit de la o surs punctiform i o foreaz s se ntoarc ntr-un
punct dintr-o alt locaie. Astfel o lentil poate proiecta o imagine pe o suprafat.
Refracia printr-o lentil schimba directia fotonilor n funcie de locaia si unghiul cu care
lovesc suprafaa. Aceste schimbri de direcie duc la extinderea luminii de la un singur punct
pentru a se ntoarce la un punct singular pe ecranul de proiecie. Toi aceti fotoni care se reflect
de la extremiti i trec prin lentile se reunesc la extremitatea imaginii proiectate.
ntr-un mod similar, o poriune de lumin provenit din orice punct aparinnd unui
obiect va trece prin lentile i va fi focalizat ntr-un punct al imaginii proiectate.
Fig. 1.3. Structura unei camere foto.
Fig. 1.4. Structura ochiului uman.
Figurile 1.3 i 1.4 prezint structura unei camere foto i a ochiului uman. Ambele sunt ca
un spaiu nchis delimitat de lentile la un capt i de un senzor de micare la captul opus.
Aparatul foto are acest spaiu umplut cu aer, pe cnd ochiul prezint un lichid transparent.
Fiecare sistem de lentile prezint doi parametrii reglabili: focarul i diametrul irisului.
Dac lentilele focalizeaz cum trebuie, fiecare punct al obiectului va fi proiectat pe o
suprafa circular de pe senzorul de imagine, rezultnd o imagine nceoat. n cazul camerei
foto, focalizarea este obinut prin micarea lentilelor nainte i napoi fa de senzorul de
imagine.
10
Comparativ cu aceasta, ochiul uman conine dou lentile, o curbur n partea din fa
numit cornee i o lentil ajustabil n interiorul ochiului. Corneea se ocup cu refracia luminii
dar are o form i o localizare fix. Ajustarea focalizrii este realizat de lentila interioar, o
structur flexibil ce poate fi deformat sub aciunea muchilor ciliari. Cnd muchii se contract
lentilele se aplatizeaz pentru a realiza o focalizare mai precis. n ambele sisteme, irisul este
folosit pentru a controla expunerea lentilelor i luminozitatea imaginii proiectat pe senzorul de
imagine. Irisul ochiului uman este format dintr-un esut muscular opac ce se poate contracta
pentru a face pupila mai mare (deschiderea de lumin).
Irisul camerei foto este un ansamblu care realizeaz aceeai funcie. Parametrii sistemelor
optice interacioneaz n mod neateptat. Acest lucru se intmpl deoarece diametrul irisului i
timpul de expunere se modific pentru a transfera cantitatea necesar de la scena observat la
senzorul de imagine. Dac folosim mai mult lumin dect cea necesar, diametrul irisului se
poate reduce, obinnd astfel o profunzime mai mare a cmpului. O mai mare profunzime a
cmpului ofer o imagine mai clar cnd obiectele se afl la distane variabile. n schimb,
prezena luminii d posibilitatea reducerii timpului de expunere, rezultnd o reducere a umbririi
n cazul micarii camerei sau a obiectelor in micare. Sistemele optice folosesc aceste tipuri de
compensaii.
Un iris ajustabil este necesar att n cazul camerelor foto ct i n cazul ochiului uman
deoarece intervalul intensitii luminii n mediul nconjurtor este mai mare dect cel care poate
fi folosit de senzorii de lumin. De exemplu, diferena intensitaii luminoase dintre soare i lun
este de aproape un milion. Adaugnd reflecia care poate varia ntre 1 % si 99 %, rezult o
intensitate luminoas ntr-un interval de aproape o sut de milioane. Intervalul dinamic al unei
camere foto este de obicei, ntre 300 i 1000, definit ca cel mai nalt semnal care poate fi
msurat, divizat de zgomotul propriu aparatului.
n alt ordine de idei, semnalul maxim produs este de un volt i zgomotul rms n ntuneric
este de aproape un milivolt. Lentilele camerelor tipice au un iris care i schimb suprafaa de
deschidere a luminii cu un factor de 300. Acesta rezult dintr-o camera foto care are un interval
dinamic de cateva sute de mii. Acelai ansamblu de lentile i de camere, folosite n timpul zilei,
se dovedete a fi nefolositor pe timp de noapte.
Ochiul uman opereaz cu un interval dinamic care abia acoper variaiile mediului
nconjurtor. Surprinztor, irisul nu este singurul mod n care acest interval dinamic este obinut.
11
De la ntuneric la lumin, suprafaa pupilei se schimb doar cu un factor de 20.
Celula nervoas responsabil de detectarea luminii ii ajusteaz senzitivitatea pentru a
manevra intervalul dinamic rmas. Ochiul uman are nevoie de cteva minute pentru a se adapta
luminii dup ieirea dintr-o sala de cinema intunecoas.
Modul prin care DSP (Digital Signal Processing) mbuntete imaginile l reprezint
reducerea intervalului dinamic pe care un observator l vede. O imagine reflectat este format
din dou semnale: un ablon bidimensional ce reprezint iluminarea imaginii, multiplicat cu un
ablon bidimensional al reflexiei prezente n scen. ablonul de reflexie are un interval dinamic
mai mic de 100, deoarece materialele obinuite reflect ntre 1 % i 99 % din lumina incident,
acesta coninnd majoritatea informaiilor imaginii i anume unde sunt situate obiectele n scen
i care sunt caracteristicile suprafeei.
Semnalul luminos depinde de sursele de lumin care se gsesc n apropiere, dar nu pe
obiectele propriu-zise. Semnalul de iluminare poate avea un interval dinamic de milioane, dar
numai 10 pn la 100 se regsesc n aceeai imagine. Semnalul luminos conine cteva informaii
importante dar poate degrada imaginea final prin creterea intervalului dinamic. DSP poate
mbuntii situaia atenund semnalul luminos, permiand semnalului de reflexie s domine
imaginea.
Suprafaa sensibil la lumin care acoper partea posterioar se numete retin. Cum se
poate observa i n figura 1.5 retina este mprit n trei straturi de celule nervoase: unul pentru
convertirea luminii n semnale neurale, unul pentru procesarea imaginii i unul pentru transferul
informaiei de la nervul optic la creier. Aproape la toate animalele, aceste trei straturi sunt
aparent poziionate n sens invers, celulele sensibile la lumina gsindu-se n ultimul strat,
necesitnd trecerea luminii prin celelalte straturi nainte de a fi detectate. Sunt dou tipuri de
celule care detecteaz lumina: conuri i bastonae, denumite dup forma lor observat la
microscop. Bastonaele sunt specializate s opereze cu lumin puin. Imaginea apare foarte
micat n absena luminii deoarece imaginea pare format dintr-un semnal cu un ablon granular
n continu schimbare. O cantitate foarte mic de lumin intr n ochi astfel nct pot fi detectai
aleator fotoni individuali. Acesta se numete zgomot statistic i poate fi ntlnit n toate imaginile
fr prea mult lumin, ca sistemele militare cu vedere nocturn.
Receptorii conuri sunt specializai n deosebirea culorilor, dar pot opera doar n prezena
luminii. Sunt trei tipuri de conuri: roii, verzi si albastre. Acest lucru se datoreaz prezenei
12
diferiilor fotopigmeni, substane chimice care absorb diferite lungimi de und (culori) ale
luminii.
Fig. 1.5. Retina.
Figura 1.6 prezint lungimile de und care declaneaz fiecare din aceti trei receptori.
Acetia sunt cunoscui sub numele de codare RGB i reprezint modul n care informaia despre
culoare prsete ochiul prin nervul optic. Sesizarea culorii la om este complicat de procesarea
neural realizat la nivelul inferior al creierului. Codificarea RGB este convertit n alt schema
de codificare, unde culorile sunt clasificate dup cum urmeaz: rou sau verde, albastru sau
galben i lumin sau ntuneric.
Fig. 1.6. Rspunsul spectral al ochiului uman.
13
Codificarea RGB reprezint o important limitare a vederii umane; lungimile de und
ntlnite n mediul nconjurtor sunt reunite n trei categorii largi. n comparaie cu vzul uman,
camerele specializare pot separa spectrul optic n sute sau mii de culori individuale. De exemplu,
acestea pot fi folosite pentru a clasifica celulele n canceroase sau sntoase, pentru a nelege
fizica unei stele ndeprtate sau pentru a vedea un soldat camuflat ascuns ntr-o pdure.
Bastonaele i conurile au aproximativ 3 m i sunt aglomerate n suprafaa de 3 cm pe 3
cm a retinei. Acest lucru face ca retina sa fie format dintr-un vector de aproximativ 10,000 x
10,000 = 100 milioane receptori. Spre deosebire de aceasta, fiecare nerv optic are doar un milion
de fibre nervoase care se conecteaz cu aceste celule. n medie, fiecare fibra a nervului optic este
conectat prin aproximativ 100 senzori de lumin prin intermediul stratului conector. n partea
central a retinei se gsete o mic regiune numit fovee folosit pentru o vedere cu rezoluie
mare. Fovea este diferit de restul retinei din anumite puncte de vedere. n primul rnd, nervul
optic i stratul conector se extind nspre fovea, permind receptorilor s fie mai expui luminii.
Acest lucru duce la perceperea foveei ca o mic depresiune n retin. n al doilea rnd, numai
conurile sunt prezente n fovee i sunt mult mai adunate dect n celelalte zone ale retinei.
Absena bastonaelor din fovee explic de ce vederea n timpul nopii este mai bun cnd privim
un obiect dintr-o parte dect cand l privim din fa. n al treilea rnd, fiecare fibr a nervului
optic este influenat numai de cateva conuri, demonstrnd o bun abilitate de localizare. Fovea
este surprinztor de mic. La o distan normal de citire, fovea vede doar o suprafa cu
diametrul de 1mm. Rezoluia este echivalent cu o reea de pixeli de 20 x 20 din interiorul
regiunii. Vederea uman compenseaz dimensiunea mic a foveei prin micarile sacadate ale
ochiului. Aceste micari permit foveei de rezoluie nalt s scaneze cmpul vizual n cautare de
informaii. n plus, conurile i bastonaele prezint un ablon de lumin n continu micare.
Acest lucru este important din cauza capacitii retinei de a se adapta la schimbrile intensitii
luminii. De altfel, dac ochiul este forat s rmn fix pe aceeai imagine, detaliile i culoarea
ncep sa dispar n cateva secunde.
1.3. Ajustarea luminozitii i contrastului
O imagine trebuie s aib o luminozitate corespunztoare i un bun contrast pentru o
vedere mai bun. Luminozitatea se refer la totalitatea zonelor de lumin i ntuneric dintr-o
imagine. Contrastul reprezint diferena de luminozitate dintre obiecte sau regiuni. De exemplu,
14
un iepure alb care alearg printr-un cmp alb are un contrast slab, n timp ce un caine negru pe
acelasi fundal alb are un contrast bun. Figura 1.7 prezint patru posibiliti de ajustare incorect a
luminozitii i a contrastului.
n cazul n care luminozitatea este prea mare, cazul a, pixelii albi sunt saturai, distrugnd
detaliile din acele zone. Opusul este prezentat n cazul b, unde luminozitatea este prea sczut,
saturnd pixelii negrii. Figura c prezint un contrast setat prea mare rezultnd un negru i un alb.
n final, d are un contrast scazut, toi pixelii sunt o nuan de gri, facnd astfel ca obiectele s nu
se poat deosebi.
Fig. 1.7. Ajustarea luminozitii i a contrastului.
Figurile 1.8 i 1.9 prezint luminozitatea i contrastul n detaliu. O imagine de test este
prezentat n figura 1.9, folosind ase nivele de luminozitate i contrast. Figura 1.8 prezint
construcia imaginii de test, un vector de 80 x 32 pixeli, fiecare pixel avnd o valoare ntre 0 i
255. Fundalul imaginii de test prezint zgomot distribuit uniform ntre 0 i 255. Pixelii celor trei
ptrate au valoarile 75, 150 i 225 de la stnga la dreapta. Fiecare ptrat conine doua triunghiuri
cu pixeli de valori diferite. Cu alte cuvinte, exist n imagine o regiune ntunecat ce conine
puine detalii, o regiune medie i o regiune luminoas ce conin doar cteva detalii.
15
Fig. 1.8. Imagine de test.
Figura 1.9. prezint cum ajustarea contrastului i a luminozitii permite diferitelor
caracteristici s fie vizibile. n figura 1.9, a luminozitatea i contrastul au un nivel normal.
Graficul corespunzator fiecarei poze numit transformata ieirii, reprezint o curba gamma sau un
tabel de look-up al rezultatului ce controleaz partea harware care afieaz imaginea. Valoarea
fiecarui pixel din imaginea memorat, reprezentnd un numr ntre 0 i 255, este transmis prin
tabelul de look-up pentru a produce un alt numr ntre 0 i 255. Noul numr digital dirijeaz
circuitul intensitii video, cu 0 prin 255 transformat n negru prin alb. Astfel, tabelul de look-up
reprezint numerele memorate n luminozitate.
Figura 1.9 a arat cum apare imaginea, cnd rezultatul transformrii este setat s nu
corecteze, semnalul de ieire este identic cu cel de intrare. Fiecare pixel din fundalul afectat de
zgomot este o nuan aleatoare de gri, egal distribuit ntre alb i negru. Cele trei ptrate din
figur sunt afiate ca diferite nuane de negru. Problema constatat este c triunghiurile din
interior nu pot fi observate, contrastul este prea redus pentru ca ochiul s poat deosebi aceste
regiuni de regiunile nconjurtoare.
Figurile 1.9. b i c prezint efectul modificrii luminozitii. Creterea luminozitii duce
transformata ieirii n stnga, n timp ce descreterea luminozitii duce transformata n dreapta.
Creterea luminozitii face ca fiecare pixel s par mai luminat. n cazul scderii luminozitii,
pixelii apar mai ntunecai. Aceste modificrii pot mbuntii vizibilitatea zonelor ntunecate sau
luminate, dar vor satura imaginea.
Figura 1.9. d reprezint o afiare optimizat pentru a observa valorile pixelilor care
variaz n jurul valorii de 75. Acest lucru a fost realizat prin mrirea contrastului, rezultnd o
imagine crescut n pant. De exemplu, valoarea memorat 71 i 75 a pixelului devine 100 i
116 n imagine, obinndu-se un factor de contrast de patru ori mai mare. Valorile dintre 46 i
16
109 sunt afiate ca un pixel negru, respectiv ca unul alb. Dezavantajul acestui contrast crescut l
repezint saturarea la negru a valorilor de la 0 la 45 i al saturrii la alb pentru valorile de la 110
la 225.
Fig. 1.9. Ajustarea luminozitii i a contrastului.
17
Figura 1.9. e prezint efectul creterii contrastului, rezultnd afiarea nesaturat a numai
16 din cele 256 nivele de stocare. Luminozitatea este sczut astfel nct cele 16 niveluri
folosibile sunt centrate pe numarul digital 150 (Digital Number). Detaliile ptratului central sunt
vizibile,restul imaginii fiind saturat, existnd doar civa pixeli cu nuan de gri. Aceast
tehnic a folosirii contrastului ridicat pentru a observa doar cteva niveluri este numit i
extindere greyscale.
Ajustarea contrastului reprezint un mod de micorare pe un interval mai mic de pixeli.
Controlul centrului luminozitii centreaz seciunea micorat pe valorile pixelului urmrit.
Majoritatea sistemelor digitale permit ajustarea luminozitii i a contrastului n acest mod i de
obicei permit o afisare grafic a rezultatului. Controlul luminozitii i al contrastului n
televiziune i n monitoarele video este realizat de circuite analogice i pot opera diferit. De
exemplu, controlul contrastului unui monitor poate ajusta amplificarea semnalului analogic, n
timp ce luminozitatea poate crete sau scadea offset-ul circuitului digital.
1.4. Transformate Grayscale
Ultima figur 1.9. f este diferit de celelalte, mai exact, n loc de folosirea unei pante
n graficul pentru un interval de valori de intrare, folosete o pant n graficul pentru dou
intervale. Acest lucru pesmite afiarea simultan a triunghiurilor din zonele aflate n stnga i n
dreapta imaginii. Ideea transformatei grayscale este aceea de a mbuntii contrastul dintre
valorile pixelilor de interes, aceasta realizndu-se prin definirea importanei fiecrui pixel ntre
valorile posibile 0 i 255. Cu ct valoarea este mai mare, cu att este mai mare contrastul din
imaginea afiat.
Fig. 1.10. Procesarea grayscale.
18
Imaginea din figura 1.10. a, a fost fcuta n ntuneric total folosind o camera foto CCD
care este sensibil la undele infraroii. Parametrul descris este temperatura, obiectul cu cea mai
mare temperatur emite o energie mai mare i apare mai luminos n imagine. Imaginea a este
dificil de vzut din cauza distribuiei inegale de valori pentru pixeli. Majoritatea imaginii este
mai inchis de aceea anumite detalii nu pot fi observate. Pe de alt parte, reeaua este saturat
aproape de alb.
Histograma acestei imagini este prezentat n figura 1.11. a, artnd c fundalul, oamenii
i reeaua au valori diferite.
a b
c
Fig. 1.11. Dezvoltarea transformatei Greyscale.
19
Transformata grayscale rezultat din aplicarea acestei strategii este prezentat n figura
1.11. c, etichetat cu manual. i se poate afla normaliznd suma curbei din figura 1.11. b astfel
ncat n partea dreapt s aib o valoare de 255. Contrastul n cazul unei valori particulare este
egal cu panta rezultatului transformatei. Aplicnd imaginii din figura 1.10. a, transformata
grayscale produce imaginea b. Fundalul este mai luminos, reeaua este mai ntunecat i
amndou au un contrast mai bun. Aceste mbuntiri sunt puse pe seama contrastului,
producnd o imagine nu foarte detaliat.
Transformatele Greyscale pot mbuntii semnificativ vizibilitatea unei imagini.
Egalizarea histogramelor este o modalitate de a automatiza procedura. Se poate observa c
histograma din figura 1.11. a i curba de apreciere a contrastului din figura 1.11. b au aceeai
form. Rezultatul transformrii poate fi aflat prin integrarea i normalizarea histogramei.
Folosind acele valori care au cel mai mare numr de pixeli, se ajunge la obinerea celui mai bun
contrast. Egalizarea histogramelor reprezint o interesant procedur matematic deoarece
maximizeaz entropia unei imagini, o msur a cantitii de informaie transmis de un numar fix
de bii.
1.5. Deformarea imaginilor
Una din problemele fotografierii unei planete este distorsionarea formei sferice de la
curbur. De exemplu, presupunnd c folosim un telescop pentru a fotografia o regiune sferic
aproape de centrul unei planete, ca n figura 1.12. a, dup cteva ore, planeta se va roti in jurul
axei sale, aprnd ca in figura 1.12. b. Regiunea fotografiat anterior apare deformat deoarece
este curbat aproape de orizontul planetei.
Fiecare din cele dou imagini conine informaii complete despre regiune, din dou
perspective diferite. Este ceva obinuit s obinem o fotografie ca cea de la punctul a, dorind s
arate ca b, sau invers. De exemplu, un satelit care dorete s cartografieze suprafaa unei planete,
poate realiza mii de fotografii de deasupra, ca n fotografia 1.12. a. Pentru a realiza o fotografie
mai natural a ntregii platene, ca fotografia planetei Saturn, figura 1.12, fiecare imagine trebuie
deformat i plasat n poziia potrivit. Pe de alt parte, dac lum n considerare cazul un satelit
ce monitorizez vremea, situat aproape de un uragan, acesta va obine imagini oblice, ca cele din
figura 1.12. b. Imaginea este apoi convertit ntr-o imagine realizat de deasupra ca in figura
1.12. a. Aceste transformri spaiale se numesc deformri. Fotografia spaial folosete n mare
20
parte deformarea. Deformarea digital poate fi folosit pentru a corecta distorsiunile motenite
de la dispozitivele cu vedere nocturn. Artitii ce lucreaz cu efecte speciale pe imagini n
micare folosesc deformarea imaginilor. De exemplu, tehnica numit deformare morfologic a
unui obiect n alt obiect, folosind o serie de cadre. Aceasta poate produce iluzii ca un copil
transformat ntr-un adult sau un om transformat ntr-un lup.
Fig. 1.12. Fotografierea unei planete.
Deformarea preia imaginea iniial (un vector bidimensional) i genereaz o imagine
deformat (alt vector bidimensional). Dndu-se o linie i calculndu-se o coloan a imaginii
deformate, avem o linie i o coloan corespunztoare n imaginea original. Valoarea pixelului
din imaginea original este transferat imaginii deformate pentru a efectua algoritmul. n jargon,
linia i coloana din care provine un pixel n imaginea original este numit adresa surs.
Tranferul fiecrui pixel din imaginea original n imaginea deformat este partea cea mai uoar.
Cea mai dificil parte este calcularea adresei surs, pentru fiecare pixel din imaginea deformat,
21
aceasta fiind o problem pur matematic. Simpla laire a imaginii pe direcie orizontal sau
vertical implic doar o multiplicare a numrului liniei sau coloanei pentru a afla adresa surs.
Una din tehnicile folosite n deformare este interpolarea subpixelilor. De exemplu,
presupunem dezvoltarea unui set de ecuaii ce transform o linie i o coloan din imaginea
deformat, ntr-o adres surs din imaginea original.
Se ncerc aflarea valoari pixelului din linia 10 i coloana 20 din imaginea deformat. Se
introduc informaiile n ecuaii: linie = 10, coloan = 20 i se obine linie_surs = 20.2,
coloan_surs = 14.5. Calculele vor folosii virgula mobil i adresa surs nu va fi un numr
ntreg. Cea mai uoar metod este folosirea algoritmului Celui mai apropiat vecin care
rotunjete adresa la cel mai apropiat numr ntreg.
Interpolarea biliniar are nevoie de mai mult efort, dar se obine o imagine semnificativ
mai bun. Figura 1.13 prezint modul de lucru al acestui algoritm.
Fig. 1.13. Interpolarea bililiar.
Se cunoate valoarea a patru pixeli situai de jur mprejurul adresei fracionale, valoarea
pixelilor de pe linia 20 i 21, i coloana 14 i 15. n acest exemplu considerm pentru pixeli
valorile 91, 210, 162 i 95.
Problema const n interpolarea acestor patru valori. n primul rnd, interpolarea pe
orizontal dintre coloanele 14 i 15. Aceasta produce dou valori intermediare 150.5 pe linia 20
i 128.5 pe linia 21. n al doilea rnd, se interpoleaz aceste dou valori intermediare pe
vertical. Aceasta produce un pixel interpolat biliniar cu valoarea 139.5, ce va fi transferat
imaginii deformate.
22
CAPITOLUL 2
PROCESAREA LINIAR A IMAGINILOR
Procesarea liniar a imaginilor se bazeaz pe dou tehnici DSP convenionale: convoluia
i analiza Fourier. Convoluia are o importan mai mare de cnd imaginile au informaiile
codate n domeniul spaial. Filtrarea liniar poate mbuntii imaginile n mai multe moduri:
ascuirea marginilor imaginilor, reducerea zgomotului aleator, corectarea iluminarea inegal,
deconvoluia pentru corectarea neclaritaii i micrii. Aceste proceduri se realizeaz prin
convoluia imaginii originale folosind un filtru potrivit, obinandu-se astfel imaginea filtrat. Cea
mai serioas problem a convoluiei imaginilor o reprezint numrul mare de calcule ce trebuie
efectuate, de obicei fiind folosit un timp de execuie foarte lung. Sunt prezentate n continuare
dou tehnici importante pentru reducerea timpului de execuie: convoluia prin separabilitate i
convoluia Transformatei Fast Fourier.
2.1. Convoluia
Convoluia imaginilor funcioneaz ca o convoluie unidimensional. Imaginea poate fi
vzut ca o sum de impulsuri, funcii delta scalate i deplasate. De asemenea, sistemele liniare
sunt caracterizate de rspunsul lor la impulsuri. Imaginea rezultat este echivalent cu imaginea
iniial combinat cu raspunsul sistemului la impuls.
Funcia bidimensional delta, este o imagine compus numai din zerouri, cu excepia
unui singur pixel din linia 0, coloana 0, care are valoarea unu. Deocamdat, presupunem c
indecii liniilor i coloanelor pot avea att valori pozitive ct i negative, asemntor cu un unu
situat n centrul unei mulimi de valori zero. Cnd funcia delta trece printr-un sistem liniar,
singurul punct diferit de zero va fi convertit n alte abloane bidimensionale. Singurul lucru care
se poate ntmpla unui punct este de a se ntinde, rspunsul impulsului numindu-se in jargon
Funcie de Raspndire a Punctului (Point Spread Function).
Ochiul uman ofer un bun exemplu acestor concepte. Dup cum este descris i n
capitolul anterior, primul nivel al retinei transform imaginea reprezentat ca un ablon de
23
lumin ntr-o imagine reprezentat ca un ablon de impulsuri nervoase. Al doilea nivel al retinei
proceseaz aceast imagine neural i o transmite celui de-al treilea nivel, fibrelor care formeaz
nervul optic. Presupunnd c acest sistem este liniar, imaginea procesat n retin poate fi
determinat de inspectarea imaginii ce apare pe nervul optic.
Figura 2.1 evideniaz acest experiment. Figura 2.1. a prezint impulsul ce lovete retina
n timp ce figura 2.1. b prezint imaginea ce apare pe nervul optic. Nivelul mijlociu al ochiului
transmite unda luminoas, dar produce o zon circular de ntuneric. Ochiul ndeplinete acest
lucru printr-un proces numit inhibiie lateral. Dac o celul nervoas din nivelul de mijloc este
activat, descrete abilitatea vecinilor si de a deveni activi. Cnd o imagine este privit de ochi,
fiecare punct al imaginii contribuie la o versiune scalat i deplasat a acestui rspuns n impuls
al imaginii ce apare pe nervul optic. Cu alte cuvinte, imaginea privit este combinat cu PSF
pentru a produce imaginea neural transmis creierului.
Fig. 2.1. PFS ale ochiului.
Fiinele umane i alte animale folosesc vederea pentru a identifica obiectele apropiate.
Acest lucru este realizat prin deosebirea unei regiuni din imagine de alta regiune, bazndu-se pe
diferenele de lumina i culoare. Cu alte cuvinte, primul pas n recunoaterea unui obiect este
identificarea marginilor, discontinuitatea care separ un obiect de fundalul su. Nivelul de mijloc
24
al retinei ajut la realizarea acestei sarcini prin schiarea marginilor din imaginea privit. Figura
2.2. prezint o imagine ce trece de la ntuneric la lumin, producnd o margine neconturat.
Fig. 2.2. Benzi Mach.
Figura 2.2. a prezint profilul intensitii acestei imagini, ablonul luminozitii ce intr
n ochi. Figura 2.2. b prezint profilul luminozitii ce apare pe nervul optic, imaginea transmis
creierului. Procesarea din retin prezint marginea dintre zonele luminoase i cele ntunecate
mult mai abrupt, susinnd c aceste dou regiuni sunt diferite.
Supracreterea rspunsului marginilor creeaz o iluzie optic. n apropierea marginii,
regiunea ntunecat apare ca fiind neobinuit de ntunecat, iar regiunea luminat apare ca fiind
neobinuit de luminat. Lumina rezultat i fiile de ntuneric se numesc Benzi Mach, dup
Ernst Mach (1838 - 1916), un fizician austriac care a descris pentru prima dat acest femomen.
n cazul semnalelor unidimensionale, convoluia imaginii poate fi interpretat n dou
moduri: la intrare i la ieire. La intrare, fiecare pixel al imaginii contribuie la scalarea i
deplasarea versiunii funciei de rspndire a punctului la imaginea rezultat. Privit de la ieire,
fiecare pixel din imaginea rezultat este influnat de un grup de pixeli din imaginea original.
25
Pentru semnale unidimensionale, regiunea de influen este rspunsul impusului inversat
stnga-dreapta. Pentru semnalele imaginii este PSF inversat stnga-dreapta i sus-jos. De vreme
ce majoritatea PSF folosite n DSP sunt simetrice n jurul axelor verticale i orizontale, aceste
inversri nu influeneaz i de aceea pot fi ignorate.
Fig. 2.3. Funcii comune de Raspndire a Punctului (PSF).
Figura 2.3 prezint cele mai des folosite PSF. n figura 2.3. a, cazemata are vrf
circular i margini drepte. De exemplu, dac lentilele unei camere foto nu focalizeaz, fiecare
26
punct al imaginii va fi proiectat ntr-un punct circular pe senzorul de imagine ( folosind figura
1.2, considerm efectul mutrii ecranului de protecie mai aproape sau mai departe de lentile).
Cu alte cuvinte, cazemata este PSF al unei imagini neclare.
Gaussianul prezentat n figura 2.3. b, este PSF al sistemelor de imagini limitate de
imperfeciuni aleatoare. Prin urmare, imaginea de la un telescop este neclar din cauza
turbulenelor atmosferice, ducnd la transformarea fiecrui punct de lumin ntr-un Gaussian n
imaginea final. Senzorii de imagine, ca CCD i retina, sunt de obicei limitate de dispersia de
lumin i/sau electroni. Teorema principal de limitare oblig ca o Gaussian neclar s fie
cauzat de aceste tipuri de procese aleatoare.
Cazemata i Gaussianul sunt folosite n procesarea de imagini ca i Filtrul medie
alunectoare ce este folosit pentru semnale unidimensionale. O imagine combinat cu PSF va
aprea neclar i va avea margini puin definite, dar va fi mai puin afectat de zgomotul aleator.
Acestea se numesc filtre de netezire, prin aciunea lor n domeniul timp, sau filtre trece-jos,
pentru felul n care trateaz domeniul frecven. Ptratul PSF, prezentat n figura 2.3. c, poate fi
folosit ca un filtru de netezire, dar nu este unul circular simetric. Aceste lucru rezult din
neclaritatea diferit pe direcii diagonale, comparativ cu direciile vertical i orizontal.
Opusul unui filtru de netezire este intensificarea marginilor sau filtrul trece-sus. Tehnica
de inversiune spectral este folosit pentru a interschimba cele dou filtre. Dup cum se poate
observa n figura 2.3. d, nucleul filtrului pentru intensificarea marginilor este format din partea
negativ a filtrului de netezire, adugnd o funcie delta n centrul su. Procesarea imaginilor ce
se desfoar n retin reprezint un exemplu al acestui tip de filtru.
Figura 2.3. e, prezint o funcie sinc bidimensional. Procesarea unui semnal
unidimensional folosete filtru banda de tip sinc pentru separarea benzilor de frecven. Pentru c
imaginile nu conin informaiile codate n domeniul frecven, funcia sinc este rareori folosit ca
un nucleu al filtrului de imagini, dei poate fi folosit n cateva probleme teoretice. Aceast
funcie poate fi greu de folosit deoarece partea inferioar descrete ncet n amplitudine (1/x),
nsemnnd c trebuie tratat ca fiind infinit. Comparativ cu aceasta, partea inferioar a filtrului
Gaussian descrete rapid (
2
x
e

) i poate fi trunchiat fr a o modifica.


Toate aceste nuclee ale filtrelor folosesc indeci negativi pentru linii i coloane,
permind ca PSF s fie centrat n linie = 0 i coloana = 0. Indecii negativi sunt eliminai n
DSP unidimensional, prin deplasarea nucleului filtrului pn cnd toate zerourile ajung la un
27
index pozitiv. Aceast deplasare mut i semnalul rezultat cu un grad egal, care de obicei nu
intereseaz. n comparaie cu aceasta, deplasarea dintre imaginea iniial i cea final n general
nu este acceptat. Indecii negativi reprezint norma nucleelor filtrelor folosite n procesarea
imaginilor.
O problem a convoluiei unei imagini este aceea a numrului mare de calcule. De
exemplu, cnd o imagine de 512 x 512 pixeli este combinat cu o imagine PSF 64 x 64 pixeli,
necesit mai mult de un miliard de multiplicri i adunri. Timpii crescui de execuie poate face
aceast tehnic impracticabil. Trei interpretri sunt folosite pentru a mbuntii acest
parametru.
Prima strategie folosete o mic PSF de 3 x 3 pixeli. Aceasta este ndeplinit prin
repetarea prin fiecare eantion al imaginii rezultate, folosind cod optimizat pentru multiplicarea
i acumularea celor nou pixeli corespunztori din imaginea iniial. O cantitate surprinztoare
de procesare poate fi efectuat numai cu 3 x 3 pixeli, deoarece este suficient de mare pentru a
afecta marginile unei imagini.
A doua strategie este folosit cnd se dorete o PSF mai mare. Aceasta necesit un nucleu
al filtrului care e separabil, o proprietate care permite convoluiei s ndeplineas o serie de
operaii unidimensionale. Aceasta strategie poate mbuntii viteza de execuie de sute de ori.
A treia strategie este convoluia FFT, folosit n cazul nucleelor mari i are o anumit
form. Chiar i n cazul mbuntirii vitezei cu ajutorul FFT, timpul de execuie va fi foarte
mare.

2.2. Modificarea marginilor folosind PSF 3x3
Figura 2.4 prezint cateva operaii 3 x 3. Figura 2.4. a, reprezint o imagine capturat cu
ajutorul unui scanner cu raze X pentru bagaje folosit n aeroporturi. Cnd aceast imagine este
combinat cu funcia delta de 3x3 (un unu nconjurat de zerouri), imaginea ramane neschimbat.
Figura 2.4. b, prezint imaginea combinat cu un nucleu de 3 x 3 constnd ntr-o cifr de unu
negativ i apte zerouri. Aceasta operaie se numete deplasare i scadere, deoarece o versiune
deplasat a imaginii (corespunznd lui -1) este scazut din imaginea iniial (corespunztoare lui
1). Aceast procesare produce o iluzie optic de apropiere sau de deprtare a unor obiecte,
realiznd un efect 3D sau n relief. Creierul interpreteaz imaginile ca i cum lumina ar fi
28
deasupra, n forma normal n care lumea o prezint. Dac margimile unui obiect sunt luminoase
n vrf i ntunecate la baz, obiectul este perceput ca stapungnd fundalul. Pentru a observa alt
efect, se poate ntoarce imaginea invers i obiectele vor strpunge fundalul.
Figura 2.4. c, prezint detectarea marginilor PSF i imaginea rezultat. Fiecare margine
din imaginea iniial este transformat ntr-un ntuneric limitat i dungi luminoase paralele cu
marginea original. Limita acestei imagini poate izola att dungile ntunecate sau luminoase,
oferind un algoritm simplu de detectare a marginilor unei imagini.

Fig.2.4. Modificarea marginilor folosind PSF 3x3.
29
O tehnic comun de procesare a imaginii este prezentat n figura 2.4. d: intensificarea
marginilor. Aceasta este numit uneori operaia de ascuire. n figura 2.4. a, obiectele au un
contrast bun (nivel apropiat de ntuneric i lumin) dar margini neclare.
n imaginea din figura 2.4. c, obiectele nu au contrast, dar margini foarte ascuite.
Strategia este de a multiplica imaginea cu margini vizibile cu o constant k, i de a o aduga
imaginii cu un bun contrast. Aceste operaii fiind echivalente cu imaginea iniial combinat cu
PSF de 3 x 3 prezentat n figura 2.4. d. Dac avem k = 0, PSF devine o funcie delta i imaginea
rmne neschimbat. Dac mrim valoarea lui k, imaginea prezint o definire mai bun a
marginilor. n cazul imaginii din figura 2.4. d, valoarea k = 2 au fost folosite: dou pri din
imaginea c i o parte imaginea a. Aceast operaie mimeaz abilitatea ochiului de a ascui
marginile, obiectele fiind mai uor de separat de fundal.
Cele patru operaii prezentate n figura 2.4 au fost realizate practic n capitolul 5 al
lucrrii. Combinarea cu oricare din funciile de mai sus poate duce la apariia unor valori
negative de pixeli n imaginea final. Chiar dac programul poate folosi valori negative pentru
pixeli, imaginea afiat nu poate.
Cea mai comun metod de rezolvare este adaugarea unui offset fiecarui pixel. O
alternativ este trunchierea valorilor ce depesc intervalul.
2.3. Convoluia prin separare
Aceasta este o tehnic pentru convoluie rapid, att timp ct PSF este separabil. Un PSF
este separabil dac poate fi divizat n dou semnale bidimensionale: o proiecie vertical i una
orizontal.
Figura 2.5 prezint un exemplu de imagini separabile, patratul PSF. n mod specific,
valoarea fiecrui pixel din imagine este egal cu punctul corespunztor proieciei orizontale
nmulit cu punctul corespunztor proieciei verticale.
Din punct de vedere matematic, poate fi exprimat n felul urmtor:
x[r,c] = vert[r] * oriz[c] , (2.1)
unde: x[r,c] reprezint o imagine bidimensional, vert[r] i oriz[c] sunt proieciile
unidimensionale.
30
Fig. 2.6. Crearea unei PSF separabile.
n mod evident, multe imagini nu ndeplinesc aceste cerine. De exemple, cazemata nu
este separabil. Exist un numr infinit de imagini separate. Acest lucru poate fi privit ca
generarea arbitrar a proieciilor verticale i orizontale, gsind astfel imaginea care le
corespunde. De exemplu, figura 2.6 ilustraz aceste profile care sunt dublu exponeniale.
Imaginea care corespunde acestora poate fi aflat din ecuaia 2.1. Cnd este afiat, imaginea
apare ca un diamant ascuit care descrete spre zero, cu ct distana de la origine crete.
31
n cazul celor mai multe probleme, PSF ideal este simetric circular, asemntor
cazematei. Cu toate acestea imaginile digitale sunt de obicei stocate i procesate n forme
ortogonale, formate din linii coloane, dorindu-se modificarea imaginii n toate direciile.
Fig. 2.7. Separarea unui Gaussian.
Figura 2.7 ilustraz c proieciile unei imagini Gaussiene bidimensionale sunt de
asemenea Gaussiene. Imaginea i proieciile au aceeai deviaie standard.
Pentru a mbina o imagine cu nucleul unui filtru separabil, se mbin fiecare linie din
imagine cu fiecare proiecie orizontal, rezultnd o imagine intermediar, apoi, se combin
fiecare coloan a imaginii imtermediare cu proiecia vertical a PSF. Imaginea rezultat este
identic cu mbinarea direct a imaginii iniiale cu nucleul unui filtru. Dac se mbin mai nti
coloanele i apoi liniile, se obine acelai rezultat.
mbinarea unei imagini NxN cu nucleul unui filtru necesit un timp proporional cu
N
2
M
2
. Cu alte cuvinte, fiecare pixel din imaginea final depinde de toi pixelii nucleului. n
comparaie, mbinarea prin separare necesit un timp proporional cu N
2
M. n cazul nucleelor de
sute de pixeli, tehnica va reduce timpul de execuie cu un factor de cteva sute.
32
Lucrurile se pot mbuntii dac se dorete folosirea unui PSF ortogonal (Fig. 2.5) sau o
PSF exponenial dubl (Fig. 2.6), calculele fiind mult mai eficiente. Acest lucru se ntmpla
deoarece convoluii unidimensionale sunt filtre medii alunectoare, respectiv filtre singulare
bidirecionale. Ambele filtre pot fi evideniate folosind recursivitatea. Acest fapt duce la un timp
de convoluie de N
2
, complet independent de dimensiunea PSF. Cu alte cuvinte, o imagine poate
fi combinat cu cte PSF este nevoie, cu doar cteva operaii per pixel. De exemplu, o convoluie
a unei imagini de 512 x 512 necesit doar cteva sute de milisecunde pe un calculator.
2.4. Analiza Fourier a imaginilor
Analiza Fourier este folosit n procesarea imaginilor asemntor cu semnalele
unidimensioanale. Totui, imaginile nu au informaiile codificate n domeniul frecven, fcnd
tehnica mai puin folosit. De exemplu, cnd transformata Fourier este preluat dintr-un semnal
audio, formele de und ale domeniului timp sunt convertite ntr-un spectru de frecven usor de
neles. n comparaie, obinerea unei transformate Fourier dintr-o imagine convertete informaia
corect n domeniul spaial ntr-o form aglomerat.
n domeniul frecven nu se folosete proiectarea filtrelor. Principala caracteristic a
imaginii este marginea, linia ce separ un obiect sau regiune de un alt obiect sau regiune. De
vreme ce o margine este compus dintr-un numr mare de componente de frecven, ncercarea
de modificare a imaginii prin manipularea unui spectru de frecvene nu este avantajoas. Filtrele
de imagine sunt proiectate n domeniul spaiu, unde informaia este codificat n forma sa simpl.
Analiza imaginii Fourier are anumite proprieti utile. De exemplu, convoluia in
domeniul spaial corespunde multiplicrii din domeniul frecven. Acest lucru este important
deoarece multiplicarea este o operaie matematic mai simpl dect convoluia. n cazul
semnalelor unidimensionale, aceast proprietate permite convoluia transformatei Fast Fourier i
diferite tehnici inverse.
O alt proprietate important n domeniul frecven este teorema Fourier (Fourier Slice
Theoreme), relaia dintre o imagine i proieciile sale (imaginea vzut de pe marginile sale).
Aceasta reprezint bazele tomografiei computerizate, o tehnic de fotografiere folosind raze X,
folosit n medicin i industrie.
Spectrul de frecven al unei imagini poate fi calculat n diferite moduri, dar metoda
transformatei Fast Fourier prezentat este singura cu aplicare practic. Imaginea original trebuie
33
sa fie compus din N linii i N coloane, unde N reprezint o putere a lui 2. Dac dimensiunea
imaginii iniiale nu este o putere a lui 2, atunci se adaug pixeli cu valoarea 0 pentru a se obine o
dimensiune corect. Numim vectorul bidimensional care reine imaginea Vector Real. n plus, se
va folosi nc un vector de aceeai dimensiune ce se va numi Vector Imaginar.
Reeta pentru calcularea transformatei Fourier a unei imagini este foarte simpl: se
extrage transformata Fast Fourier unidimensional a fiecarei linii, urmat de transformata Fast
Fourier a fiecrei coloane. Mai exact, se incepe extragndu-se trasformata Fast Fourier a
valorilor primilor N pixeli n linia 0 a vectorului Real. Partea real a rezultatului transformatei
Fast Fourier este introdus napoi n linia 0 a vectorului Real, n timp ce partea imaginear a
rezultatului este introdus n linia 0 a vectorului Imaginar. Dup repetarea acestei proceduri
pentru fiecare linie de la 1 la N-1, att vectorul Real, ct i vectorul Imaginar conin imaginea
intermediar. La pasul urmator, procedura se repet pentru fiecare coloan a datelor
intermediare. Se iau cele N valori ale pixelilor din coloana 0 a vectorului Real i cele N valori
din coloana 0 a vectorului Imaginar i se calculeaz transformata Fast Fourier. Partea real a
rezultatului trasformatei Fast Fourier se introduce napoi n coloana 0 a vectorului Imaginar.
Dup ce repetm pentru coloanele de la 1 la N-1, fiecare vector a fost suprascris cu spectrul de
frecven al imaginii.
De vreme ce direciile verticale i orizontale sunt echivalente ntr-o imagine, acest
algoritm poate fi evideniat i prin transformarea coloanelor i a liniilor. Indiferent de oridinea
folosit, rezultatul este acelai. Din modul n care trasformata Fast Fourier reine datele,
amplitudinile componentelor de frecven joas se vor situa n colurile spectrului bidimensional,
n timp ce frecvenele nalte vor fi n centru. Transformata Fourier invers a unei imagini este
calculat aplicnd transformata Fast Fouriei invers fiecrei linii, urmat de tranformata Fast
Fourier invers pentru fiecare coloan.
Figura 2.9 prezint un exemplu de transformat Fourier a unei imagini. Figura 2.9. a
reprezint imaginea iniial, o vedere la microscop a suprafeei unui circuit integrat. Figura 2.9. b
prezint partea imaginar i real a spectrului de frecven a imaginii. Cum domeniul frecven
poate conine valori negative ale pixelilor, valorile greyscale ale imaginii sunt interpretate astfel
nct valorile negative reprezint ntuneric, zero reprezint gri i valorile pozitive reprezint
lumin. Componentele cu frecven sczut prezente n imagine sunt mai mari n amplitudine
dect componentele cu frecven crescut. Acest lucru justific prezena pixelilor foarte
34
ntunecai i foarte luminai n cele patru coluri ale figurii 2.9. b. n plus, spectrul imaginilor
obinuite nu are o ordine precis, aprnd aleator.
a. Imagine

b. Spectrul frecven afiat
n form dreptunghiular
c. Spectrul frecven afiat
n form polar
d. Spectrul frecven afiat
n form polar cu spectrul deplasat
pentru ca punctul zero sa fie n
centru

Fig. 2.9. Spectrul de frecven a unei imagini.
35
Dup cum prezint figura 2.9. c, forma polar a spectrului unei imagini este uor de neles.
Frecvenele sczute n marime au valori mari pozitive (colurile albe), n timp ce frecvenele mari
au valori mici pozitive (centrul negru). Faza arat la fel n cazul frecvenei sczute sau ridicate,
funcionnd aleator ntre i .
Figura 2.9. d prezint un mod alternativ de afiare a spectrului imaginii. De vreme ce
domeniul spaial conine semnal discret, vectorii domeniului frecven sunt dublate de un numr
infinit de ori la stnga, dreapta, n sus i n jos. De pild, n cazul unui perete cu dale, fiecare dal
avnd o dimensiune de NxN ca n figura 2.9. c. Figura 2.9. d reprezint, de asemenea, o seciune
NxN din acelai perete, suprapunerea a patru dale; partea central a imaginii reprezint
mbinarea celor patru dale. Cu alte cuvinte, imaginea din figura 2.9. c este echivalent cu cea din
figura 2.9. d, doar c a fost deplasat orizontal cu N/2 pixeli i cu N/2 pixeli vertical n spectrul
periodic al frecvenei. Aceast modificare aduce pixelii luminai n cele patru coluri ale figiurii
2.9. c i mpreun n centrul figurii 2.9. d.
Figura 2.10 prezint cum este organizat un domeniu bidimensional de frecven
(frecvenele sczute plasate n coluri). Linia N/2 i coloana N/2 mpart spectrul de frecven n
patru cadrane. Pentru partea real i dimensiune, cadranul din dreapta-sus reprezint imaginea n
oglind a cadranului din stnga-jos, n timp ce colul din stnga-sus este imaginea n oglind a
cadranului din dreapta-sus. Aceast simetrie este prezent i n partea imaginar i n faz, cu
precizarea c pixelii din oglind sunt de semn contrar. Cu alte cuvinte, fiecare punct din spectrul
de frecven are un punct pereche n partea amplasat simetric. Unul dintre puncte reprezint
frecvena pozitiv, iar celalalt corespunde frecvenei negative.
Aceast simetrie poate fi exprimat astfel:
ReX[r,c] = ReX [N-r,N-c]
ImX[r,c] = -ImX [N-r,N-c] (2.2)
Aceste ecuaii iau n considerare faptul c spectrul frecvenei este periodic, repetndu-se
la fiecare N eantion cu indeci de la 0 la N-1. Cu alte cuvinte, X[r,N] este echivalent cu X[r,0],
X[N,c] echivalent cu X[0,c] i X[N,N] echivalent cu X[0,0]. Aceste puncte sunt situate n
punctele [0,0], [0,N/2], [N/2,0] i [N/2,N/2]. Fiecare pereche din domeniul frecven corespunde
unei sinusoide n domeniul spaiu. Dup cum este prezentat i n figura 2.10. a, valoarea [0,0]
corespunde sinusoidei de frecven 0 din domeniul spaial, componenta discret a imaginii.
36


Fig. 2.10. Sinusoide bidimensionale.
37
Exist reprezentat doar un singur punct, deoarece este propria sa pereche. n imaginile
din figura 2.10.b, c i d sunt prezentate alte perechi de puncte ce corespund sinusoidelor
bidimensionale care se prezint sub forma unor valuri. Sinusoidele unidimensionale au o
frecven, o faz i o amplitudine. Sinusoidele bidimensionale au i direcie.
Frecvena i direcia fiecrei sinusoide este determinat de localizarea perechii de puncte
n domeniul frecven. Se traseaz o linie de la fiecare punct n punctul cu frecvena zero din
colul exterior cadranului n care este situat punctul, [0,0], [0,N/2], [N/2,0] i [N/2,N/2] (lucru
indicat de cercurile din figur). Direcia acestor linii determin direcia sinusoidei spaiale, n
timp ce lungimea este proporional cu frecvena undei. Acest lucru duce la prezena frecvenelor
sczute n apropierea colurilor i a frecvenelor mari n apropierea centrului.
Cnd spectrul este afiat avnd frecvena zero n centru (Fig. 2.9. d), linia de la fiecare
pereche de puncte este trasat pn la valoarea digital din centrul imaginii [N/2, N/2]. Aceast
organizare este una comod, deoarece toate liniile sunt desenate n acelai punct. Alt avantaj al
plasarii punctului zero n centru este suprapunerea sa peste spectrul frecvenei continue. Cnd
domeniul spaial este continuu, domeniul frecven este aperiodic. Aceasta plaseaz frecvena
zero n centru celelalte puncte cu frecvene mai mari pn la infinit fiind dispuse n celelalte
direcii. Cu toate acestea, majoritatea calculelor sunt evideniate cu ajutorul unor vectori care
rein datele n alt format ( frecvenele sczute n coluri).
Chiar i n cazul trasformatei Fast Fourier, timpul necesar calculrii transformatei Fourier
este extrem de mare. De exemplu, transformata Fourier a unei imagini de 512 x 512 necesit
cteva minute pe un PC, acesta fiind de aproximativ 10.000 ori mai ncet dect timpul necesar
unei procesri de imagini, 30 cadre pe secund. Acest timp de execuie rezult din cantitatea
mare de informaie coninut n imagine. n comparaie sunt tot atia pixeli ntr-o imagine cte
cuvinte sunt ntr-o carte. Procesarea de imagini prin intermediul domeniului frecven va deveni
mai popular cu ct calculatoarele vor deveni mai rapide.
2.5. Convoluia transformatei Fast Fourier
Chiar dac transformata Fourier nu este rapid, reprezint cea mai rapid modalitate de
combinare a unei imaginii cu un mare nucleu al unui filtru. De exemplu, combinarea unei
imaginii 512 x 512 cu un PSF de 50 x 50 este de 20 de ori mai rapid folosind transformata Fast
Fourier comparativ cu convoluia convenional.
38
Convoluia transformatei Fast Fourier folosete principiul c multiplicarea n domeniul
frecven corespunde convoluiei n domeniul timp. Semnalul de intrare este transformat n
domeniul frecven folosind transformata Fourier discret (DFT), multiplicat cu rspunsul n
frecven al filtrului, i apoi fiind transformat napoi n domeniul timp folosind inversa DFT.
Aceast tehnic fundamental se cunotea i n zilele lui Fourier, dei nu era foarte folosit, acest
lucru datorndu-se faptului c timpul necesar calculrii DFT este mai mare dect timpul necesar
calculrii convoluiei. Acest lucru s-a schimbat n anul 1965, odat cu apariia tranformatei Fast
Fourier (FFT). Folosind algoritmul transformatei Fast Fourier pentru calcularea transformatei
Fourier discrete (DFT), convoluia prin domeniul frecven poate fi mai rapid dect convoluia
direct a semnalelor n domeniul timp. Rezultatul final este acelai, numai numrul de calcule s-a
modificat prin folosirea algoritmului mai eficient. Din acest motiv, convoluia FFT se numete i
Convoluie High-Speed.
Convoluia transformatei Fast Fourier folosete metoda adunrii cu suprapunere
prezentat n figura 2.11, numai ordinea de convertire a segmentelor de intrare n segmente de
ieire este schimbat. Figura 2.12 prezint un exemplu de convertire folosind convoluia FFT.
Pentru nceput, rspunsul n frecven al filtrului este aflat obinnd DFT al nucleului, folosind
FFT. Bunoar, figura 2.12. a prezint un exemplu de nucleu, un filtru trece-band filtru banda
de tip sinc. FFT l convertete ntr-o parte real i una imaginar a rspunsului n frecven
prezentat n figura 2.12. b i c. Aceste semnale din domeniul frecven nu seamn cu un filtru
trece-band deoarece au o form dreptunghiular. Forma polar este folosit de oameni pentru a
nelege mai bine domeniul frecven, n timp ce forma dreptunghiular este folosit pentru
calculele matematice. Parile imaginar i real sunt stocate n calculator pentru a le folosi la
calcularea fiecrui segment.
Figura 2.12. d prezint segmentul de intrare ce urmeaz s fie procesat. Transformata
Fast Fourier este folosit pentru a gsi spectrul de frecven, prezentat n figura 2.12. e i f.
Spectrul frecven al segmentului de ieire, figura 2.12. h i i sunt gsite multiplicnd rspunsul
n frecven a filtrului, figura 2.12. b i c, din spectrul segmentului de intrare, figura 2.12. e i f.
Inversa FFT este folosit pentru a gsii segmentul de ieire, figura 2.12. g, fin spectrul de
frecven, figura 2.12. h i i. Este important s se poat recunoate c acest segment de ieire este
acelai cu cel obinut prin convoluia direct dintre segmentului de intrare, figura 2.12. d, i
nucleul filtrului, figura 2.12. a.
39

Fig. 2.11. Metoda adunrii prin suprapunere.
40

Fig. 2.12. Convoluia FFT.
FFT trebuie s fie destul de mare, astfel nct convoluia circlar s nu aib loc, adic
segmentul de ieire figura 2.12. g s aib aceeai lungime ca i FFT. De pild, n exemplul din
figura 2.12., nucleul filtrului conine 129 puncte i fiecare segment conine 128 puncte,
obinndu-se un segment de ieire de 256 puncte. Acesta necesit folosirea a 256 puncte FFT.
Nucleul filtrului figura 2.12. a, trebuie completat cu 127 de zerouri pentru a-l aduce la
dimensiunea total de 256 puncte. n acelai mod, fiecare segment de intrare figura 2.12. d,
trebuie completat cu 128 de zerouri. Ca un alt exemplu, se dorete combinarea unui semnal
foarte lung cu un nucleu de filtru cu 600 de eantioane. O alternativ ar fi folosirea a 425 puncte
i a 1024 puncte FFT. O a doua alternativ ar fi folosirea segmentelor de 1449 puncte i 2048
puncte FFT.
41
CAPITOLUL 3
TEHNICILE IMAGINILOR SPECIALE
Acest capitol prezint cteva aspecte ale procesrii de imagini. Pentru nceput se vor
caracteriza modurile de rezoluie spaial, acest lucru descriind dimensiunea minim a unui
obiect pentru ca acesta s fie vizibil ntr-o imagine. Mai apoi, se va examina raportul semnal-
zgomot, explicnd ct de estompat poate fi un obiect astfel nct s fie detectat. Al treilea aspect
va introduce tehnicile morfologice, acestea fiind operaii neliniare folosite pentru manipularea
imaginilor binare.
3.1. Rezoluia spaial
Presupunem c dorim s comparm dou sisteme de imagini, cu scopul de a determina
care are cea mai bun rezoluie spaial. Cu alte cuvinte, se dorete gsirea sistemului care poate
detecta cel mai mic obiect.
Pentru simplificarea lucrurilor, se va considera c un singur numr caracterizeaz un
sistem. Acest lucru permite o comparare direct pe care s se bazeze deciziile proiectrii.
Fig. 3.1. FWHM vs MTF.
42
Din nefericire, un singur parametru nu este ntotdeauna suficient pentru a caracteriza
aspectele subtile ale imaginilor. Acest lucru este mai complicat deoarece rezoluia spaial este
limitat de dou efecte distincte, dar interdependente: spaierea de prob (sample spacing) i
dimensiunea aperturii de eantionare (sampling aperture size). Aceast seciune prezint dou
teme importante i anume cum se poate folosi un singur parametru pentru a caracteriza rezoluia
spaial i relaia dintre spaierea de prob i dimensiunea aperturii de eantionare.
Figura 3.1. a prezint trei profile ale unor PSF circular simetrice: cazemata, Gaussiana
i exponentiala. Acestea sunt reprezentative pentru PSF prezente n sistemele de imagini. Dup
cum a fost descris n capitolul anterior, cazemata poate aprea din cauza focalizrii improprii
a unui sistem de lentile. Gaussiana se formeaz n momentul n care erori aleatorii sunt
combinate. Un PSF exponenial este generat cnd electronii sau cnd razele X lovesc un strat d
fosfor i sunt convertite n lumin. Acest lucru este folosit n detectoarele de radiaii,
amplificatoare pentru vederea nocturn i display-uri de tip CRT.
PSF conine informaii complete despre rezoluia spaial. Pentru a exprima rezoluia
spaial printr-un singur numr, putem ignora forma PSF i s masurm doar diametrul. Cel mai
folosit mod de specificare a acestuia este valoarea FWHM (Laimea complet la jumtatea
maxim (Full-Width-at-Half-Maximum)). De exemplu, toate PSF din figura 3.1. a au valoarea
FWHM de o unitate. Din nefericire, aceast metod are dou neajunsuri. Primul este acela c nu
corespunde cu alte msuri ale rezoluiei spaiale, inclusiv raionamentul subiectiv al
observatorilor care privesc imaginea. Al doilea este acela c este de obicei foarte dificil s se
msoare direct PSF. Imaginea alimenteaz un impuls dintr-un sistem de imagini; obinerea unui
punct alb dintr-o imagine cu fundal negru. Prin definiie, imaginea obinut va fi PSF pentru
sistem. Problema este c acest PSF msurat va conine doar caiva pixeli cu un contrast scazut.
De exemplu, impulsul imaginii este un vector de 512 x 512 de zerouri, cu excepia unui pixel
care are valoarea 255. Comparnd acest vector cu o imagine normal unde toi pixelii 512 x 512
au o valoare medie de 128, semnalul va fi de 100.000 de ori mai slab dect semnalul unei
imagini normale. O tem ntlnit pe tot parcursul lucrrii este aceea c semnalele trebuie
nelese n domeniul n care informaia este codificat. Prin urmare, semnalele audio vor fi
prelucrate n domeniul frecven, n timp ce semnalele din imagini vor fi prelucrate n domeniul
spaial. Cu toate acestea, o metod de msurare a rezoluiei unei imagini este prin observarea
rspunsului n frecven.
43
Prin aplicarea transformatei Fourier bidimensionale unui PSF se obine un rspuns n
frecven bidimensional. Dac PSF este circular simetric, rspunsul n frecven va fi
deasemenea circular simetric. n acest caz, informaiile complete despre rspunsul n frecven se
gsete n profil, dup calcularea domeniului frecven prin metoda FFT, fiind nevoie doar de
coloanele 0 pn la N/2 din linia 0. Afiarea rspunsului n frecven se numete MTF
(Modulation Transfer Function). Figura 3.1. b prezint MTF pentru cele trei PSF de la punctul
(a). n cazurile n care PSF nu este circular simetric, ntreg rspunsul n frecven bidimensional
conine informaia. Cu toate c, e necesar s cunoatem curbele MTF pe vertical i orizontal
(coloanele 0, N/2 din linia 0 i liniile 0, N/2 din coloana 0).
Fig. 3.2. Aparat de msur cu perechi de linii.
Figura 3.2 prezint un aparat de msur cu perechi de linii, un dispozitiv folosit pentru
msurarea rezoluiei cu ajutorul MTF. Aceste aparate pot avea diferte forme n funcie de
aplicaia la care sunt folosite. De exemplu, ablonul alb i cel negru prezentate n figur pot fi
folosite la testarea camerelor video. Pentru un sistem de raze X, nervurile sunt fcute din granit
ntre care se gasete un material transparent. Principala caracteristic este aceea c liniile negre i
albe prezint o spaiere ctre un capt. Cnd o imagine este preluat de la acest aparat de msur,
liniile situate n apropiere unui capt vor fi suprapuse i nceoate, n timp ce la cellalt capt,
44
liniile vor fi distincte. Un observator ce privete imaginea citete rezoluia corespunztoare scrii
calibrate.
Modul n care nervurile sunt suprapuse i nceoate este important pentru nelegerea
limitrilor acestei msurtori. Figurile 3.2. a i b prezint exemplele profilurilor la frecvene
spaiale mici, respectiv mari. Acest lucru este reprezentat prin curba MTF pe care o reprezint
figura 3.1. b, frecvenele spaiale crescute reduc amplitudinea. Nervurile individuale dintr-o
imagine se pot deosebi att timp ct amplitudinea este mai mare decat un procent de 3 pn la
10% din nlimea original. Lucru datorat abilitii ochiului de a deosebi diferena de contrast
dintre punctele minime i maxime n prezena unor zgomote.
Avantajul puternic al aparatului de msur este simplitatea i viteza de lucru. Cel mai
mare dezavantaj este c se bazeaz pe ochiul uman i prezint o component subiectiv. Dei
curba MTF este msurat, cea mai bun metod de a exprima rezoluia sistemului este
menionarea frecvenei unde MTF este redus la 3, 5 sau 10 %.
Se observ c MTF este definit ca o sinusoid, n timp ce aparatul de msur folosete
un semnal dreptunghiular, nervurile fiind regiuni uniform ntunecate separate de regiuni
uniforme de lumin. La frecvene spaiale mari toate componentele, cu excepia celei
fundamentale a semnalului dreptunghiular, dispar. Acest lucru face ca modulaia sa apar ca o
sinusoid, ca n figura 3.2. a. La frecvenae sczute, figura 3.2. b, semnalul apare dreptunghiular.
Semnalul sinusoidal fundamental coninut n semnalul dreptunghiular este de 4/ = 1,27 ori
amplitudinea semnalului dreptunghiular.
De vreme ce semnalele dreptunghiulare i cele sinusoidale sunt folosite interschimbabil
pentru a msura MTF, n locul termenului ciclu pentru imagini se folosete termenul pereche
de linii (o linie intunecat lng o linie luminoas). De exemplu, la o frecven spaial se poate
face referire ca 25 de perechi pe milimetru, n loc de 25 cicluri pe milimetru.
n figura 3.3, funcia de rspndire a liniei (LSF) este rspunsul sistemului la o linie
subire ce traverseaz imaginea. Similar, rspunsul marginii este reprezentat de rspunsul
sistemului la o margine. De vreme ce o linie reprezint derivata unei margini, LSF reprezint
derivata rspunsului marginii.
Exist nenumrate avantaje n folosirea rspunsului marginii pentru msurarea rezoluiei.
n primul rnd, msurarea are aceeai form ca i informaia codat a imaginii. De altfel, motivul
principal al cunoterii rezoluiei unui sistem este nelegerea imaginiilor neclare dintr-o imagine.
45
Al doilea avantaj l reprezint simplitatea msurrii folosind rspunsul marginilor,
deoarece acestea sunt uor de generat n imagini. n caz de nevoie, LSF poate fi aflat prin
calcularea primei diferene a rspunsului marginii.
Fig. 3.3. LSF i Rspunsul marginilor.
Fig. 3.4. Rspunsul marginilor i MTF.
46
Al treilea avantaj n reprezint forma comun a rspunsului marginilor, chiar dac ele pot
proveni din PSF-uri diferite. Acest lucru este reprezentat n figura 3.4. a, unde sunt prezentate
rspunsurile marginilor pentru un PSF cazemat, Gaussian i exponenial. De vreme ce
formele sunt similare, un procent de 10% pn la 90% din distan reprezint un excelent
parametru de msurare a rezoluiei. Al patrulea avantaj este acela al determinrii directe a MTF
prin folosirea FFT unidimensional al LSF.
Figura 3.4. b prezint MTF corespunztor rspunsurilor marginilor din figura 3.4. a. Cu
alte cuvinte, curbele din figura 3.4. a sunt transformate n curbele din figura 3.4. b prin aplicarea
primei diferene (pentru determinarea LSF) i apoi pentru obinerea FFT.
Al cincilea avantaj este acela c MTF-ul i rspunsul marginilor au curbe similare, dup
cum este prezentat n figura 3.4. a i b. Acest lucru permite uurarea convertirii dintre cele dou
msurtori.
Figura 3.5 ilustraz relaia matematic dintre PSF i LSF. Figura 3.5. a prezint un PSF
cazemat, o suprafa circular de valoare 1, afiat ca fiind alb, ncercuit de o regiune cu zero-
uri, afiat gri. Profilul PSF va fi un puls dreptunghiular. Figura 3.5. b prezint LSF-ul
corespunztor PSF-ului.
Fig. 3.5. Relaia dintre PSF i LSF.
Se poate observa c LSF-ul este matematic egal cu profilul integrat al PSF-ului. Acesta se
obine prin rotirea imaginii n cteva direcii dup cum arat sgeile. Fiecare valoare din profilul
integrat este suma valorilor pixelului de-a lungul razei corespunztoare.
47
n exemplul n care razele sunt verticale, fiecare punct al profilului integrat este obinut
prin adunarea tuturor pixelilor de pe fiecare coloan. Acest lucru corespunde LSF-ului unei linii
verticale din imagine. LSF-ul liniilor orizontale din imagine este obinut prin adunarea valorilor
pixelilor de pe fiecare linie. Pentru imagini continue aceste concepte se pstreaz, dar sumele
sunt nlocuite de integrale.
Dup cum se poate observa n exemplu, LSF-ul poate fi calculat direct din PSF, chiar
dac PSF-ul nu poate fi calculat ntotdeauna din LSF. Acest lucru se datoreaz informaiei,
despre rezoluia spaial n toate direciile, coninute de PSF, n timp ce LSF-ul este limitat la o
singur direcie. Un sistem are doar un PSF, i un numr infinit de LSF-uri pentru fiecare unghi.
3.2. Spaierea eantionului i apertura eantionrii
Figura 3.6 prezint dou exemple extreme de eantionare, pe care le vom numi detector
perfect i detector estompat. Presupunem ca figura 3.6 a este o suprafa care detecteaz
imaginile, ca un CCD. Lumina ce lovete interiorul unui pixel ptrat va contribui doar la
valoarea pixelului. Acest lucru este prezentat n figur 3.6 prin apertura eantionrii ce umple
exact unul dintre pixelii ptrai. Aceasta este o situaie optimal pentru un detector de imagini,
doarece orice lumin este detectat i nu exist nici o suprapunere sau diafonica dintre pixelii
adiaceni. Cu alte cuvinte, apertura eantionrii corespunde spaierii eantionului.
Un exemplu alternativ este prezentat n figura 3.6. e. Apertura de eantionare este
considerabil mai mare dect spaierea eantionului i urmeaz o distribuie Gaussian. Cu alte
cuvinte, fiecare pixel din detector primete o contribuie de la lumina care lovete detectorul n
regiunea ce nconjoar pixelul. Din punct de vedere al datelor de intrare, un fascicul ngust de
raze ce lovete detectorul va contribui la valoarea unor pixeli vecini, potrivit distribuiei
Gaussiene.
n continuare vom observa rspunsul marginilor celor dou exemple. Indicatoarele din
fiecare graf indic valorile actuale ale pixelilor din imagine, n timp ce liniile conectate prezint
curbele fundamentale ce sunt eantionate. Un concept important este acela al formei acestei
curbe fundamentale, form determinat doar de apertura de eantionare. nseamn c rezoluia
din imaginea final poate fi limitat n dou moduri. n primul rnd, curba fundamental are o
rezoluie sczut, rezultat din apertura de eantionare prea mare. n al doilea rnd, spaierea
eantionului poate fi prea mare, rezultnd astfel detaliile pierdute printre eantioane.
48
Fig. 3.6. Exemple eantionare.
49
Curba MTF prezentat n figura 3.6. d arat c ambele procese limiteaz rezoluia
sistemului. Scderea curbei frecvenei nalte reprezint pierderea de informaie datorat aperturii
de eantionare. De vreme ce curba MTF nu a sczut la zero nainte de a avea frecvena 0,5, se
pierde informaie n timpul eantionrii, rezultat al spaierii finite al eantionului.
Toate aceste concepte se pot reduc la o singur regul practic. Se consider un sistem cu
10 % - 90 % din distana rspunsului marginilor de 1 mm. Dac spaierea eantionului este mai
mare de 1mm, sistemul va fi limitat de aceast spaiere. Dac spaierea este mai mic de 0,33 mm
(mai mult de 3 eantioane de-a lungul marginii), rezoluia va fi limitat de apertura de
eantionare. Cnd un sistem are ntre unu i trei eantioane pe fiecare margine, acesta va fi
limitat de ambii factori.
3.3. Raportul semnal-zgomot
Un obiect dintr-o imagine este vizibil deoarece are o luminozitate diferit de cea
mprejurimilor. Contrastul obiectului trebuie s depeasc zgomotul imaginii. Acesta poate fi
mprit n dou categorii: limitri ale ochiului i limitri ale imformaiei.
Figura 3.7 prezint un experiment de msurare a abilitii ochiului de a detecta semnalele
slabe. n funcie de condiiile de observare, ochiul uman poate detecta un contrast minim de 0,5
% pn la 5 %. Cu alte cuvinte, fiinele umane pot deosebi ntre 20 i 200 nuane de gri ntre alb
i negru. Numrul depinde de mai muli factori, cum ar fi luminozitatea luminrii ambientale, de
distana dintre cele dou regiuni comparate i de felul n care se formeaz imaginea grayscale.
Fig. 3.7. Detecia contrastului.
Transformata greyscale prezentat n subcapitolul 1.4 poate fi folosit pentru a mri
contrastul intervalului selectat al valorilor pixelilor, oferind un instrument valoros pentru
50
depirea limitrii ochiului uman. Contrastul unui nivel de luminozitate este crescut, prin
reducerea contrastului altui nivel de luminozitate, cu toate c, acest lucru este posibil cnd
contrastul unui obiect nu se pierde n zgomotul aleator al imaginii.
Fig. 3.8. SNR minim detectabil.
Figura 3.8 prezint o imagine ce conine trei ptrate cu contraste de 5 %, 10 % respectiv
20 %. Fundalul conine zgomot aleator distribuit normal cu o deviaie standard de 10 % din
contrast. SNR este definit ca fiind contrastul divizat de deviaia standard a zgomotului, astfel cele
trei ptrate au pentru SNR valorile 0,5, 1,0, respectiv 2,0. Probleme apar cnd SNR-ul scade sub
1,0.
Valoarea exact a SNR-ului minim detectabil depinde de dimensiunea obiectului, cu ct
este obiectul mai mare cu att este mai uor de detectat. Considerm imaginea din figura 3.8
liniarizat cu un nucleu de filtru ptrat de 3 x 3. Aceast liniarizare nu modific contrastul, dar
reduce zgomotul cu un factor de 3 (rdcina ptrat a numrului de pixeli din nucleu). De vreme
ce SNR-ul este triplat, obiectele cu un contrast slab pot fi observate. Capacitatea de detectare a
unui obiect este proporional cu rdcina ptrat a ariei. Dac diametrul unui obiect este dublat,
atunci se poate detecta de dou ori mai mult zgomot.
Cele trei profile din figura 3.8 ilustreaz cum detecteaz fiinele umane obiectele dintr-un
mediu turbulent.
51
Fig. 3.9. Imagine cu zgomot.
Zgomotul aleator din imagini se prezint sub dou forme. Primul tip, prezent n figura
3.9. a, are o amplitudine constant, cu alte cuvinte, regiunile ntunecate i cele luminoase sunt
egale din punct de vedere al turbulenelor. n comparaie, figura 3.9. b prezint zgomotul ce
crete odat cu nivelul semnalului, rezultnd nite arii luminoase mai afectate de zgomot dect
cele ntunecate. Ambele surse de zgomot sunt prezente n majoritatea imaginilor, dar una dintre
cele dou este mai dominant. De exemplu, zgomotul descrete odata cu descreterea nivelului
semnalului pn cnd ntlnete un nivel de zgomot cu amplitudine constant.
O surs obinuit de zgomot cu amplitudine constant este preamplificatorul video. Toate
circuitele analogice produc zgomot. Zgomotul produs de preamplificator provine din micarea
aleatoare a electronilor din tranzistoare. Acest lucru face ca nivelul zgomotului s depind de
modul de proiectare al electronicelor, i nu de nivelul de semnal ce este amplificat.
Zgomotul ce crete odat cu nivelul semnalului apare cnd imaginea a fost reprezentat
de un numr mic de particule individuale. De exemplu, acesta poate fi din razele X ce trec printr-
un pacient sau din protonii de lumin ce intr n camer. Legile matematice ce guverneaz aceste
variaii se numesc statistici Poisson. Se presupune c un CCD este iluminat uniform astfel nct o
52
medie de 10,000 electroni sunt generai n fiecare sond. Prin schimbarea curburii cteva sonde
vor avea mai muli electroni, n timp ce altele vor avea mai puini. Pentru a fi mai exaci,
numrul de electroni va fi distribuit normal cu o medie de 10,000, cu cteva deviaii standard
care descriu ct variaie este de la o sond la alta. O caracteristic principal a statisticilor
Poisson este aceea c deviaia standard este egal cu rdcina ptrat a numrului de particule
individuale. Dac avem N particule n fiecare pixel, media este egal cu N i deviaia standard
este N . Acest lucru face ca raportul semnal zgomot s fie de N N sau doar N .
Sub form de ecuaii statisticile Poisson sunt:
(3.1)
unde este media, este deviaia standard, N este numrul de particule din fircare pixel, SNR
este raportul semnal-zgomot.
n exemplu cu CCD considerat, deviaia standard este 100 000 , 10 . n acelai mod,
raportul semnal- zgomot este 100 000 , 10 . Dac media numrului de electroni pe sond este
crescut cu un milion, att deviaia standard ct i SNR cresc cu 1,000. Cu alte cuvinte, zgomotul
crete cu ct semnalul este mai mare dup cum se poate observa i n fiuga 3.9. b. Totui,
semnalul crete mult mai repede dect zgomotul, ducnd la o mbuntire total a SNR-ului.
Zgomotul din statisticile Poisson este dominant n momentul n care zgomotul rezultat
din etapa de limitare (quantum sink) este mai mare dect zgomotul provocat de alte surse din
sistem (de exemplu, electroni).
3.4. Procesarea morfologica a imaginilor
Identificarea obiectelor dintr-o imagine poate fi sarcin dificil. O modalitate de
simplificare a problemei este transformarea imaginii greyscale n imagine binar, n care fiecare
pixel are valoarea 0 sau 1. Tehnicile folosite pe aceste imagini binare se numesc analiza
grupului, analiza conectivitii i procesarea morfologic a imaginilor. Teoria mulimilor
reprezint baza procesrii morfologice. Majoritatea algoritmilor morfologici sunt reprezentai
53
prin operaii logice simple i foarte ad-hoc. Cu alte cuvinte, fiecare aplicaie necesit o soluie
obinuit obinut prin prob-i-eroare.
Fig. 3.10. Operaii morfologice.
Figura 3.10. a prezint un exemplu de imagine binar. Aceasta ar putea reprezenta un
tanc inamic ntr-o imagine infrarosie, un asteroid ntr-o fotografie din spaiu sau o tumoare
suspect observat la raze X. Fiecare pixel din fundal este afiat alb, n timp ce fiecare pixel din
obiect este afiat negru. n mod frecvent, imaginile binare sunt formate prin aplicarea unui prag
imaginii greyscale, pixelii cu o valoare mai mare dect valoarea prag sunt setai la 1, n timp ce
pixelii cu valori sub valoarea prag sunt setai pe 0. nainte de a se aplica pragul, imaginea este
supus unor prelucrri cu tehnici liniare. De exemplu, nivelarea iluminrii poate mbuntii
calitatea imaginii binare iniiale.
Figurile 3.10. b i c prezint cum este imaginea modificat de dou operaii morfologice:
eroziune i dilatare. n cadrul operaiei de eroziune, fiecare pixel al obiectului care atinge un
pixel al fundalului se schimb ntr-un pixel din fundal. n cadrul operaiei de dilatare, fiecare
pixel din fundal care atinge un pixel dintr-un obiect este schimbat ntr-un pixel din obiect.
Dilatarea face obiectele mai mari i poate mbina mai multe obiecte ntr-unul singur. Pentru
demonstrarea acestor dou operaii ilustrate se va consulta subcapitolul 5.3 ce trateaza
prelucrarea imaginilor binare.
Dup cum este prezentat n figura 3.10. d, deschiderea este definit ca o eroziune urmat
de o dilatare. Figura 3.10. e prezint operaia opus, nchiderea, definit ca o dilatare urmat de o
54
eroziune. Dup cum se observ n aceste exemple, deschiderea ndeprteaz micile insule i
filamentele subiri din pixelii obiectelor, n timp ce nchiderea ndeprteaz insulele i
filamentele din pixelii fundalului. Aceste tehnici sunt utile pentru prelucrarea imaginilor afectate
de zgomot n care civa pixeli au valori binare greite.
Fig. 3.11. Evideniere binar.
Figura 3.11 prezint un exemplu de procesare morfologic. n figura 3.11. a este
prezentat imaginea binar a unei amprente digitale. Algoritmii sunt folosii pentru a analiza
aceste abloane, oferind posibilitatea comparaiei cu alte amprente din baza de date. Un pas
firesc al acestor algoritmi este prezentat n figura 3.11. b, o operaie numit evideniere
(skeletonization). Aceasta simplific imaginea prin eliminarea pixelilor redundani, schimbarea
pixelilor apropiai din negru n alb. Acest proces duce la transformarea unei muchii ntr-o linie de
un pixel lime.
Un alt algoritm poate schimba informaia dintr-o imagine format bitmap ntr-un format
vectorial. Acest lucru implic crearea unei liste de muchii coninute de imagine i de pixeli
coninui de fiecare muchie. n forma vectorial, fiecare muchie a amprentei are o identitate
individual, contrar unei imagini compuse din mai muli pixeli independeni. Acest lucru poate fi
obinut prin parcurgerea imaginii pentru aflarea unui punct final al fiecrei linii, (pixelii care
aveau numai un pixel negru vecin). ncepnd cu acel punc final, fiecare linie era trasat de la un
pixel la altul conectat. Dup ce se ajunge la captul opus al liniei, fiecare pixel marcat este
declarat un obiect i este tratat folosind anumii algoritmi.

55
CAPITOLUL 4
FPGA
Un circuit FPGA (field-programmable gate array - reele de pori logice) reprezint o
component semiconductoare ce poate fi configurat de cumprtor sau de proiectant dup
fabricare, de unde i numele de programabil. FPGA-urile sunt programate folosind o
diagram logic sau un cod surs scris n HDL (hardware description language) pentru a
specifica cum va funciona chip-ul. Pot fi folosite pentru implementarea oricrei funcii logice pe
care o poate interpreta un circuit integrat specific unei aplicaii (ASIC), dar cu posibilitatea de a
mbuntii funcionalitatea acestuia dup expediere. FPGA conine componente logice
programabile numite blocuri logice i o ierarhie de interconexiuni reconfigurabile care
realizeaz conectivitatea dintre blocuri, ca un chip programabil provizoriu. Blocurile logice pot fi
configurate s ndeplineasc funcii combinaionale complexe dar i pori logice simple cum ar fi
AND sau XOR. n majoritatea circuitelor , blocurile logice pot include elemente de memorie,
care pot fi simpli bistabili sau mai multe blocuri complete de memorie.
4.1. Istoric
Industria FPGA a aprut odat cu memoriile PROM (programmable read only memory)
i cu dispozitivele logice programabile (PLD). Att PROM-urile ct i PLD-urile conin opiunea
de a fi programate n fabric sau la utilizator, dei porile logice sunt interconectate prin
intermediul unor conductoare dure. ntemeietorii Xilinx, Ross Freeman i Bernard
Vonderschmitt au inventat primul FPGA, XC2064 comercial n 1985. Acest circuit XC2064
coninea pori programabile i interconexiuni progrmabile ntre pori, nceputul unei noi
tehnologii. XC2064 coninea doar 64 de blocuri logice configurabile(CLB), cu 3 tabele lookup
de intrare (LUT).
La sfritul anilor 1980, Departamentul Naval de Razboi a oferit fonduri pentru un
experiment propus de Steve Casselman pentru realizarea unui calculator care va implementa
600,000 de pori reprogramabile.
56
Anii 1990 au fost o perioad exploziv pentru FPGA-uri. La nceput, FPGA-urile erau
folosite n telecomunicaii i n reele. Pn la sfritul perioadei, FPGA-urile i-au fcut intrarea
n aplicaiile industriale, n industria de automobile i n vnzri.
n anul 1997, Adrian Thompson a mbinat tehnologia algoritmilor genetici cu FPGA-urile
pentru a crea un dispozitiv de recunoatere a vocii. Algoritmul lui permitea unui vector de 64 x
64 celule ntr-un chip Xilinx FPGA s determine configuraia necesar recunoaterii de voce.
O tendin recent este aceea a nlocuirii structurii brute prin combinarea blocurilor
logice i a interconexiunilor tradiionalului FPGA cu un microprocesor integrat i periferice
pentru a forma un sistem-on-chip programabil. Acest lucru a fost reflectat de arhitectura
realizat de Ron Perlof i Hana Potash de la Burroughs Advanced Systems Group care au
combinat arhitectura unui CPU reconfigurabil pe un singur chip ce se numea SB24. Exemplul
unui astfel de hibrid poate fi gsit n placuele Xilinx Virtex-II PRO i Virtex-4, ce conin unul
sau mai multe procesoare PowerPC integrat n structura logic a FPGA-ului.
Majoritatea FPGA-urilor moderne au capacitatea de a fi reprogramate n timpul rulrii.
Procesorul virtual Mitrion este un examplu al procesorului soft reconfigurabil, implementat pe
FPGA. Dei nu suport reconfigurarea dinamic n timpul rulrii, el se adapteaz unui program
specific. Din punct de vedere al numrului de pori logice, n anul 1987 Xilinx folosea 9,000
pori logice, n vreme ce cinci ani mai trziu, Departamentul Naval de Razboi folosea 600,000.
4.2. Comparaie FPGA
Pe plan istoric, FPGA era mai ncet, cu o eficien sczut i mai puin funcional dect
corespondentul su, ASIC. O combinaie de volum, mbuntirea fabricrii, cercetare,
dezvoltare i capabilitile I/O a noilor supercalculatoare care au umplut lacuna dintre ASIC i
FPGA. Avantajele includ abilitatea de a fi reprogramat pentru a se fixa bug-urile, costuri
nerecurente sczute i TTM (time-to-market) sczut.
Principala diferen dintre CPLD i FPGA este din punct de vedere arhitectural. Un
CPLD are o structur restrictiv ce conine una sau mai muli vectori logici programabili pentru
alimentarea unui numr relativ mic de regitrii de ceas. Rezultatul acestui fapt este flexibilitatea
sczut, cu avantajul unor ntrzieri predictibile i o ridicat raie logic-interconectare.
Arhitecturile FPGA sunt dominate de interconexiuni. Acest lucru l face mai flexibil dar i mult
57
mai complex pentru a fi proiectat.
O alt diferen este prezen n majoritatea FPGA-urilor a funciilor integrate de nivel
nalt (sumator multiplicator) i memorii integrate, dar i blocuri logice care implementeaz
decodificatoare i funcii matematice.
O parte din circuitele FPGA au posibilitatea de a se reconfigura parial ce las o poriune
a dispozitivului reprogramabil n timp ce celelalte poriuni continu s funcioneze.
4.3. Arhitectur
Arhitectura FPGA conine un vector de blocuri logice configurabile, extensii I/O i
canale de rutare. n general, toate canalele de rutare au aceeai lime (numr de fire). Multiplele
extensii I/O se pot monta n nlimea unei linii sau limea unei coloane din vector.
Un circuit trebuie mapat pe un circuit FPGA folosind resursele adecvate. n timp ce
numrul blocurilor logice i a I/O necesare sunt uor de determinat din proiect, numrul de
drumuri rutabile necesare poate varia considerabil chiar i ntre proiecte ce folosesc aceeai
logic. De vreme ce rutele nefolosite cresc costul i scad performana unei componente fr s
ofere un alt beneficiu, producatorii de FPGA ncearc sa ofere rute necesare astfel nct
majoritatea proiectelor s poat fi rutate n funcie de LUT (tabelele de lookup) i porturile de
I/O.
Fig. 4.1. Structur bloc logic.
Un bloc logic FPGA clasic conine o tabel de lookup cu 4 intrri i un bistabil, dup cum
se poate observa n figura 4.2. n ultimii ani, productorii trecut la realizarea unor tabele cu 6
intrri. Prezint doar un output, care poate fi o tabel de lookup nregistrat sau una
nenregistrat. Blocul logic conine patru intrri pentru tabel i o intrare pentru ceas. De vreme
ce semnalele de ceas sunt rutate pe reele de rutare dedicate n FPGA-urile comerciale, acesta i
alte semnale sunt procesate separat. Pentru cazul tabelei de lookup cu patru intrri, pinii blocului
logic sunt prezentai n figura 4.2.
58
Fig. 4.2. Pini bloc logic.
Fiecare intrare este accesibil printr-o parte a blocului logic, n timp ce pinul de ieire se
poate conecta la firele de rutare att prin canalul din dreapta ct i prin canalul situat sub blocul
logic. Fiecare pin de ieire al blocului logic se poate conecta la fiecare segment de srm din
canalele adiacente. Similar, porturile de I/O se pot conecta la oricare dintre cenalele adiacente.
n general, rutarea FPGA este nesegmentat. Acest lucru nseamn c fiecare segment
acoper doar un bloc logic nainte de a ajunge ntr-un comutator. Prin aprinderea unor
comutatoare programabile dintr-un bloc comutator se pot determina multe rute. Pentru o
interconectare mai mare, cteva arhitecturi FPGA folosesc linii de rutare ce acoper mai multe
blocuri logice. Cnd se intersecteaz un canal vertical cu unul orizontal, acolo este un bloc
comutator. n aceast arhitectur, cnd un fir intr ntr-un bloc comutator exist trei comutatoare
programabile care i permit s se conecteze la alte trei fire din segmentele de canale adiacente.
ablonul sau topologia de comutatoare folosit n aceast arhitectur este plan. n aceast
topologie, un fir de pe pista numrul unu se conecteaz numai la fire din canalul numrul unu ale
segmentelor de canale adiacente. Figura urmtoare, figura 4.3 prezint conexiunile dintr-un bloc
comutator.
Fig. 4.3. Topologie bloc comutator.
59
Familiile moderne de FPGA-uri se extind dincolo de capacitatea de includere n silicon a
unei funcionaliti de nivel nalt. Prezena acestor funcii obinuite incorporate n silicon reduce
suprafaa necesar i ofer funciilor o vitez crescut comparativ cu construirea lor din
primitive. Exemple ale acestora sunt multiplicatorul, blocurile DSP generice, procesoarele
incorporate, porturile logice I/O cu vitez mare i memoriile incorporate.
4.4. Proiectare i programare FPGA
Pentru definirea comportamentului circuitului FPGA, utilizatorul furnizeaz un proiect
schematic sau ntr-un limbaj de descrierea hardware (HDL). Acest limbaj de programare este
utilizat n cazul structurilor mari deoarece se poate folosi doar specificarea numeric a acestora .
Pe de alt parte, partea schematic ajut la vizualizarea proiectului.
Folosirea unui instrument electronic de proiectare genereaz o tehnologie bazat pe
conectivitate circuitului. Conectivitatea se poate potrivi pe arhitectura FPGA folosind un proces
numit localizare-repartizare (place-and-route), de obicei realizat de companiile proprietare ale
soft-ului. Utilizatorul va valida planul, va localiza i repartiza rezultatele prin intermediul
analizei temporare, a simulrii i a altor metode de verificare. Dup ce proiectul i procesul de
validare s-au ncheiat, fiierul binar generat este folosit pentru (re)configurarea FPGA.
Fiierele surs introduse ntr-un program software, furnizat de fabricantul de
FPGA/CPLD, care prin diferii pai va produce un fiier ce este mai apoi transferat pe
FPGA/CPLD printr-o interfa serial sau pe o memorie extern EEPROM.
Cele mai folosite limbaje de descriere hardware sunt VHDL i Verilog. Pentru a
simplifica proiectarea pe FPGA a sistemelor complexe, exist librrii de funcii complexe i
circuite predefinite care au fost testate i optimizate pentru a mbuntii procesul de proiectare.
Aceste circuite predefinite se numesc nuclee IP i se pot procura de la furnizorii de FPGA. Alte
circuite predefinite sunt disponibile n comunitile de programatori, cum ar fi OpenCores.
n cazul proiectrii obinuite, programatorul unei aplicaii FPGA va simula proiectul n
diferite stadii ale procesului de proiectare. Iniial descrierea RTL din VHDL sau Verilog este
simulat prin crearea unor exemple de test pentru simularea sistemului i observarea rezultatelor.
Apoi, dup ce mecanismul de sintez a mapat proiectul pe un netlist (conectivitatea unui proiect
electronic), acesta este translatat pe un nivel de descriere, locul unde simularea va fi repetat
60
pentru a confirma c sinteza a rulat fr erori. La final, proiectul pus pe FPGA, punct n care sunt
adugate ntrzierile de propagare i simularea ruleaz din nou cu aceste valori.
4.5. Tipuri de tehnologii
SRAM (Static Random Access Memory) - bazat pe o tehnologie static. Este
programabil n sistem i reprogramabil. Necesit dispozitive externe de bootare.
Antifuse - Programabil o singur dat;
EPROM (Erasable Programmable Read-Only Memory technology) - programabil n
timpul produciei din cauza plasticului ce l acoper. Dispozitivele glisante pot fi terse
folosind lumin ultravioleta (UV);
EEPROM (Electrically Erasable Programmable Read-Only Memory technology) -
poate fi tears chiar dac este acoperit cu plastic.O parte dintre aceste dispozitive
EEPROM pot fi programate n sistem;
Flash (Flash-erase EPROM technology) - poate fi tears.O parte dintre aceste
dispozitive pot fi programabile n sistem. De obicei, o celul Flash este mai mic dect
echivalentul celulei EEPROM;
Fuse - Programabil o singur dat. Bipolar.
4.6. Aplicaii
Aplicaiile FPGA includ procesarea semnalelor digitale, sisteme aeronavale i de aprare,
prototipuri ASIC, formare de imagini medicale, recunoterea vocii, criptografie, bioinformatic,
emularea hardware a calculatoarelor i o mulime de alte domenii. Circuitele FPGA gsesc
aplicaii n orice domeniu sau algoritm ce necesit folosirea paralelismului masiv oferit de
arhitectura sa. Un astfel de domeniu este cel al aplicaiilor ce necesit calcule de nalt
performan unde nucleele computaionale ca FFT sau Convoluia sunt executate pe circuitele
FPGA n locul microprocesoarelor. Flexibilitatea acestor circuite permite o performan mai
ridicat prin schimbarea preciziei i a intervalului din formatul numrului cu numrul crescut al
unitilor aritmetice paralele. Acest lucru a dus la un nou tip de procesare numit calcul
reconfigurabil, unde task-urile riguroase din punct de vedere temporar sunt trecute transportate
de la software la FPGA.
61
Adoptarea FPGA-urilor de ctre calculul de nalt performan este limitat momentan de
complexitatea proiectrii FPGA comparat cu software-ul convenional i a timpilor extrem de
lungi a uneltelor de proiectare ce necesit de la patru la opt ore de ateptare pentru o schimbare
minor a codului surs.
62
CAPITOLUL 5
ALGORITMI DE PROCESARE A IMAGINILOR
Pentru demonstrarea practic a algoritmilor studiai n partea teoretic s-a folosit
programul Matlab 2007b i utilitarul System Generator coninut de Xilinx 10.1.
Pornind de la o imagine cu anumite caracteristici i aplicnd prin convoluie un filtru s-a
obinut o imagine imbuntit, filtrat. Pentru realizarea acestora s-a proiectat un filtru liniar 2D
ce folosete un PSF de 3x3 i mai multe pori logice pentru realizarea convoluiei dintre
imaginea iniial i nucleu.
5.1. Citirea imaginii
Imaginea ce trebuie prelucrat este citit dintr-un fisier .m scris n Matlab, locul n care
aceasta este mprit n cele trei planuri R,G i B i redimensionat, n funcie de semnalele de
control, pentru ca mai apoi sa fie transmis blocului de prelucrare a imaginii, filtrului 2D_FIR ce
folosete un PSF de 3 x 3. Ca semnalele de control s-au folosit :
pix_en_in - semnal activare procesare (procesarea doar n cazul pix_en_in == enable)
hsync_in, vsynch_in - semnale pentru afisarea imaginii.
Codul surs al fisierului init.m poate fi vizualizat n Anexa 1.
5.2. Prelucrarea imaginilor RGB
Dup cum se poate observa n figura 5.1, blocul 2D_FIR_RGB primete cte un pixel, sub
forma a trei semnale(input_image_r, input_image_g, input_image_b),cte unul pentru fiecare
plan (R,G,B), urmnd ca n interiorul su s se formeze matrici de 3 x 3 pixeli ce vor fi folosite
pentru prelucrarea imaginii.
Folosind comanda Look Under the Mask se poate observa nivelul urmtor de proiectare.
Aici se ia fiecare pixel i folosind linii de ntrziere pentru a se putea accesa pixelii pe 3 linii
succesive, pentru ca la ieirea din Line Buffers s fie 3 linii de pixeli. n urmtoarele blocuri, 3 x
63
3 Filter, cei 3x3 pixeli vor fi prelucrai pentru a rezulta pixelul prelucrat. Din fiecare 3x3 Filter se
va obine o culoare a pixelului prelucrat(hw_out_r, hw_out_g, hw_out_b).
Fig. 5.1. Filtrul 2D RGB (nivel 1 proiectare).
Fig. 5.2. Obinerea matricilor 3 x 3 pixeli pentru cele 3 planuri (nivel 2 de prelucrare).
64
Prelucrarea pixelilor se realizeaz folosind diferite mti de convoluie de 3 x 3,
corespunztoare operaiilor ce se doresc a fi realizate.
Fig. 5.3. Prelucrarea pixelilor (nivel 3 de prelucrare).
Pentru demonstrarea operaiilor de identitate (funcie delta), deplasare i scdere, detectare
margini i intensificare prezentate n subcapitolul 2.2 s-au folosit urmtoarele mti de
convoluie:
edge = [ -1 -1 -1; ...
-1 8 -1; ...
-1 -1 -1 ];
edgeDiv = 1/8;
deplas = [ 0 0 0; ...
0 1 0; ...
0 0 -1 ];
deplasDiv = 1;
65
intensif = [-1 -1 -1 ; ...
-1 10 -1; ...
-1 -1 -1 ];
intensifDiv = 1/2; % cazul k=4
identity = [ 0 0 0; ...
0 1 0; ...
0 0 0 ];
identityDiv = 1;
Anexa 2 prezint operaia de iniiere a blocului 3 x 3 Filter ce realizeaz operaiile de
prelucrare a imaginilor.
Partea practic a lucrrii prezint i ali algoritmi fundamentali de detectare a marginilor
unei imagini: gradienii Sobel verticali, Sobel orizontali ce se calculeaz prin convoluia cu
mtile urmtoare:
sobelX = [ -1 0 1; ...
-2 0 2; ...
-1 0 1 ];
sobelXDiv = 1;
sobelY = [ 1 2 1; ...
0 0 0; ...
-1 -2 -1 ];
sobelYDiv = 1;
Pentru ndeprtarea zgomotului s-a folosit un operator gaussian. Operatorul gaussian 2D
este un operator de convoluie ce este folosit pentru ndeprtarea zgomotului aprut ntr-o
imagine. Pentru ndeprtarea zgomotului prezent n imagine, s-a folosit urmtoarea masc:
gaussian = [ 1 2 1; ...
2 4 2; ...
1 2 1 ];
gaussianDiv = 1/16;
n urma aplicrii mtilor prezentate s-au obinut rezultatele prezentate n Anexa 3.
66
5.3. Procesarea morfologic a imaginilor binare
Pentru implementarea prelucrrii de imagini binare s-a pornit de la aceeai schem ca n
cazul imaginilor RGB. Diferena fiind aceea c n cazul imaginilor binare nu exist dect un plan
de procesare, dup cum se poate observa i n figura 5.4.
Fig. 5.4. Filtru 2D binar (nivel 1 implementare).
i n acest caz se folosesc aceleai semnale de control pentru care se poate vizualiza
implementarea n Anexa X-1.
5.3.1. Dilatare
Acest operaia realizata prin adugarea ariei unei zone de 1 dintr-o imagine binar
urmrind frontiera cu un element dat pe exteriorul suprafeei.
Pentru demonstrarea acestei operaii morfologice s-a realizat urmtoare schema logic.
67
Fig. 5.5. Dilatare - Obinerea matricilor 3 x 3 pixeli pentru un plan (nivel 2 de prelucrare).
Din punct de vedere logic, dilatarea reprezint aplicarea operatorului AND pixelilor
imaginii, astfel nct valoarea majoritar a pixelilor schimb celelalte valori.
Fig. 5.6. Dilatare - Schema logic pentru prelucrarea pixelilor.(nivel 3 de prelucrare).
Pentru simularea hardware s-a folosit un circuit FPGA, Spartan 3AN ce funcioneaz la o
frecven de 50 MHz. Dup alegerea operaiei ce se dorete a fi efectuat se d dublu click pe
blocul System Generator din schema prezentat n figura 5.4. Apoi se alege ca opiune a
compilrii modelul circuitului FPGA (Spartan3AN), apoi se pornete generarea. Dup generare,
schema din figura 5.4 devine:
68
Fig. 5.7. Schema dup rulare.
Rezultatele obinute n urma rulrii programului pot fi observate n Anexa 3.
5.3.2. Eroziune
Aceast operaie morfologic se realizeaz prin scaderea ariei unei zone de 1 dintr-o
imagine binar urmrind frontierea acesteia, pe interior, cu elementul model.
Pentru demonstrarea acestei operaii morfologice s-a realizat urmtoare schema logic.
Fig. 5.8. Eroziune - Obinerea matricilor 3 x 3 pixeli pentru un plan (nivel 2 de prelucrare).
69
Figura 5.9 prezint schema logic a operaiei de eroziune. Aceasta reprezint aplicarea
operatorului OR pixelilor imaginii, astfel nct valoarea minoritar a pixelilor schimb celelalte
valori.
Fig. 5.9. Eroziune - Schema logic pentru prelucrarea pixelilor (nivel 3 de prelucrare).
Pentru vizualizarea rezultatelor obinute n urma rulrii programului consultai Anexa 4.
5.4. Semnale de control
Semnalele de control prezentate n anexa 6 folosesc un circuit ce detecteaz pragul
cresctor al unui semnal de intrare i liniile de ntrziere programabile. Parametrul de offset este
folosit pentru controlarea lungimii liniei de ntrziere.
Pentru vizualizarea implementrii semnalelor de control consultai Anexa 6.
5.5. Afiarea imaginii
Afiarea imaginii este realizat n fiierul Matlab post.m care preia semnalele trasmise de
blocul 2D_FIR, reconstriete imaginea i apoi afieaz imaginea iniial i imaginea prelucrat.
Codul acestui fiier este prezentat n Anexa X.
70
CONCLUZII
Dezvoltarea algoritmilor pentru procesarea imaginilor pe circuite FPGA poate fi dificil,
dar rezultatele vorbesc de la sine. n cazul vitezelor foarte mari de procesare se doresc algoritmi
de tip fereastr, aceast lucrare a artat c tehnologia FPGA se potrivete perfect acestui scop.
De fapt, cu ajutorul generatorului de fereastr, o serie de tehnici de prelucrare a imaginilor poate
fi folosit de proiectant, multe dintre acestea putnd fi folosite pentru aplicaii ce necesit o
vitez de procesare mare.
Lucrarea reprezint o introducere n procesarea imaginilor. Proiectarea hardware a unor
algoritmi oferind posibilitatea nelegerii noiunilor de imagine, algoritm de procesare, operator
fereastra din punct de vedere al transpunerii pe circuite FPGA.
Odat cu finalizarea acestei lucrri s-au ctigat enorm de multe cunotine. n timp ce
aceste circuite FPGA sunt excelente n anumite domenii, ca acesta al nenumratelor aplicaii
pentru procesarea imaginilor, dificultile aprute n cazul aplicaiilor matematice complexe a
dus la folosirea unui chip DSP dedicat. Desigur, un proiectant care dorete cea mai bun
combinaie vitez flexibilitate trebuie s aleag un sistem bazat att pe FPGA ct i pe DSP.
Acest sistem prezint avantajele fiecrei arhitecturi i permite proiectantului s creeze un
algoritm pe un sistem care permite cel mai bine acest lucru.
Simularea VHDL i uneltele de sintez FPGA sunt din ce n ce mai bune. Simularea unui
VHDL de dimensiuni mari i foarte complex este acum simplu i rapid, VHDL-ul generic putnd
fi cu uurin sintetizat n proiecte hardware. Este de ateptat ca odat cu mbuntirea
circuitelor FPGA se vor mbuntii i utilitarele folosite. n viitor, timpul ridicat de dezvoltare al
proiectelor FPGA poate diprea i devenind din ce n ce mai apropiate de proiectarea DSP.
Aceast lucrarea poate reprezenta un punct de pornire pentru o aprofundare viitoare a
tehnicilor de prelucrare a imaginilor ce devin din ce n ce mai des folosite n domenii ca:
medicina i armat.
71
Anexa 1 init.m
WV = 3; WH = 3;
if (exist('input_stimulus','var'))
if (strcmp(input_stimulus, 'colt.png'))
input_file = imread('./test_images/colt.png');
elseif (strcmp(input_stimulus, 'peppers.png'))
input_file = imread('peppers.png');
else
input_file = imread('./test_images/fall.png');
end

else
input_file = imread('peppers.png');
end

input_image = input_file;
[size_y, size_x, planes] = size(input_image);
% Reshape each color plane image into a single colunm vector
input_image_r = reshape(input_image(:,:,1)', size_x*size_y, 1);
input_image_g = reshape(input_image(:,:,2)', size_x*size_y, 1);
input_image_b = reshape(input_image(:,:,3)', size_x*size_y, 1);
PADDING = 6;
FLUSH = 0;
pix_en_period = 1;
% Adding 10 delay samples to synchronize with control signals
input_image_r = vertcat(zeros(PADDING,1), input_image_r);
input_image_g = vertcat(zeros(PADDING,1), input_image_g);
input_image_b = vertcat(zeros(PADDING,1), input_image_b);

% Reset generator: Insert ones whenever reset needs to be asserted
reset = zeros(size_x*size_y,1);
reset(1)=1;%%
wh = find(reset == 1);
last_reset = wh(size(wh,1));
% Temporary store input image for each color plane
input_image_r_reshape =input_image_r;
input_image_g_reshape =input_image_g;
input_image_b_reshape =input_image_b;
for i=1:size(wh,1)
input_image_r_reshape = [input_image_r_reshape(1:wh(i)); input_image_r];
input_image_g_reshape = [input_image_g_reshape(1:wh(i)); input_image_g];
input_image_b_reshape = [input_image_b_reshape(1:wh(i)); input_image_b];
end
size_resample = size(input_image_r_reshape,1); % Added 100 more samples

% Resampling the input according to pix_en_period (replicating samples pix_en_preiod times)
input_image_r =[];
input_image_g =[];
input_image_b =[];
for i=1:pix_en_period
input_image_r=horzcat(input_image_r, input_image_r_reshape);
72
input_image_g=horzcat(input_image_g, input_image_g_reshape);
input_image_b=horzcat(input_image_b, input_image_b_reshape);
end;
input_image_r=reshape(input_image_r', size_resample*pix_en_period,1);
input_image_g=reshape(input_image_g', size_resample*pix_en_period,1);
input_image_b=reshape(input_image_b', size_resample*pix_en_period,1);
clear input_image_r_reshape input_image_g_reshape input_image_b_reshape;
%%%%%%%%%%%%%%%%%%%

stop_time = size_resample * pix_en_period+40; % resolution plus 40 clock latency if pix_en_period == active
active_size = size_resample-PADDING;

% Generating pixel enable signal
pix_en_in = ones(size_x*size_y+FLUSH,1);
if (pix_en_period>1)
pix_en_in=horzcat(pix_en_in, zeros(size(pix_en_in),pix_en_period-1));
pix_en_in=reshape(pix_en_in', size(pix_en_in,1)*pix_en_period ,1);
end;
pix_en_in = [zeros(PADDING*pix_en_period,1); pix_en_in ];
pix_en_in_reshape = pix_en_in;
for i=1:size(wh,1)
pix_en_in_reshape = [pix_en_in_reshape(1:wh(i)*pix_en_period); pix_en_in];
end
pix_en_in = pix_en_in_reshape;
%%%%%%%%%%%%%%%%%%%

%Generating hsync period
hsync=zeros(size_x*pix_en_period,1);
% insert hsync active signal
hsync((size_x-2)*pix_en_period+1:(size_x-1)*pix_en_period)=1;
hsync_full=hsync;
%Replicate for all all rows
for i=1:size_y-1
hsync_full=[hsync_full; hsync];
end
%Insert PADDING zeros if any
hsync_full=[zeros(PADDING*pix_en_period,1); hsync_full]; % size_x*size_y+PADDING = 8010
hsync_full((PADDING-3)*pix_en_period+1:(PADDING-2)*pix_en_period)=1; % insert 1 at
PADDING-2 position
hsync_reshape = hsync_full;
for i=1:size(wh,1)
hsync_reshape = [hsync_reshape(1:wh(i)*pix_en_period); hsync_full]; % size_x*size_y+PADDING+RESET =
8110
end
hsync_in = hsync_reshape; % 8110

reset = zeros(stop_time,1); reset(wh*pix_en_period) = 1;
hsync_pos = size_x-1;
hsync_period = size_x;
%%%%%%%%%%%%%%%%%%%
73
Anexa 2 Mti 3x3
%Diferite mti 3x3 folosite pentru demonstrarea practic a subcapitolului 2.2.
edge = [ -1 -1 -1; ...
-1 8 -1; ...
-1 -1 -1 ];
edgeDiv = 1/8;
deplas = [ 0 0 0; ...
0 1 0; ...
0 0 -1 ];
deplasDiv = 1;
intensif = [-1 -1 -1 ; ...
-1 10 -1; ...
-1 -1 -1 ];
intensifDiv = 1/2; %k=4
identity = [ 0 0 0; ...
0 1 0; ...
0 0 0 ];
identityDiv = 1;
sobelX = [ -1 0 1; ...
-2 0 2; ...
-1 0 1 ];
sobelXDiv = 1;
sobelY = [ 1 2 1; ...
0 0 0; ...
-1 -2 -1 ];
sobelYDiv = 1;
sobelXY = [ 0 -1 -1; ...
1 0 -1; ...
1 1 0 ];
sobelXYDiv = 1;
sharpen = [ -2 -2 -2; ...
-2 32 -2; ...
-2 -2 -2 ];
sharpenDiv = 1/16;
gaussian = [ 1 2 1; ...
2 4 2; ...
1 2 1 ];
gaussianDiv = 1/16;
maskVal = zeros(3,3,9);
maskVal(:,:,1) = edge;
maskVal(:,:,2) = deplas;
maskVal(:,:,3) = intensif;
maskVal(:,:,4) = identity;
74
maskVal(:,:,5) = sobelX;
maskVal(:,:,6) = sobelY;
maskVal(:,:,7) = sobelXY;
maskVal(:,:,8) = sharpen;
maskVal(:,:,9) = gaussian;
maskDiv = [edgeDiv deplasDiv intensifDiv identityDiv sobelXDiv sobelYDiv sobelXYDiv sharpenDiv
gaussianDiv];
75
Anexa 3 Prelucrarea imaginilor RGB
a. Selectarea algoritmului
b. Edge
76
c. Shift and substract
d. Edge enhancement
77
e. Identity
f. SobelX
78
g. SobelY
h. SobelXY
79
i. Sharpen
j. Gaussian
80
Anexa 4 Procesare morfologic - Dilatare
Anexa 5 Procesare morfologic - Eroziune

81
Anexa 6 - Implementarea semnalelor de control
Anexa 7 - post.m
if (exist('input_image_r','var') & exist('input_image_g','var') & exist('input_image_b','var') & exist('pix_en_in','var'))
WV_real = 3;
WH = 3;
%post processing
wh=find(reset == 1); last_reset = wh(size(wh,1));
mod = 2; %(WH+1)/2, missing outputs at startup
out_size=size(hw_out_r,1);
hw_out_r_t = hw_out_r(last_reset+3:out_size);
hw_out_g_t = hw_out_g(last_reset+3:out_size);
hw_out_b_t = hw_out_b(last_reset+3:out_size);
hw_out_pix_en_t = hw_out_pix_en(last_reset+3:out_size);
hw_image_r = uint8(zeros(size_y, size_x, 1));
82
hw_image_g = uint8(zeros(size_y, size_x, 1));
hw_image_b = uint8(zeros(size_y, size_x, 1));
row=1;
col=1;
for i=1:size(hw_out_r_t,1)
if (hw_out_pix_en_t(i)==1)
hw_image_r(row, col, 1) = uint8(hw_out_r_t(i));
hw_image_g(row, col, 1) = uint8(hw_out_g_t(i));
hw_image_b(row, col, 1) = uint8(hw_out_b_t(i));
if (col==size_x)
col=1;
row=row+1;
else
col=col+1;
end;
end;
end
hw_image = hw_image_r;
hw_image(:, :, 2) = hw_image_g;
hw_image(:, :, 3) = hw_image_b;
figure(1); imagesc(input_file); title('Original Image');
out_image = hw_image(WV_real:size_y, WH:size_x,:);
figure(2); imagesc(out_image); title('Fixed-Point Version of Filtered Image');
end
83
BIBLIOGRAFIE
1. R., Gonzalez i R., Woods, 1992. Digital Image Processing, s.l.: Addison-Wesley Publishing
Company.
2. S., Smith, 2007. The Scientist and Engineers Guide to Digital Signal Processing. California:
Technical Publishing.
3. D., Silage, 2008. Embedded Design using Programmable Gate Arrays. s.l.: Bookstand
Publishing.
4. G., Blanchet i M., Charbit. 2006. Digital Signal and Image Processing using MATLAB.
Londra: ISTE.
5. S., Qureshi. 2005. Embedded Image Processing with DSP Examples in MATLAB. USA:
Springer Science + Business Media, Inc.
6. B.D., Hahn i D.T., Valentine. 2007. Essential MATLAB for Engineers and Scientists. Third
Edition. Oxford: Elsevier Linacre House.
7. B., Jahne. 2002. Digital Image Processing. Fifth Edition. Berlin: Springer-Verlag.
8. W.K., Pratt. 2007. Digital Image Processing. Fourth Edition. USA: Wiley-Interscience.
9. I., Grout. 2008. Digital ystems Design with FPGAs and CPLDs. USA: Newnes.
10. C. T., Johnston, K.T., Gribbon i D.G., Bailey. 2004. Implementing Image Processing
Algorithms on FPGAs. Disponibil pe: http://www-
ist.massey.ac.nz/dbailey/sprg/pdfs/2004_ENZCON_118.pdf , la data de 16.05.2009.
11. F. M., Waltz. 1998. The application of SKIPSM to various 3x3 image processing operations.
Disponibil pe: www-personal.engin.umd.umich.edu/~jwvm/ece581/17_Misc3x3.pdf, la data de
19.05.2009.
12. T.A., Abbasi i M.U., Abbasi. 2007. A Proposed FPGA Based Architecture for Sobel Edge
Detection Operator. Disponibil pe:
http://www.oldcitypublishing.com/FullText/JAPEDfulltext/JAPED2.4fulltext/Abbasi.pdf, la data
de 26.05.2009.
13. Matlab User Guide 2007b, Video and Image Processing Toolbox Disponibil pe:
http://www.mathworks.com/access/helpdesk/help/pdf_doc/vipblks/vipblks.pdf, la data de
22.03.2009.
84
14. M., Liljestrm. 2008. Image Processing. Disponibil pe:
http://www.miu.helsinki.fi/archive/coursematerial/MBI_Image_processing.pdf, la data de
26.05.2009.
15. D.E., Michek. 2005. Developing Image Processing Algorithms with System. Disponibil pe:
http://www.xilinx.com/publications/xcellonline/xcell_51/xc_pdf/xc_dsp-video51.pdf, la data de
7.05.2009.
16. A.E., Nelson. 2000. Implementation of Image Processing algorithms on FPGA hardware.
Disponibil pe: w3.isis.vanderbilt.edu/publications/archive/Nelson_T_0_0_2000_Implementa.pdf
la data de 19.05.2009.
17. R., Borca-Muresan. 2008. Curs Procesarea Imaginilor. Operaii morfologice pe imagini
binare. Disponibil pe: la data de 1.06.2009.
18. Y., Li. 2006. FPGA Implementation for Image Processing Algorithms. Disponibil pe:
http://users.ecel.ufl.edu/~yl91/Report.pdf, la data de 25.06.2009.
19. R., Dahyot. 2003. Image Processing: a DSP application. Disponibil pe:
https://www.cs.tcd.ie/Rozenn.Dahyot/pdf/TCD2003_edge%20detection_lecture.pdf, la data de
15.12.2008.
20. A., Schreiner. 2006. Image Processing Techniques for Face Recognition. Disponibil pe:
http://homepages.cae.wisc.edu/~ece533/project/f06/schreiner_rpt.pdf, la data de 26.05.2009.
21. Xilinx System Generator v2.1 for Simulink. Disponibil pe:
https://safe.nrao.edu/wiki/pub/CICADA/WebHome/xilinx_ref_guide.pdf , la data de 13.11.2009.

S-ar putea să vă placă și