Operatori Morfologici
CUPRINS
INTRODUCERE
CAPITOLUL I – PRELUCRAREA IMAGINILOR DIGITALE
IMAGINEA DIGITALĂ
ÎMBUNĂTĂȚIREA IMAGINILOR DIGITALE
PRELUCRAREA IMAGINILOR DIGITALE
OPERATORI MORFOLOGICI
FILTRAREA IMAGINILOR DIGITALE
SEGMENTAREA IMAGINILOR DIGITALE
INTRODUCERE
Acest procedeu presupune folosirea unor algoritmi, care permit crearea și editarea imaginilor digitale.
Multe dintre tehnicile de procesare digitală a imaginilor au fost dezvoltate în anii 1960 la Massachusetts Institute of Technology, una dintre cele mai prestigioase universități din USA.
Una dintre primele aplicații de prelucrare a imaginilor a fost îmbunătățirea transmisiei imaginilor de ziar în formă digitală. Introducerea sistemului Bartlane de transmisie prin cablu a imaginilor în primii ani de după 1920 a dus la reducerea timpului de transmisie, de la mai mult de o săptămână, la mai puțin de trei ore.
Îmbunătățirea metodelor de prelucrare a imaginilor a continuat în următorii ani. Cu toate acestea, a fost necesară folosirea calculatoarelor numerice și a programelor spațiale pentru a aduce în prim-plan potențialul conceptelor de prelucrare a imaginilor. Tehnici de îmbunătățire a unor imagini transmise din spațiul cosmic s-au folosit, spre exemplu, pentru corectarea diferitelor tipuri de distorsiuni ale imaginilor preluate de la bordul stației spațiale Ranger 7. Asemenea tehnici au servit ca bază pentru optimizarea metodelor de restaurare și îmbunătățire a imaginilor recepționate de la misiunile spațiale Apollo.
Prelucrarea imaginilor își propune:
extragerea informațiilor pentru analiza cu ajutorul calculatorului a informațiilor;
îmbunătățirea informației vizuale în vederea optimizării analizei și interpretării de către om, cu aplicații în: criminalistică, medicină, industrie etc. .
CAPITOLUL I
PRELUCRAREA IMAGINILOR DIGITALE
1.1.IMAGINEA DIGITALĂ
Pentru început, imaginile sunt semnale, dar nu funcții temporale, ci funcții definite pe un domeniu 2D. Orice imagine este o structură bidimensională (tablou, matrice) de date. Aceste date pot fi numere naturale, reale sau complexe, reprezentate însă pe un număr finit de biți [5, p.18].
Termenul de imagine monocromă (imagine alb-negru) se referă la funcția de intensitate bidimensională f(x,y), unde x și y reprezintă coordonatele spațiale iar f este funcția proporțională în fiecare punct (x,y) cu strălucirea sau cu nivelul de gri al imaginii în acel punct.
O imagine digitală este o imagine care a fost discretizată atât în strălucire cât și în coordonate spațiate. Ea poate fi considerată ca o matrice la care indicele rândurilor și coloanelor identifică un punct din imagine, iar elementul corespunzător al matricii reprezintă nivelul de gri în punctul respectiv. Elementele unei asemenea rețele digitale sunt numite elemente de imagine sau pixeli.
După tipul datelor din această structură bidimensională, imaginile prelucrate pot fi împărțite în mai multe categorii [3, p.41]:
imagini scalare, în care fiecare componentă este un scalar (un unic număr); ca exemple de astfel de imagini se pot da imaginile monocrome (în care punctele au doar două valori posibile, ce corespund unui conținut binar al imaginii în general alb-negru) și imaginile cu nivel de gri (de tipul imaginii de luminanță de pe ecranele televizoarelor alb-negru);
imagini vectoriale, în care fiecare componentă este un vector de numere; cazul particular cel mai de interes este acel al imaginilor color, în care vectorul are trei elemente (ce corespund celor trei constituente de bază ale oricărei culori); în general, pentru imaginile multicomponentă, vectorul asociat fiecărui punct din imagine are mai multe elemente (caz ce corespunde imaginilor preluate în mai multe benzi de frecvență, așa cum sunt imaginile de teledetecție ale sateliților, imaginile de termodetecție în benzile de infraroșu, etc.). Tot în categoria imaginilor vectoriale intră însă și imaginile stereo (o pereche de imagini ale aceleiași scene, luate din unghiuri diferite) și secvențele de imagini.
În mod clasic, valoarea unui element al unei imagini este o măsură a intensității luminoase în punctul considerat; acesta nu este însă decât un caz particular. După natura lor, imaginile pot fi clasificate ca imagini abstracte, imagini non-vizibile și imagini vizibile.
Imaginile abstracte sau modelele sunt de fapt funcții matematice continue sau discrete, de două variabile.
Imaginile non-vizibile, care evident, nu pot fi percepute în mod direct de ochiul uman, sunt de fapt achiziții ale unor câmpuri bidimensionale de parametrii fizici (presiune, temperatură, densitate, etc.) [9, p.63]. În fine, imaginile ce pot fi percepute în mod direct de către ochiul uman (deci imagini vizibile) sunt la rândul lor imagini optice, generate ca distribuții de intensitate luminoasă (așa ca hologramele, imaginile de interferență și difracțiile) sau imagini propriu-zise (de luminanță – în sensul curent al termenului, ce se referă la fotografii, desene, schițe și altele din aceeași categorie).
O altă împărțire a imaginilor scalare se poate face după semnificația ce se dă valorii numerice a pixelilor [2, p.14]. Vom distinge astfel imagini de intensitate și imagini indexate. O imagine de intensitate este o imagine în care valoarea fiecărui pixel este o măsură directă a intensității luminoase sau a mărimii fizice prelucrate de senzor, ca de exemplu în imaginile cu nivele de gri. Pixelii unei imagini de intensitate pot avea orice fel de valori: reale sau naturale (depinzând dacă imaginea este sau nu cuantizată).
O imagine indexată este o imagine în care valoarea oricărui pixel este un indice prin care se regăsește culoarea asociată pixelului respectiv.
În general, în diferite aplicații se folosesc imagini de diferite forme și dimensiuni dar prelucrarea digitală este mult facilitată dacă se folosesc matrici pătratice iar numărul nivelelor de gri se alege ca putere întreagă a lui 2. De exemplu, o dimensiune tipică a imaginilor digitale, comparabilă ca și calitate cu cea a imaginilor TV alb-negru, este de 512x5l2 pixeli având 128 nivele de gri [3, p.45].
1.2.ÎMBUNĂTĂȚIREA IMAGINILOR DIGITALE
Termenul de digital image processing, (prelucrare digitală a imaginilor) se referă la prelucrarea cu calculatorul a semnalului bidimensional de televiziune. Într-un context mai larg, se poate spune că el cuprinde orice tip de prelucrare a unor informații de tip bidimensional [4, p.93]. Prelucrarea digitală a imaginilor are un spectru foarte larg de aplicații, între transmisia și memorarea de imagine pentru aplicații economice, procesarea medicală a imaginilor ("medical imaging”), prelucrarea imaginilor radar, sau sonar, inspecția automată a plachetelor echipate în industrie etc [1, p.79]
În cazul metodelor de îmbunătățire a imaginilor, scopul este accentuarea anumitor caracteristici pentru analiza sau redarea acestora. Tehnicile de îmbunătățire a imaginilor transformă un nivel de gri în alt nivel de gri după o anumită funcție, sau realizează operații de tip "fereastră" în imediata vecinătate a pixelului (transformări, convoluții, pseudocolorări, etc.).
Îmbunătățirea imaginilor se referă la punerea în evidență a contururilor, contrastelor, etc., pentru a le face mai expresive pentru diferite tipuri de aplicații. Metodele de îmbunătățire nu măresc conținutul de informații, dar măresc dinamica caracteristicilor alese, pentru a putea fi observate mai ușor. Dificultatea cea mai mare constă în alegerea criteriilor de îmbunătățire, motiv pentru care există o multitudine de tehnici empirice de îmbunătățire, majoritatea interactive.
Având în vedere utilitatea lor în practică, în toate aplicațiile legate de prelucrările digitale de imagini, aceste metode sunt foarte importante. Din punctul de vedere al algoritmilor utilizați pentru îmbunătățirea imaginii, se disting patru categorii mari de tehnici de îmbunătățire [7, p.63]:
Operațiuni punctuale care cuprind: mărirea contrastului, atenuarea zgomotului, operațiuni de tip fereastră și modelarea imaginii prin histograme;
Operațiuni spațiale dintre care menționăm: curățarea de zgomot, filtrarea mediană, filtrarea trece-jos, trece-sus si trece-bandă și tehnica de "zooming" a imaginii;
Operațiuni de transformare a imaginilor, care cuprind: filtrarea liniară, filtrarea de tip radical sau filtrarea homomorfică;
Operatiuni de pseudocolorare între care se disting tehnicile de colorare falsă și pseudocolorare a imaginilor.
1.3.PRELUCRAREA IMAGINILOR DIGITALE
Prelucrarea imaginilor digitale este folosită pentru restaurarea și îmbunătățirea imaginilor și presupune folosirea unor tehnici exprimate, de obicei, sub forma unor algoritmi. Din această cauză, cu excepția achiziției și redării imaginilor, majoritatea celorlalte funcții de prelucrare pot fi implementate soft.
Singurele motivații ce justifică, în anumite aplicații, implementarea hard a anumitor algoritmi sunt necesitatea asigurării unei viteze mari de prelucrare sau depășirea anumitor limitări fundamentale ale calculatoarelor [5, p.49]. Spre exemplu, pentru prelucrarea imaginilor obținute în microscopia electronică, se impune reducerea zgomotului din imagini prin medierea acestora de-a lungul unui set de imagini și cu o viteză corespunzătoare ratei video (25 de cadre/secunda). Arhitectura magistralelor majorității calculatoarelor nu poate gestiona cantitatea de informație la rata de transfer cerută de această aplicație și, din această cauză, sistemele de prelucrare de imagini sunt, la ora actuală, combinații de calculatoare uzuale si plăci specializate de prelucrări hard, operațiile fiind supervizate de către pachetele de programe instalate pe calculator. Cu toate că există încă o piață importantă pentru sisteme de prelucrare de imagini foarte performante, pentru aplicații de mare anvergură cum ar fi prelucrarea imaginilor satelitare, tendința de miniaturizare și de combinare a calculatoarelor de uz general cu echipamente (plăci) specializate în prelucrarea hard a imaginilor câștigă din ce în ce mai mult teren. În particular, principalul echipament hard ce se adaugă la arhitectura clasică a PC-urilor constă într-o combinație de digitizor și registru de imagine (“frame buffer”), pentru digitizarea si stocarea temporară a imaginilor, o așa-numită unitate de procesare aritmetică/logică (ALU) utilizată pentru operațiile de tip aritmetic si logic în timpi comparabili cu ratele de transfer video și unul sau mai multe registre de imagine, pentru asigurarea unui acces rapid la date în timpul prelucrării.
Din punctul de vedere al programelor utilizate, pe piață este disponibil la ora actuală un număr semnificativ de asemenea programe de prelucrare. În combinație cu alte pachete de programe (de grafică computerizată, de exemplu) ele constituie un foarte util punct de plecare pentru soluționarea unor probleme specifice de prelucrare de imagini. Soluțiile obținute prin implementare soft sunt, ulterior, transferate (portate) pe plăci specializate de prelucrare hard pentru obținerea unei viteze superioare.
Prelucrările de imagini se caracterizează prin faptul că folosesc tehnici specifice; cu toate acestea, metode care duc la rezultate foarte bune in unele aplicații, sunt total inadecvate în altele. Ceea ce pune, de fapt, la dispoziție hard-ul și programele soft disponibile la ora actuală, este un punct de pornire în dezvoltarea unor aplicații specifice, care necesită însă o muncă de cercetare și dezvoltare foarte serioasă.
1.4.OPERATORI MORFOLOGICI
Ideea de bază a oricărei prelucrări morfologice constă în considerarea imaginii ca un ansamblu (mulțime, reuniune de părți) asupra căruia se aplică transformări a căror esență este comparația cu mulțimi (ansambluri mai simple), numite elemente structurante. Aceste transformări conduc la simplificarea structurii imaginii, păstrând doar caracteristicile esențiale de formă.
Cei mai folosiți operatori morfologici sunt erodarea și dilatarea.
Mulțimea pixelilor obiect A dintr-o imagine obținută prin erodare (contractare, comprimare) cu elementutructurii imaginii, păstrând doar caracteristicile esențiale de formă.
Cei mai folosiți operatori morfologici sunt erodarea și dilatarea.
Mulțimea pixelilor obiect A dintr-o imagine obținută prin erodare (contractare, comprimare) cu elementul structurant B se definește ca mulțimea pixelilor cu care se poate translata elementul structurant astfel încât B să fie inclus în A.
Fiecare pixel al obiectului care “atinge” fundalul este transformat în pixel fundal.
După erodare
dispar obiectele izolate;
aria obiectului scade;
fisurile se lărgesc;
găurile se măresc;
un obiect se poate diviza în mai multe obiecte mai mici;
2 obiecte unite accidental se despart.
Mulțimea pixelilor obiect A dintr-o imagine obținută prin dilatare (expandare) cu elementul structurant B se definește ca mulțimea pixelilor cu care se poate translata elementul structurant astfel încât B să aibă puncte comune cu A. [5, p.53]
Astfel, fiecare pixel din fundal aflat în contact cu obiectul este transformat în pixel obiect.
După dilatare:
obiectul va fi mai neted;
aria crește;
se pot uni mai multe obiecte;
Astfel de transformări se vor realiza pe imagini binarizate, în care 1 este asociat cu alb, iar 0 cu negru.
Se poate întâmpla ca în urma binarizarii, din cauza alegerii inadecvate a pragului sau din cauza zgomotului, să apară mici “insule”. Pentru eliminarea lor fără a se modifica dimensiunea obiectelor de interes, se aplică un număr de dilatări urmat de un număr egal de eroziuni sau invers, folosind acelasi sablon [9, p.89].
O operație de erodare urmată de o dilatare se numește deschidere – se elimină micile “insule” din pixelii obiectului.
Printr-o dilatare urmată de o erodare se obține închiderea unei imagini – se elimină “insulele” din cadrul fundalului [5, p.55]
Operatorii deschidere și închidere se aplică și pentru separarea obiectelor atinse, respectiv concatenarea celor fragmentate.
1.5.FILTRAREA IMAGINILOR DIGITALE
O categorie de prelucrări de imagini des întâlnite sunt reunite sub numele de filtrare. Obiectivele filtrărilor sunt diferite, în funcție de conținutul informational vizat și de etapa în care se execută [5, p.61].
Filtrarea spațială
Filtrarea spațială a imaginilor este o operație care se aplică local la nivelul fiecărui pixel din imagine. Noua valoare a pixelului din imaginea prelucrată rezultă prin combinarea luminanțelor unui număr oarecare de pixeli din imaginea inițială, situați în vecinătatea pixelului curent prelucrat.
Numărul de vecini luați în considerare va determina dimensiunea filtrului. Cu cât dimensiunea filtrului va fi mai mare, cu atât efectul filtrării va crește.
Filtrele spațiale pot fi folosite pentru eliminarea anumitor tipuri de zgomot din imagini și se pot clasifica, după structura și modul de aplicare, în [8, p.47]:
filtre liniare – se aplică printr-o operație liniară asupra imaginii (de obicei, convoluție). Sunt folosite pentru înlăturarea zgomotului Gaussian și a celui uniform.
filtre neliniare – se aplică în cazul în care imaginile sunt afectate de zgomot de tip “sare și piper”.
Filtre liniare
Operația liniară ce se aplică asupra imaginii de prelucrat este descrisă de relația:
unde
in(m,n) este imaginea de filtrat;
out(m,n) este imaginea obținută în urma filtrării;
V este vecinătatea punctului curent, în care se face calculul. Este numită mască sau fereastră de filtrare;
wmn este scalarul de pe poziția (m,n) a ferestrei de filtrare și poartă numele de coeficient al filtrului.
Practic, algoritmul de realizare a filtrării este descris de următorii pași [6, p.89]:
plasează vecinătatea V cu originea în pixelul curent;
extrage valorile pixelilor din vecinătate;
combină valorile extrase;
scrie nouă valoare în imaginea de ieșire la poziția (r,c);
treci la pixelul următor;
Filtrarea trece jos – Filtrul Gaussian
Filtrarea trece jos face parte din categoria filtrărilor liniare și se realizează prin convoluția dintre matricea imaginii de filtrat și o fereastră de filtrare (mască).
Un aspect important al alegerii ponderilor măștii este păstrarea luminanței medii originale după filtrare. În acest scop,suma ponderilor din fereastră de filtrare trebuie să fie 1.
Sunt date în continuare câteva exemple de măști ce pot fi folosite pentru filtrare trece jos.
În urma acestei operații, nivelul de gri al fiecărui pixel se înlocuiește cu media nivelurilor de gri pentru cei n-vecini (4 sau 8), din acest motiv astfel de filtre numindu-se și filtre de mediere aritmetică.
Ferestrele pot fi de diferite dimensiuni, însă la dimensiuni mari (utilizarea succesivă a unei ferestre mici) apare fenomenul de încețoșare a imaginii (blur).
Un efect al filtrării trece jos este atenuarea frecvențelor înalte, presupuse a proveni din zgomot. Astfel se dorește o frecvență de tăiere mică. Alt efect al filtrului este “teșirea” sau netezirea muchiilor din imagine (acele zone în care există tranziții de la luminanță mare la mică sau invers). Cu cât frecvența de tăiere a filtrului este mai mică,cu atât muchia va fi mai atenuată.
Astfel, alegerea frecvenței de tăiere a filtrului este un compromis între tendința de atenuare a zgomotului de frecvență mare și prudența în privința netezirii muchiilor.
Filtrul Gaussian
Unul dintre filtrele trece jos este filtrul Gaussian. Acesta, după cum îi spune și numele, este dedicat eliminării zgomotului Gaussian. Din punct de vedere matematic, filtrul Gaussian modifică imaginea de intrare prin convoluția cu o funcție Gauss.
Funcția Gaussian unidimensională este dată de relația:
Bidimensional, aceasta se exprimă prin produsul a două funcții 1D, una pentru fiecare direcție.
, unde σ = abaterea (deviația) standard.
Dimensiunea nucleului de convoluție trebuie corelată cu valoarea deviației standard, în timp ce valoarea lui σ se alege în funcție de nivelul zgomotului din imagine. Cu cât zgomotul este mai puternic, cu atât σ și dimensiunile nucleului Gaussian vor crește.
În general, dimensiunea nucleului se ia 6σ.
Un exemplu de mască folosită pentru filtrare gaussiana este w4:
.
Filtrarea trece sus – Operatorul Sobel
Prin opoziție cu filtrarea trece jos, filtrarea trece sus se folosește în situația când imaginea este prea uniformă, muchiile nu sunt vizibile (ca la o imagine în ceață).
Dintre matricile nucleu utilizate în acest scop, amintim:
.
Componentele din partea de sus a spectrului semnalului util sunt accentuate având ca obiectiv creșterea contrastului și accentuarea detaliilor.
Operatorul Sobel este de asemenea un filtru trece sus care scoate în evidență contururile obiectelor de pe o anumit a direcție în funcție de nucleul de convoluție aplicat. Se spune că se realizează derivarea pe direcția indicată.
Există 8 nuclee corespunzătoare celor 8 direcții:
Nucleele ki , i=2…8, se obțin prin rotații successive ale lui k1.
Se observă că, pentru o comportare derivativă, suma ponderilor vecinilor este nulă.
Pentru aflarea variației maxime de intensitate este necesară determinarea vectorului gradient. Acest lucru este posibil prin două metode [9, p.105]:
Gradientul este estimat în cele 8 direcții posibile, iar valoarea amplitudinii reprezintă maximul rezultatelor obținute prin aplicarea celor 8 nuclee.
Se utilizează doar două din cele opt nuclee (de exemplu k1 și k3) pentru obținerea diferențelor finite pe linii (gy), respectiv coloane (gx). În acest caz, amplitudinea și direcția gradientului se calculează cu relațiile:
în care gx = A*k3, iar gy = A*k1.
A este imaginea sursă, iar * este operatorul de convoluție bidimensională.
Ca dezavantaj al acestui operator se poate menționa sensibilitatea la zgomot (se știe că derivata amplifică zgomotul). În acest caz derivata trebuie combinată cu o filtrare de netezire care să o preceadă. Netezirea trebuie să fie orientată pe direcție perpendiculară direcției de derivare.
Contururile detectate cu ajutorul operatorilor de tip gradient necesită operații de postprocesare pentru subțiere și închidere.
Filtre neliniare. Filtrul median
Dacă o imagine afectată de zgomot de tip “sare și piper” ar fi filtrată liniar, rezultatul ar fi o accentuare a punctelor de zgomot și o corupere a pixelilor cu valori corecte din jurul acestora.
O clasă esențială a filtrelor neliniare este formată din filtrele bazate pe ordonare.
Filtrul median
Înlocuiește valoarea pixelului central cu medianul șirului ordonat obținut din valorile pixelilor selectați de fereastra de filtrare.
Efectul aplicării filtrului median este că pixelii cu valoarea foarte diferită de a vecinilor dispar, ceea ce duce la rejecția zgomotului “salt and peeper” și la eliminarea liniilor subțiri.
Un dezavantaj al acestui tip de filtrare îl constituie numărul destul de mare de operații necesare pentru ordonarea pixelilor din vecinătate.
Filtrarea temporală
În numeroase situații informația vizuală este captată în mod continuu, în intenția de a detecta schimbările care se petrec. Un exemplu clasic provine din aplicațiile de supraveghere.
Există diferiți algoritmi pentru analiza mișcării și urmărirea contururilor. Poate cei mai simpli și mai răspândiți sunt cei bazați pe filtrarea temporală, o metodă de a determina deplasarea fiecărui pixel între imagini succesive.
Pentru a determina mișcarea obiectelor prin analiza imaginilor succesive, comparăm valoarea unui punct din imaginea originală cu cea din imaginea finală [1, p.122].
1.6. SEGMENTAREA IMAGINILOR DIGITALE
În analiza obiectelor dintr-o imagine este esențial să putem separa obiectele de interes de “restul” imaginii. Acest ultim grup poate fi referit și ca fundal. Tehnica de prelucrare a imaginilor utilizată ,de obicei, pentru găsirea elementelor de interes, în vederea analizei și clasificării lor ulterioare, este segmentarea.
În termeni matematici, se poate spune că segmentarea unei imagini R se definește ca fragmentarea (completă) a lui R în mai multe regiuni nevide și conexe Ri, având următoarele proprietăți:
.
Există trei criterii după care se poate face segmentarea: luminanța, culoarea și textură. În primul caz, se presupune că obiectele de interes au valorile luminanțelor cuprinse într-un anumit interval, iar restul obiectelor și fondul nu posedă porțiuni cu luminanțe în intervalul respectiv [2, p.67]. În cazul segmentării după culoare se are în vedere faptul că obiectele ce trebuie separate au o proprietate distinctă a compoziției de culoare, iar în ceea ce privește segmentarea după textură se presupune existența unei proprietăți distincte a periodicității atributelor pixelilor obiectelor de separat.
Întrucât segmentarea după luminanță este cea mai intuitivă (în cazul imaginilor monocrome se numește segmentare după nivelul de gri), aceasta se va prezenta în continuare.
Histograma unei imagini este un grafic în care se reprezintă numărul de apariții corespunzător diferitelor niveluri de gri posibile. Aceasta nu oferă nici o informație referitoare la locația pixelilor, însă cu ajutorul ei se pot maipula nivelurile de gri în vederea îmbunătățirii contrastului, luminozității, etc.
Pentru o imagine în format RGB se poate afișa câte un grafic pentru fiecare canal de culoare. În cazul unei imagini monocrome (pe 8 biți) histograma va arăta câți pixeli corespund fiecărei culori posibile (256 valori).
Cel mai simplu caz de tratat este cel în care luminanțele obiectelor sunt grupate într-un anumit interval, iar luminanța fondului ocupă restul scării de gri. Histograma reprezentativă acestui tip de imagini se numește histogramă bimodala (are două maxime locale,unul pentru fundal și unul pentru obiecte) și este prezentată în figură următoare.
Histogramă bimodala
Dacă primul maxim din figura corespunde fondului, atunci avem obiecte luminoase pe fond întunecat.
Pentru separarea celor două intervale de niveluri de gri și deci identificarea obiectelor de interes din imagine, se va alege un nivel de gri Th, între luminanțele fondului și obiectelor, numit prag de segmentare (threshold).
Acest prag se poate alege având valoarea minimă a frecvenței de apariție, deci pe minimul local situat între cele două maxime ale histogramei. Înainte de determinarea acestui minim,valorile histogramei trebuie filtrate pentru a nu avea de ales între mai multe minime locale. Segmentarea se va face prin compararea fiecărui pixel din imagine cu pragul Th.
Un alt criteriu de alegere a pragului, considerând o distribuție normală pentru pixelii fondului și cei ai obiectului, este la 2,5σ față de nivelul de gri pentru care se atinge valoarea maximă în histogramă(media), așa cum se arătă în figură.
Determinarea pragului de segmentare
unde σ=deviația standard, m=media.
După stabilirea pragului de segmentare, se compară fiecare pixel din imagine cu pragul Th.
Astfel
în care E0 și E1 pot fi 0 și respectiv 1, sau 0 și 255.
În urma acestei transformări, din imaginea inițială R se va construi o imagine binară.
CAPITOLUL II
TEORIA MOMENTELOR ÎN PRELUCRAREA IMAGINILOR DIGITALE
2.1.MOMENTELE PRELUCRĂRII IMAGINILOR
Momentele sunt descriptori care iau în considerare organizarea interioară a punctelor unei suprafețe. Ele pot fi aduse la forme invariante la translație, rotație sau variație omotetică.
Momentul de ordinul ( p+q ) al unei funcții f ( x, y ) se scrie:
pentru p, q = 0, 1, 2, …
Aplicată la imagini discrete, formula devine:
Pentru cazul imaginii binare negre pe fond alb, adică: f ( i, j ) = 1 dacă P ( i, j ) obiectului, putem menționa că:
Momentul de ordin zero reprezintă aria obiectului din imagine :
Momentele de ordin unu se calculează după formulele:
și permit calcularea coordonatelor centrului de greutate al obiectului din imagine
Momentele centrale de ordin ( p+q ) sunt date de expresia :
Momentele centrale sunt invariante la translație, pentru că centrul de greutate se deplasează în același timp cu obiectul.
Momentele centrale de ordin 2 sunt definite astfel:
Aceste momente permit să se găsească axele de inerție ale obiectelor. Mai indicăm, pentru exemplificare, câteva momente importante:
Momentele de mai sus pot fi normalizate la schimbarea mărimii formei înlocuind momentele centrale μpq cu variantele lor normalizate ηpq. Momentele centrale normate se definesc prin:
Următoarele momente sunt exemple de momente invariante la translație și rotație:
Ф1 = η20 + η02
Ф2 = ( η20 – η02 )2 + 4η112
Ф3 = ( η30 – 3η12 )2 + ( 3η21 – η03 )2
Ф4 = ( )
Ф5 = ( η30 – 3η12 ) [ ( η30 + η12 )2 – 3( η21 + η03 ) ] + ( 3η21 – η03 ) ( η21 + η03 ) [ 3( η30 – η12 )2 – ( η21 – η03 )2 ]
Ф6 = ( η20 – η02 ) [ ( η30 – η12 )2 – (η21 + η03 )2 ] + 4η11( η30 + η12 ) ( η21 + η03 )
Ф7 = ( 3η21 – η03 )( η30 + η12 ) [ ( η30 + η12 )2 – 3( η21 + η03 )2 ] – ( η30 – 3η12 ) ( η21 – η03 ) [ 3( η30 + η12 )2 – (η21 + η03 )2 ]
În această manieră se generează momentele invariante generalizate (invariante la translație, rotație și omotetie, adică la grupul similitudinilor afine).
CAPITOLUL III
??????????????????????????
3.1.TRANSFORMĂRI GEOMETRICE
Transformările geometrice sunt o clasă de operații ce modifică structura de vecinătate (structura spațială) a imaginilor. În mod plastic, transformările geometrice pot fi interpretate ca o reprezentare a imaginii pe o foaie de cauciuc extrem de elastic, ce poate fi întinsă, comprimată și fixată în anumite puncte. Transformările geometrice permit deplasarea pixelilor din imagine, astfel încât orice pixel al imaginii inițiale să poată fi transformat în orice pixel al imaginii finale. Condiția de păstrare a unei asemănări vizuale a conținutului imaginii transformate cu imaginea inițială impune însă constrângerea operațiilor geometrice ce pot fi aplicate unui pixel, limitând posibilitățile de mișcare ale acestuia, pentru a evita fenomenul de rupere sau amestecare a conținutului imaginii.
O transformare geometrică este definită în mod esențial de legea de modificare a coordonatelor pixelilor (deci legea ce descrie mișcarea punctelor din imaginea inițială către cea finală). Respectarea condiției de păstrare a aspectului vizual al conținutului imaginii va fi asigurată prin utilizarea unor legi de transformare invariante spațial (și deci identice pentru toți pixelii unei aceleiași imagini). Astfel, orice pixel din imaginea inițială, caracterizat de coordonatele va fi deplasat în urma transformării geometrice la coordonatele , definite de
Transformarea geometrică (3.1) este deci caracterizată de perechea de funcții de două variabile ce definesc transformările coordonatelor orizontală (X), și respectiv verticală (Y).
3.2.TRANSFORMATA KARHUNEN-LOEVE
Calculul transformatei Karhunen-Loève se realizează prin găsirea vectorilor proprii ai matricii de covarianță. Dacă este disponibil întregul semnal, ca și în cazul în care se codează o singură imagine, matricea de covarianță poate fi estimată prin n eșantioane astfel:
(3.2.1.)
unde este un eșantion al vectorului de date. Dacă sunt disponibile doar porțiuni din semnal, trebuie avut în vedere că estimarea este reprezentativă pentru întregul semnal. În caz extrem, dacă se utilizează doar un singur vector de date există doar valorile proprii nenule și vectorul propriu este doar o simplă versiune scalată a vectorului de date. Pentru imaginile tipice sunt rar întâlnice cazurile când matricea de covarianță are valori proprii nule. Pentru un vector N-dimensional sunt necesare 10·N eșantioane reprezentative din variate regiuni ale imaginii pentru o bună estimare a imaginii, în cazul în care nu este posibilă utilizarea întregii imagini.
3.2.1.Calculul vectorilor proprii
O abordare simplă este folosind metoda Jacobi. Ea dezvoltă o secvență de matrici de rotație, , din diagonalele matricii [C] astfel:
(3.2.2)
unde este matricea diagonală dorită și . Fiecare se rotește într-un plan pentru a elimina unul dintre elementele nediagonale ale matricii. Este o tehnică iterativă care se termină când elementele nediagonale ale matricii sunt apropiate de zero. La terminarea acestui proces, matricea conține valorile proprii pe diagonală și coloanele vectorului sunt de fapt vectorii transformatei Karhunen-Loève.
Această tehnică este foarte simplă, dar pentru matrici mai mari poate necesita un număr mare de calcule. O metodă mai eficientă pentru matrici mari împarte problema în două părți. Algoritmul Householder poate fi aplicat pentru a reduce matricile simetrice într-o formă tridiagonală printr-un număr de pași. Odată ce matricea este într-o formă mai simplă se poate aplica o metodă iterativă cum ar fi factorizarea QL care poate fi utilizată pentru a genera vectorii proprii și valorile proprii. Avantajul acestei metode este că factorizarea unei matrici tridiagonale tipice necesită mai puține iterații decât metoda Jacobi.
3.2.2.Soluția Markov-1
Calculul vectorilor proprii pentru o matrice de covarianță arbitrară poate necesita un număr mare de calcule. Totuși există o clasă specială de matrici care au o soluție analitică pentru vectorii și elementele sale proprii. Dacă un proces are funcția de covarianță de forma
(3.2.3)
unde este un coeficient de corelație, 0< <1. Soluția elementului i de pe vectorul N-dimensional j este dată de:
(3.2.4)
unde este elementul valoarea proprie j calculat astfel
(3.2.5)
și este rădăcina reală pozitivă de ordin j a ecuației transcedente
(3.2.6)
CAPITOLUL IV
APLICAȚII
Prezentare
Am ales să realizez un site în limbajul HTML+Javascript despre Aplicații ale teoriei momentelor în prelucrarea imaginilor digitale. Site-ul este realizat in HTML(HyperText Markup Language), iar pentru design am folosit CSS(Cascading Style Sheets).
Pe prima pagină puteți găsi un element JavaScript, în care se schimbă la un anumit interval de timp câteva poze prelucrate digital. În Header-ul site-ului veți putea observa titlul lucrării mele de licență, iar in Meniu, cele trei tab-uri de navigare: Acasa, Metode și Autor.
În partea de jos a primei pagini se află un colaj de poze, un mesaj de bun venit și o scurtă introducere a proiectului.
Pe cea de-a doua pagină, în partea dreaptă, am inserat o fotografie prelucrată digital și un text despre imaginea digitală.
Pe ultima pagină veți regăsi autorul și coordonatorul acestui proiect.
ANEXĂ
Codul Aplicației în HTML.
Index.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>APLICAȚII ALE TEORIEI MOMENTELOR ÎN PRELUCRAREA IMAGINILOR DIGITALE</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject/swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
flashvars.xml = "config.xml";
flashvars.font = "font.swf";
var attributes = {};
attributes.wmode = "transparent";
attributes.id = "slider";
swfobject.embedSWF("cu3er.swf", "cu3er-container", "960", "400", "9", "expressInstall.swf", flashvars, attributes);
</script>
<style type="text/css">
.auto-style1 {
text-indent: -18.0pt;
line-height: 115%;
font-size: 11.0pt;
font-family: Calibri, sans-serif;
margin-left: 36.0pt;
margin-right: 0cm;
margin-top: 0cm;
margin-bottom: .0001pt;
}
.auto-style2 {
text-indent: -18.0pt;
line-height: 115%;
font-size: 11.0pt;
font-family: Calibri, sans-serif;
margin-left: 36.0pt;
margin-right: 0cm;
margin-top: 0cm;
margin-bottom: 10.0pt;
}
</style>
</head>
<body>
<div class="main">
<div class="blok_header">
<div class="header">
<div class="logo"> <p align="center" class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif"">
<font color="white"> APLICAȚII ALE TEORIEI MOMENTELOR ÎN PRELUCRAREA IMAGINILOR DIGITALE<o:p></font></o:p></span></p>
</div>
<div class="galeria">
</div>
</div>
<div class="clr"></div>
</div>
<div class="menu_resize_bg">
<div class="menu_resize">
<div class="menu">
<ul>
<li><a href="index.html" class="active"><span>Acasa</span></a></li>
<li><a href="metode.html"><span>Metode</span></a></li>
<li><a href="autor.html"><span>Autor</span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="header_text_bg">
<div class="cu3er_resize">
<div id="cu3er-container"><a href="http://www.adobe.com/go/getflashplayer"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></div>
</div>
<div class="header_text"> <div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="body_resize">
<div class="body">
<div class="left">
<h2>
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif"">
INTRODUCERE<o:p></o:p></span></h2>
<p> </p>
<p class="MsoNormal">
<span style="font-size:12.0pt;
line-height:150%;font-family:"Times New Roman","serif"">
<span style="mso-tab-count:
1"> </span>
<span style="color:black;mso-themecolor:text1">Acest procedeu presupune folosirea unor algoritmi, care permit crearea și editarea imaginilor digitale.
Multe dintre tehnicile de procesare digitală a imaginilor au fost dezvoltate în anii 1960 la Massachusetts Institute of Technology, una dintre cele mai prestigioase universități din USA.
Una dintre primele aplicații de prelucrare a imaginilor
a fost îmbunătățirea
transmisiei imaginilor de ziar în formă digitală. Introducerea
sistemului <b><span style="mso-bidi-font-style:italic">Bartlane </span>
</b>de transmisie prin cablu a imaginilor în primii ani de după 1920 a
dus la reducerea timpului de transmisie, de la mai mult de o
săptămână, la mai puțin de trei ore.<o:p></o:p></span></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> Îmbunătățirea metodelor de prelucrare a
imaginilor a continuat în următorii ani. Cu toate acestea, a fost
necesară folosirea calculatoarelor numerice și a programelor spațiale
pentru a aduce în prim-plan potențialul conceptelor de prelucrare a
imaginilor. Tehnici de îmbunătățire a unor imagini transmise din
spațiul cosmic s-au folosit, spre exemplu, pentru corectarea
diferitelor tipuri de distorsiuni ale imaginilor preluate de la bordul
stației spațiale Ranger 7. Asemenea tehnici au servit ca bază pentru
optimizarea metodelor de restaurare și îmbunătățire a imaginilor
recepționate de la misiunile spațiale Apollo.<o:p></o:p></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"><o:p> </o:p></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> Prelucrarea imaginilor își propune:</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif""><o:p></o:p></span></p>
<p class="auto-style1" style="mso-add-space: auto; mso-list: l0 level1 lfo1">
<![if !supportLists]>
<span style="font-size:12.0pt;line-height:150%;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>
<span style="font-size:12.0pt;line-height:150%;
font-family:"Times New Roman","serif";color:black;mso-themecolor:text1;
mso-bidi-font-weight:bold">extragerea informațiilor</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> pentru analiza cu ajutorul calculatorului a
informațiilor;</span><span style="font-size:12.0pt;line-height:150%;font-family:
"Times New Roman","serif""><o:p></o:p></span></p>
<p class="auto-style2" style="mso-add-space: auto; mso-list: l0 level1 lfo1">
<![if !supportLists]>
<span style="font-size:12.0pt;line-height:150%;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black;mso-themecolor:text1">
<span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>
<span style="font-size:12.0pt;line-height:150%;
font-family:"Times New Roman","serif";color:black;mso-themecolor:text1;
mso-bidi-font-weight:bold">îmbunătățirea informației vizuale</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> în vederea optimizării analizei și
interpretării de către om, cu aplicații în:
<span style="mso-bidi-font-style:
italic">criminalistică, medicină, industrie</span> etc. .<o:p></o:p></span></p>
<p> </p>
<h2> </h2>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="FBG_blog">
<div class="FBG_blog_resize"> <h2 style="width: 295px; height: 11px">Bine ati venit! </h2>
</div>
<div class="clr"></div>
</div>
</div>
<div class="FBG">
<div class="FBG_resize">
<img alt="" src="images/jos.jpg" width="800" height="200" /><div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="leftt" style="width: 930px">
©GÎTIN (BĂTRÎNU) C. CRISTINA ; Coordonator PROF. DR VLADIMIR BALAN</p>
<div class="clr">
</div>
</div>
<div class="clr">
</div>
</div>
</body>
</html>
Style.css:
@charset "utf-8";
body { margin:0; padding:0; width:100%; background: url(images/main_bg.gif); }
html { padding:0; margin:0; }
a { text-decoration:none; }
a:hover { text-decoration:underline; }
/* main */
.main { padding:0; margin:0 auto; }
/********** header **********/
.blok_header { margin:0; padding:0; background:#0c0c0c; }
.header { width:960px; margin:0 auto; padding:0; }
/* logo */
.logo { padding:0; margin:0; width:349px; float:left; }
/*galeria*/
.galeria { width:200px; padding:5px 0 0 0; margin:0; float: right; }
.galeria p { margin:30px 0 0 0; text-align:right; }
.galeria a { padding:10px 2px 0 2px; margin:0; width:24px; height:23px; }
.galeria a:hover { padding:10px 2px 0 2px; margin:0; }
.galeria a.first { background:url(images/RSS_3.gif) top no-repeat; }
.galeria a:hover.first { background:url(images/RSS_3_hover.gif) top no-repeat; }
.galeria a.sek { background: url(images/RSS_2.gif) top no-repeat; }
.galeria a:hover.sek { background: url(images/RSS_2_hover.gif) top no-repeat; }
.galeria a.thre { background: url(images/RSS_1_hove.gif) top no-repeat; }
.galeria a:hover.thre { background: url(images/RSS_1.gif) top no-repeat; }
/* menu_resize */
.menu_resize_bg { height:41px; background:url(images/menu_bg.gif) top repeat-x; margin:0; padding:0; }
.menu_resize { width:960px; margin:0 auto; padding:0; }
/* menu */
.menu { padding:1px 0 0 0; margin:0; width:600px; float:left; }
.menu ul { text-align: left; padding:0; margin:0; list-style:none; border:0; float:left; }
.menu ul li { float:left; margin:0; padding:0; border:0; }
.menu ul li a { float:left; margin:0; padding:12px 0; color:#fff; font:normal 12px Arial, Helvetica, sans-serif; text-decoration:none; }
.menu ul li a span { padding:12px 9px; background:none; }
.menu ul li a:hover { background: url(images/r_menu.gif) no-repeat right; }
.menu ul li a:hover span { background:url(images/l_menu.gif) no-repeat left; }
.menu ul li a.active { background:url(images/r_menu.gif) no-repeat right; }
.menu ul li a.active span { background:url(images/l_menu.gif) no-repeat left; }
/* search */
.search { padding:8px 0 0 0; margin:0; width:320px; float:right; }
.search form { display:block; float:right; padding:0; }
.search span { display:block; float:left; background: url(images/search_bg.gif) left top no-repeat; width:156px; padding:0; height:27px; }
.search form .keywords { line-height:15px; height:15px; float:left; width:146px; background:url(images/search_bg.gif) left top no-repeat; border:0; padding:6px 5px; margin:0; font:normal 12px Arial, Helvetica, sans-serif; color:#6c6c6c; }
.search form .button { float:left; margin:0; padding:0; }
/*header_text*/
.header_text { margin:0 auto 10px auto; padding:5px 10px; width:940px; border-bottom:1px solid #d8d8d8; }
.header_text h2 { font: normal 14px Arial, Helvetica, sans-serif; color:#6d6d6d; padding:5px 0; margin:0; }
.header_text h2 span { font: normal 11px Arial, Helvetica, sans-serif; color:#a2a2a2; }
.header_text img { float:right; margin:0; padding:5px 0 0 0; }
/* Ca3er style */
.cu3er_resize { width:960px; margin:0 auto; padding:10px 0 44px 0; background:url(images/swf_bg.jpg) no-repeat bottom; }
#cu3er-container { width:960px; outline:0; }
/********** body **********/
.body_resize { margin:0; padding:0; }
.body { width:950px; margin:0 auto; padding:10px 5px; }
.body h3 { font: normal 36px Arial, Helvetica, sans-serif; color:#131313; border-bottom:1px solid #d8d8d8; padding:20px 0; margin:5px 15px 25px 5px; }
.body h2 { font: bold 14px Arial, Helvetica, sans-serif; color:#282828; margin:0; padding:15px 5px; text-transform:uppercase; }
.body img { padding:0; margin:10px auto; }
.body img.floated { float:left; padding:0; margin:10px 15px; }
.body p { font:normal 12px Arial, Helvetica, sans-serif; color:#6d6d6d; line-height:1.8em; padding:5px 5px; margin:0; }
.body a { text-decoration:none; color:#dd4200; line-height:1.8em; font: normal 12px Arial, Helvetica, sans-serif; }
.full { padding:5px 0; margin:0; }
.right { width:350px; float:right; padding:5px 0; margin:0; }
.left { width:580px; float:left; padding:5px 0; margin:0; }
.block { width:255px; float:left; margin:10px; padding:0; }
.port_resize { width:290px; float:left; margin:10px 5px 10px 5px; padding:10px 5px; border:1px solid #dedede; background:#fff; }
.port_resize img { margin:0; padding:0; position:relative; z-index:2;}
/*FBG_blog*/
.FBG_blog { background:#171717; border-top:1px solid #fff; margin:0; padding:0; }
.FBG_blog_resize { width:940px; margin:0 auto; padding:0; }
.FBG_blog_resize h2 { font: normal 18px Arial, Helvetica, sans-serif; color:#fff; padding:0; margin:0; }
.FBG_blog_resize p { font: normal 11px Arial, Helvetica, sans-serif; color:#7e7e7e; padding:0; margin:0; }
.FBG_blog_resize img { float:right; margin:0; padding:0; }
.FBG_blog_resize .recent { width:320px; float:left; padding:0; margin:20px 0 0 0; border-right:2px solid #616161; }
.FBG_blog_resize .recent2 { width:430px; text-align:center; float:left; padding:5px 0 2px 0; margin:20px 0 0 0; border-right:1px solid #616161; }
/*FBG*/
.FBG { background:#1b1b1b; border-top:1px solid #272727; margin:0; padding:0; }
.FBG_resize { width:960px; margin:0 auto; padding:20px 0; }
.FBG_resize p { font: normal 11px Arial, Helvetica, sans-serif; color:#717171; padding:5px; margin:0; line-height:1.8em; }
.FBG_resize ul { list-style:none; margin:10px auto; padding:0; }
.FBG_resize li { padding:0; margin:0; }
.FBG_resize li a { font: normal 11px Arial, Helvetica, sans-serif; color:#666666; text-decoration:none; }
.FBG_resize li a:hover { color:#d5d5d5; }
.FBG_resize h2 { font: bold 14px Arial, Helvetica, sans-serif; color:#d5d5d5; padding:5px; margin:0; }
.FBG_resize .left { width:120px; float:left; margin:10px 10px 10px 20px; padding:10px 5px; }
/* END_bloga*/
/*************footer**********/
.footer { padding:0; margin:0; background:#1b1b1b; }
.footer_resize { width:940px; margin:0 auto; padding:20px 10px; border-top:1px solid #2b2b2b; }
.footer p { font:normal 11px Arial, Helvetica, sans-serif; color:#a2a2a2; }
.footer a { font:bold 11px Arial, Helvetica, sans-serif; color:#a2a2a2; text-decoration:none; padding:5px; margin:0; }
.footer p.right { text-align:right; width:350px; margin:0; padding:15px 0 0 0; float:right; }
.footer p.leftt { text-align:left; width:550px; margin:0; padding:15px 0 0 0; float:left; }
/********** contact form **********/
.form { margin:5px; padding:0; background:#fff; border:1px solid #dedede; }
/********** contact form **********/
#contactform { margin:0; padding:5px 20px; }
#contactform * { color:#7a7a7a; }
#contactform ol { margin:0; padding:0; list-style:none; }
#contactform li { margin:0; padding:0; background:none; border:none; display:block; }
#contactform li.buttons { margin:5px 0 5px 0; }
#contactform label { float:left; margin:0; width:100px; padding:5px 0; font:normal 12px Arial, Helvetica, sans-serif; color:#222; text-transform:capitalize; }
#contactform label span { font:normal 10px Arial, Helvetica, sans-serif; }
#contactform input.text { width:480px; border:1px solid #e9e9e9; margin:5px 0; padding:5px 2px; height:15px; background:#f8f8f8; }
#contactform textarea { width:480px; border:1px solid #e9e9e9; margin:10px 0; padding:2px; background:#f8f8f8; height:150px; }
#contactform li.buttons input { padding:3px 0; margin:0 0 0 400px; border:0; color:#FFF; }
p.response { text-align:center; color:#2c2c2c; font:bold 11px Arial, Helvetica, sans-serif; line-height:1.8em; width:auto; }
p.clr,
.clr { clear:both; padding:0; margin:0; }
li.bg,
.bg { clear:both; border-bottom:1px solid #dedede; padding:10px 0 0 0; margin:0 0 10px 0; background:none; list-style:none; }
Config.xml:
<?xml version="1.0" encoding="utf-8" ?>
<cu3er>
<settings>
<general slide_panel_width="960" slide_panel_height="700" slide_panel_horizontal_align="center" slide_panel_vertical_align="center" />
<auto_play>
<defaults symbol="circular" time="2"/>
</auto_play>
<description>
<defaults heading_font="Trebuchet MS" paragraph_text_size="13" heading_text_margin="10, 25, 5, 25" round_corners="10, 10, 10, 10"/>
</description>
<prev_button>
<defaults round_corners="5,5,5,5"/>
<tweenOver tint="0xFFFFFF" scaleX="1.2" scaleY="1.2"/>
<tweenOut tint="0x000000" />
</prev_button
<prev_symbol>
<tweenOver tint="0x000000" />
</prev_symbol>
<next_button>
<defaults round_corners="5,5,5,5"/>
<tweenOver tint="0xFFFFFF" scaleX="1.2" scaleY="1.2"/>
<tweenOut tint="0x000000" />
</next_button>
<next_symbol>
<tweenOver tint="0x000000" />
</next_symbol>
</settings>
<slides>
<slide>
<url>images/simple_img_1.jpg</url>
<link target="_self">asia.html</link>
<description>
</description>
</slide>
<transition num="4" slicing="vertical" direction="down" shader="none" z_multiplier="4" />
<slide>
<url>images/simple_img_2.jpg</url>
<link target="_self">europa.html</link>
<description>
</description>
</slide>
<transition num="3" slicing="horizontal" direction="left" shader="phong" z_multiplier="2" />
<slide>
<url>images/simple_img_3.jpg</url>
<link target="_self">america.html</link>
<description>
</description>
</slide>
<transition num="8" slicing="vertical" direction="up" shader="flat" delay="0.08" z_multiplier="1" />
<slide>
<url>images/simple_img_4.jpg</url>
<link target="_self">australia.html</link>
</slide>
<transition num="3" direction="right" shader="flat" delay="0.05" z_multiplier="2" />
<transition z_multiplier="1" />
</slides>
</cu3er>
BIBLIOGRAFIE
[1] Adrian Moise, Algoritmi pentru prelucrarea imaginilor vol 1, Editura Matrixrom, 2011
[2] Constantin Vertan, Mihai Ciuc, Marta Zamfir, Corneliu Florea, Laura Florea, Alina Sultana, Tiberiu Radulescu, Prelucrarea și analiza imaginilor digitale – elemente fundamentale și aplicații avansate, Editura MatrixRom, 2013
[3] Felicia Ionescu, Grafica în realitatea virtuală, Editura Tehnică, 2000
[4] Grava Cristian, Elemente de prelucrarea și analiza imaginilor, Editura Universității din Oradea, 2007
[5] Laura Florea, Corneliu Florea, Sisteme software de prelucrarea imaginilor, Editura Politehnica Press, 2013
[6] Laurențiu Frangu, Recunoașterea formelor și prelucrarea imaginilor, Editura Academică, 2001
[7] Luminita Giurgiu, Rețele neuronale, Editura Academiei Forțelor Terestre, 2006
[8] Mihai Ciuc, Constantin Vertan, Tehnici fundamentale de prelucrarea și analiza imaginilor, Editura Matrixrom, 2007
[9] Sergiu Nedevschi, Procesare de imagine si recunoasterea formelor, Editura. Albastră, 1998
BIBLIOGRAFIE
[1] Adrian Moise, Algoritmi pentru prelucrarea imaginilor vol 1, Editura Matrixrom, 2011
[2] Constantin Vertan, Mihai Ciuc, Marta Zamfir, Corneliu Florea, Laura Florea, Alina Sultana, Tiberiu Radulescu, Prelucrarea și analiza imaginilor digitale – elemente fundamentale și aplicații avansate, Editura MatrixRom, 2013
[3] Felicia Ionescu, Grafica în realitatea virtuală, Editura Tehnică, 2000
[4] Grava Cristian, Elemente de prelucrarea și analiza imaginilor, Editura Universității din Oradea, 2007
[5] Laura Florea, Corneliu Florea, Sisteme software de prelucrarea imaginilor, Editura Politehnica Press, 2013
[6] Laurențiu Frangu, Recunoașterea formelor și prelucrarea imaginilor, Editura Academică, 2001
[7] Luminita Giurgiu, Rețele neuronale, Editura Academiei Forțelor Terestre, 2006
[8] Mihai Ciuc, Constantin Vertan, Tehnici fundamentale de prelucrarea și analiza imaginilor, Editura Matrixrom, 2007
[9] Sergiu Nedevschi, Procesare de imagine si recunoasterea formelor, Editura. Albastră, 1998
ANEXĂ
Codul Aplicației în HTML.
Index.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>APLICAȚII ALE TEORIEI MOMENTELOR ÎN PRELUCRAREA IMAGINILOR DIGITALE</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject/swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
flashvars.xml = "config.xml";
flashvars.font = "font.swf";
var attributes = {};
attributes.wmode = "transparent";
attributes.id = "slider";
swfobject.embedSWF("cu3er.swf", "cu3er-container", "960", "400", "9", "expressInstall.swf", flashvars, attributes);
</script>
<style type="text/css">
.auto-style1 {
text-indent: -18.0pt;
line-height: 115%;
font-size: 11.0pt;
font-family: Calibri, sans-serif;
margin-left: 36.0pt;
margin-right: 0cm;
margin-top: 0cm;
margin-bottom: .0001pt;
}
.auto-style2 {
text-indent: -18.0pt;
line-height: 115%;
font-size: 11.0pt;
font-family: Calibri, sans-serif;
margin-left: 36.0pt;
margin-right: 0cm;
margin-top: 0cm;
margin-bottom: 10.0pt;
}
</style>
</head>
<body>
<div class="main">
<div class="blok_header">
<div class="header">
<div class="logo"> <p align="center" class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif"">
<font color="white"> APLICAȚII ALE TEORIEI MOMENTELOR ÎN PRELUCRAREA IMAGINILOR DIGITALE<o:p></font></o:p></span></p>
</div>
<div class="galeria">
</div>
</div>
<div class="clr"></div>
</div>
<div class="menu_resize_bg">
<div class="menu_resize">
<div class="menu">
<ul>
<li><a href="index.html" class="active"><span>Acasa</span></a></li>
<li><a href="metode.html"><span>Metode</span></a></li>
<li><a href="autor.html"><span>Autor</span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="header_text_bg">
<div class="cu3er_resize">
<div id="cu3er-container"><a href="http://www.adobe.com/go/getflashplayer"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></div>
</div>
<div class="header_text"> <div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="body_resize">
<div class="body">
<div class="left">
<h2>
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif"">
INTRODUCERE<o:p></o:p></span></h2>
<p> </p>
<p class="MsoNormal">
<span style="font-size:12.0pt;
line-height:150%;font-family:"Times New Roman","serif"">
<span style="mso-tab-count:
1"> </span>
<span style="color:black;mso-themecolor:text1">Acest procedeu presupune folosirea unor algoritmi, care permit crearea și editarea imaginilor digitale.
Multe dintre tehnicile de procesare digitală a imaginilor au fost dezvoltate în anii 1960 la Massachusetts Institute of Technology, una dintre cele mai prestigioase universități din USA.
Una dintre primele aplicații de prelucrare a imaginilor
a fost îmbunătățirea
transmisiei imaginilor de ziar în formă digitală. Introducerea
sistemului <b><span style="mso-bidi-font-style:italic">Bartlane </span>
</b>de transmisie prin cablu a imaginilor în primii ani de după 1920 a
dus la reducerea timpului de transmisie, de la mai mult de o
săptămână, la mai puțin de trei ore.<o:p></o:p></span></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> Îmbunătățirea metodelor de prelucrare a
imaginilor a continuat în următorii ani. Cu toate acestea, a fost
necesară folosirea calculatoarelor numerice și a programelor spațiale
pentru a aduce în prim-plan potențialul conceptelor de prelucrare a
imaginilor. Tehnici de îmbunătățire a unor imagini transmise din
spațiul cosmic s-au folosit, spre exemplu, pentru corectarea
diferitelor tipuri de distorsiuni ale imaginilor preluate de la bordul
stației spațiale Ranger 7. Asemenea tehnici au servit ca bază pentru
optimizarea metodelor de restaurare și îmbunătățire a imaginilor
recepționate de la misiunile spațiale Apollo.<o:p></o:p></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"><o:p> </o:p></span></p>
<p class="MsoNormal">
<span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> Prelucrarea imaginilor își propune:</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif""><o:p></o:p></span></p>
<p class="auto-style1" style="mso-add-space: auto; mso-list: l0 level1 lfo1">
<![if !supportLists]>
<span style="font-size:12.0pt;line-height:150%;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>
<span style="font-size:12.0pt;line-height:150%;
font-family:"Times New Roman","serif";color:black;mso-themecolor:text1;
mso-bidi-font-weight:bold">extragerea informațiilor</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> pentru analiza cu ajutorul calculatorului a
informațiilor;</span><span style="font-size:12.0pt;line-height:150%;font-family:
"Times New Roman","serif""><o:p></o:p></span></p>
<p class="auto-style2" style="mso-add-space: auto; mso-list: l0 level1 lfo1">
<![if !supportLists]>
<span style="font-size:12.0pt;line-height:150%;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black;mso-themecolor:text1">
<span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>
<span style="font-size:12.0pt;line-height:150%;
font-family:"Times New Roman","serif";color:black;mso-themecolor:text1;
mso-bidi-font-weight:bold">îmbunătățirea informației vizuale</span><span style="font-size:12.0pt;line-height:150%;font-family:"Times New Roman","serif";
color:black;mso-themecolor:text1"> în vederea optimizării analizei și
interpretării de către om, cu aplicații în:
<span style="mso-bidi-font-style:
italic">criminalistică, medicină, industrie</span> etc. .<o:p></o:p></span></p>
<p> </p>
<h2> </h2>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="FBG_blog">
<div class="FBG_blog_resize"> <h2 style="width: 295px; height: 11px">Bine ati venit! </h2>
</div>
<div class="clr"></div>
</div>
</div>
<div class="FBG">
<div class="FBG_resize">
<img alt="" src="images/jos.jpg" width="800" height="200" /><div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="leftt" style="width: 930px">
©GÎTIN (BĂTRÎNU) C. CRISTINA ; Coordonator PROF. DR VLADIMIR BALAN</p>
<div class="clr">
</div>
</div>
<div class="clr">
</div>
</div>
</body>
</html>
Style.css:
@charset "utf-8";
body { margin:0; padding:0; width:100%; background: url(images/main_bg.gif); }
html { padding:0; margin:0; }
a { text-decoration:none; }
a:hover { text-decoration:underline; }
/* main */
.main { padding:0; margin:0 auto; }
/********** header **********/
.blok_header { margin:0; padding:0; background:#0c0c0c; }
.header { width:960px; margin:0 auto; padding:0; }
/* logo */
.logo { padding:0; margin:0; width:349px; float:left; }
/*galeria*/
.galeria { width:200px; padding:5px 0 0 0; margin:0; float: right; }
.galeria p { margin:30px 0 0 0; text-align:right; }
.galeria a { padding:10px 2px 0 2px; margin:0; width:24px; height:23px; }
.galeria a:hover { padding:10px 2px 0 2px; margin:0; }
.galeria a.first { background:url(images/RSS_3.gif) top no-repeat; }
.galeria a:hover.first { background:url(images/RSS_3_hover.gif) top no-repeat; }
.galeria a.sek { background: url(images/RSS_2.gif) top no-repeat; }
.galeria a:hover.sek { background: url(images/RSS_2_hover.gif) top no-repeat; }
.galeria a.thre { background: url(images/RSS_1_hove.gif) top no-repeat; }
.galeria a:hover.thre { background: url(images/RSS_1.gif) top no-repeat; }
/* menu_resize */
.menu_resize_bg { height:41px; background:url(images/menu_bg.gif) top repeat-x; margin:0; padding:0; }
.menu_resize { width:960px; margin:0 auto; padding:0; }
/* menu */
.menu { padding:1px 0 0 0; margin:0; width:600px; float:left; }
.menu ul { text-align: left; padding:0; margin:0; list-style:none; border:0; float:left; }
.menu ul li { float:left; margin:0; padding:0; border:0; }
.menu ul li a { float:left; margin:0; padding:12px 0; color:#fff; font:normal 12px Arial, Helvetica, sans-serif; text-decoration:none; }
.menu ul li a span { padding:12px 9px; background:none; }
.menu ul li a:hover { background: url(images/r_menu.gif) no-repeat right; }
.menu ul li a:hover span { background:url(images/l_menu.gif) no-repeat left; }
.menu ul li a.active { background:url(images/r_menu.gif) no-repeat right; }
.menu ul li a.active span { background:url(images/l_menu.gif) no-repeat left; }
/* search */
.search { padding:8px 0 0 0; margin:0; width:320px; float:right; }
.search form { display:block; float:right; padding:0; }
.search span { display:block; float:left; background: url(images/search_bg.gif) left top no-repeat; width:156px; padding:0; height:27px; }
.search form .keywords { line-height:15px; height:15px; float:left; width:146px; background:url(images/search_bg.gif) left top no-repeat; border:0; padding:6px 5px; margin:0; font:normal 12px Arial, Helvetica, sans-serif; color:#6c6c6c; }
.search form .button { float:left; margin:0; padding:0; }
/*header_text*/
.header_text { margin:0 auto 10px auto; padding:5px 10px; width:940px; border-bottom:1px solid #d8d8d8; }
.header_text h2 { font: normal 14px Arial, Helvetica, sans-serif; color:#6d6d6d; padding:5px 0; margin:0; }
.header_text h2 span { font: normal 11px Arial, Helvetica, sans-serif; color:#a2a2a2; }
.header_text img { float:right; margin:0; padding:5px 0 0 0; }
/* Ca3er style */
.cu3er_resize { width:960px; margin:0 auto; padding:10px 0 44px 0; background:url(images/swf_bg.jpg) no-repeat bottom; }
#cu3er-container { width:960px; outline:0; }
/********** body **********/
.body_resize { margin:0; padding:0; }
.body { width:950px; margin:0 auto; padding:10px 5px; }
.body h3 { font: normal 36px Arial, Helvetica, sans-serif; color:#131313; border-bottom:1px solid #d8d8d8; padding:20px 0; margin:5px 15px 25px 5px; }
.body h2 { font: bold 14px Arial, Helvetica, sans-serif; color:#282828; margin:0; padding:15px 5px; text-transform:uppercase; }
.body img { padding:0; margin:10px auto; }
.body img.floated { float:left; padding:0; margin:10px 15px; }
.body p { font:normal 12px Arial, Helvetica, sans-serif; color:#6d6d6d; line-height:1.8em; padding:5px 5px; margin:0; }
.body a { text-decoration:none; color:#dd4200; line-height:1.8em; font: normal 12px Arial, Helvetica, sans-serif; }
.full { padding:5px 0; margin:0; }
.right { width:350px; float:right; padding:5px 0; margin:0; }
.left { width:580px; float:left; padding:5px 0; margin:0; }
.block { width:255px; float:left; margin:10px; padding:0; }
.port_resize { width:290px; float:left; margin:10px 5px 10px 5px; padding:10px 5px; border:1px solid #dedede; background:#fff; }
.port_resize img { margin:0; padding:0; position:relative; z-index:2;}
/*FBG_blog*/
.FBG_blog { background:#171717; border-top:1px solid #fff; margin:0; padding:0; }
.FBG_blog_resize { width:940px; margin:0 auto; padding:0; }
.FBG_blog_resize h2 { font: normal 18px Arial, Helvetica, sans-serif; color:#fff; padding:0; margin:0; }
.FBG_blog_resize p { font: normal 11px Arial, Helvetica, sans-serif; color:#7e7e7e; padding:0; margin:0; }
.FBG_blog_resize img { float:right; margin:0; padding:0; }
.FBG_blog_resize .recent { width:320px; float:left; padding:0; margin:20px 0 0 0; border-right:2px solid #616161; }
.FBG_blog_resize .recent2 { width:430px; text-align:center; float:left; padding:5px 0 2px 0; margin:20px 0 0 0; border-right:1px solid #616161; }
/*FBG*/
.FBG { background:#1b1b1b; border-top:1px solid #272727; margin:0; padding:0; }
.FBG_resize { width:960px; margin:0 auto; padding:20px 0; }
.FBG_resize p { font: normal 11px Arial, Helvetica, sans-serif; color:#717171; padding:5px; margin:0; line-height:1.8em; }
.FBG_resize ul { list-style:none; margin:10px auto; padding:0; }
.FBG_resize li { padding:0; margin:0; }
.FBG_resize li a { font: normal 11px Arial, Helvetica, sans-serif; color:#666666; text-decoration:none; }
.FBG_resize li a:hover { color:#d5d5d5; }
.FBG_resize h2 { font: bold 14px Arial, Helvetica, sans-serif; color:#d5d5d5; padding:5px; margin:0; }
.FBG_resize .left { width:120px; float:left; margin:10px 10px 10px 20px; padding:10px 5px; }
/* END_bloga*/
/*************footer**********/
.footer { padding:0; margin:0; background:#1b1b1b; }
.footer_resize { width:940px; margin:0 auto; padding:20px 10px; border-top:1px solid #2b2b2b; }
.footer p { font:normal 11px Arial, Helvetica, sans-serif; color:#a2a2a2; }
.footer a { font:bold 11px Arial, Helvetica, sans-serif; color:#a2a2a2; text-decoration:none; padding:5px; margin:0; }
.footer p.right { text-align:right; width:350px; margin:0; padding:15px 0 0 0; float:right; }
.footer p.leftt { text-align:left; width:550px; margin:0; padding:15px 0 0 0; float:left; }
/********** contact form **********/
.form { margin:5px; padding:0; background:#fff; border:1px solid #dedede; }
/********** contact form **********/
#contactform { margin:0; padding:5px 20px; }
#contactform * { color:#7a7a7a; }
#contactform ol { margin:0; padding:0; list-style:none; }
#contactform li { margin:0; padding:0; background:none; border:none; display:block; }
#contactform li.buttons { margin:5px 0 5px 0; }
#contactform label { float:left; margin:0; width:100px; padding:5px 0; font:normal 12px Arial, Helvetica, sans-serif; color:#222; text-transform:capitalize; }
#contactform label span { font:normal 10px Arial, Helvetica, sans-serif; }
#contactform input.text { width:480px; border:1px solid #e9e9e9; margin:5px 0; padding:5px 2px; height:15px; background:#f8f8f8; }
#contactform textarea { width:480px; border:1px solid #e9e9e9; margin:10px 0; padding:2px; background:#f8f8f8; height:150px; }
#contactform li.buttons input { padding:3px 0; margin:0 0 0 400px; border:0; color:#FFF; }
p.response { text-align:center; color:#2c2c2c; font:bold 11px Arial, Helvetica, sans-serif; line-height:1.8em; width:auto; }
p.clr,
.clr { clear:both; padding:0; margin:0; }
li.bg,
.bg { clear:both; border-bottom:1px solid #dedede; padding:10px 0 0 0; margin:0 0 10px 0; background:none; list-style:none; }
Config.xml:
<?xml version="1.0" encoding="utf-8" ?>
<cu3er>
<settings>
<general slide_panel_width="960" slide_panel_height="700" slide_panel_horizontal_align="center" slide_panel_vertical_align="center" />
<auto_play>
<defaults symbol="circular" time="2"/>
</auto_play>
<description>
<defaults heading_font="Trebuchet MS" paragraph_text_size="13" heading_text_margin="10, 25, 5, 25" round_corners="10, 10, 10, 10"/>
</description>
<prev_button>
<defaults round_corners="5,5,5,5"/>
<tweenOver tint="0xFFFFFF" scaleX="1.2" scaleY="1.2"/>
<tweenOut tint="0x000000" />
</prev_button
<prev_symbol>
<tweenOver tint="0x000000" />
</prev_symbol>
<next_button>
<defaults round_corners="5,5,5,5"/>
<tweenOver tint="0xFFFFFF" scaleX="1.2" scaleY="1.2"/>
<tweenOut tint="0x000000" />
</next_button>
<next_symbol>
<tweenOver tint="0x000000" />
</next_symbol>
</settings>
<slides>
<slide>
<url>images/simple_img_1.jpg</url>
<link target="_self">asia.html</link>
<description>
</description>
</slide>
<transition num="4" slicing="vertical" direction="down" shader="none" z_multiplier="4" />
<slide>
<url>images/simple_img_2.jpg</url>
<link target="_self">europa.html</link>
<description>
</description>
</slide>
<transition num="3" slicing="horizontal" direction="left" shader="phong" z_multiplier="2" />
<slide>
<url>images/simple_img_3.jpg</url>
<link target="_self">america.html</link>
<description>
</description>
</slide>
<transition num="8" slicing="vertical" direction="up" shader="flat" delay="0.08" z_multiplier="1" />
<slide>
<url>images/simple_img_4.jpg</url>
<link target="_self">australia.html</link>
</slide>
<transition num="3" direction="right" shader="flat" delay="0.05" z_multiplier="2" />
<transition z_multiplier="1" />
</slides>
</cu3er>
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Operatori Morfologici (ID: 162927)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
