Matlab In Prelucrarea Imaginilor Digitale
CAPITOLUL II
IMAGINI DIGITALE
2.1. Istoria imaginilor digitale
Cele trei fenomene necesare obținerii imaginilor fotografice sunt cunoscute de mult timp.
Încă de pe vremea lui Aristotel s-a știut cum se poate pune realitatea într-o cutie: este suficient să facem o gaură într-o cutie închisă ca să apară o imagine reală inversată pe fondul interior al cutiei. Se obține astfel o așa-numită cameră obscură. Pe de altă parte, alchimiștii știau că lumina înnegrește clorura de argint. A treia contribuție a venit din partea lui John Herschel, care în 1819 a descris proprietățiile hiposulfitului de sodiu, care va deveni "fixatorul" fotografiei.
Joseph Nicéphore Niépce, un mic fizician din provincie, a folosit toate aceste trei proceduri pentru a fixa o imagine pe o plăcă metalică cu depunere de halogenură de argint (1829). Rezultatul a avut o calitate medie. Niepce a murit în 1833, dar invenția sa a fost recuperată de către Jacques Mandé Daguerre.
De aceea, data oficială a invenției fotografiei este 1839, când Daguerre a prezentat invenția numită de el "daghereotip", care este o simplă ameliorare a descoperirii făcute de Niepce. Proprietar al invenției a devenit statul francez.
Grație daghereotipiei se obține o matriță a mediului pe o placă metalică tratată cu o substanță fotosensibilă , după o expunere de "doar" 8 ore (când cerul este complet senin). Copierea se făcea prin presarea matriței pe suportul de hârtie, ca și la orice tipărire a ziarelor.
Această expunere lentă aduce cu sine câteva probleme: străzile Parisului, chiar și la o oră de vârf, apar în întregime goale. Tehnica va avansa însă rapid, noua invenție făcând să apară și o nouă meserie, aceea de fotograf, căutată în special de ziarele vremii.
În anul 1848, Felix Tournachon, cunoscut mai bine sub numele Félix Nadar, realizează prima fotografie aeriană, fotografiind Parisul din nacela unui aerostat (balon).
Dacă la început negativul (cunoscut și sub numele de "clișeu") se realiza pe o placă de cristal, pentru a nu avea deformări, placă foarte casabilă și care cerea o manipulare deosebită, prin dezvoltarea artei fotografice a apărut necesitatea unui suport fotosensibil mai ușor de manipulat decât cristalul.
George Eastman reușește în anul 1884 să realizeze primul negativ flexibil, pe un suport de nitroceluloză, cunoscut sub denumirea de "roll film", ușor de manipulat, incasabil și cu aceleași proprietăți fotografice ca și ale plăcii de cristal. Totodată, volumul și greutatea aparatului de fotografiat se micșorează considerabil, transportarea lui nemaifiind o problemă.
În decursul timpului fotografia a evoluat foarte mult. Progresele au urmat trei direcții principale:
reducera duratei de expunere / mărirea sensibilității filmului sau a plăcii, mărirea stabilității imprimării;
simplificarea aplicării tehnicilor de fotografiat, datorită apariției aparatelor de fotografiat din ce în ce mai mici și mai ieftine;
substanțelor chimice de developare și stabilizare a peliculei sensibile negative sau a suportului de carton pentru pozitive gata preparate de laboratoare specializate;
2.1.1. Fotografia Color
Ideea de fotografie color a circulat încă de la apariția invenției. Primele experimente fotografice în culoare nu au avut succes, astfel de exemplu nu s-a putut împiedica decolorarea fotografiilor. Prima fotografie cu culori permanente a fost făcută în 1861 de fizicianul James Clerk Maxwell.
Primul sistem color, Autochrome Lumière, a apărut pe piață la 17 decembrie 1903. Acesta era un sistem de fotografie color transparentă. Fotografierea se făcea pe trei plăci fotografice alb/negru cu substanțe cromatice sensibile numai la culorile roșu, verde și albastru. Apoi cele trei fotografii transparente rezultante se suprapuneau, dând o fotografie color transparentă.
Pelicula color de tip Kodachrome a apărut în 1935 și s-a bazat pe emulsii tricromatice. Majoritatea peliculelor color moderne, cu excepția "Kodachrome", se bazează pe o tehnologie dezvoltată de compania germană Agfa în 1936.
Fotografia instantanee cunoscută sub numele de Polaroid a apărut în anul 1948, fiind pusă la punct de dr. Edwin Land, la început în alb/negru, iar din1962 în culori.
2.1.2. Fotografia digitala
Termenul de "fotografie digitala" se refera la imagini care au fost captate cu camere digitale sau imagini fotografice (pe suport transparent sau opac), care au fost scanate. Termentul mai descrie si prelucrarea imaginilor digitale pe computer si tiparirea imaginii rezultate pe hartie sau plastic.
Fotografierea tradițională a fost dificilă pentru fotografii ce lucrau departe de sediu (precum corespondenții de presă din străinătate), fără acces la facilități de procesare și transmitere. Pentru a ține pasul cu popularitatea crescândă a televiziunii, aceștia au făcut tot posibilul pentru a trimite imaginile lor la ziar cât mai repede. Fotojurnaliștii trimiși în locații distante trebuiau să își ia cu ei un mini-laborator foto și un aparat pentru cuplarea la liniile de transmitere a imaginilor.
2.2. Descrierea imaginilor digitale
Tehnologia Digital Imaging (imaginile digitale, captate si prelucrate pe computer) revolutioneaza continuu arta fotografica. Majoritatea imaginilor pe care le vedem tiparite au fost create folosind tehnologii digitale. Prelucrarea digitala se extinde la de la un nivel primar, al retusarii imaginilor noi, pana la montajele fotografice foarte elaborate si prelucrate, utilizate curent in industria reclamelor.
O imagine digitală este o reprezentare a unei imagini reale bidimensional (imagine în "2D" sau două dimensiuni), ca o mulțime finită de valor digitale (numerice), codificate după un anumit sistem.
Imaginile digitale pot fi produse și plecând de la imagini tradiționale, analogice, prin digitalizare. Acestea imagini analogice se împart mai întâi în numeroase elemente infime ca suprafață numite pixeli, și anume sub formă de, raster grafic sau hartă de tip raster, fiecare pixel primind (având) două coordonate plane. Apoi caracteristicile de luminozitate și culoare ale fiecărui pixel, eventual împreună cu coordonatele sale (dacă acestea nu sunt implicite), sunt codificate conform mai multor sisteme, rezultatul final al acestei digitalizări fiind un șir de numere care sunt memorate cu ajutorul calculatoarelor. În mod obișnuit, imaginile digitale și pixelii lor sunt stocate în memorii de computere, sau și pe benzi magnetice video digitale.
Luate ca atare, imaginile digitale și pixelii nu se pot vedea, deoarece ele sunt doar înșiruiri de numere. În mod teoretic memorarea lor ar putea fi realizată și prin simpla notare a șirului de numere pe hârtie, ceeace însă este împiedicat în practică de lungimea uriașă a șirului. Pentru a consuma mai puțin loc în memorie, imaginile digitale pot fi stocate, sau și transmise sub forme comprimate, urmând să fie decomprimate la destinație după necesități.
2.2.1. Afisarea imagnilor digitale
Spunem despre o imagine ca este digitala atunci cand este construita din pixeli (picture element), in locul granlelor de argint.
Deși pixelii și imaginile digitale nu pot fi văzute în mod nemijlocit, până la urmă scopul folosirii lor este tot obținerea unor imagini reale, care să poată fi deci văzute de către om. Acestea se realizează cu ajutorul unor altor dispozitive tehnice, consacrate acestui scop, cum ar fi imprimantele (normale sau stereolitografice), ecranele (display-urile) de calculator, proiectoarele de imagini ș.a. Aceste imagini reale, de fapt analogice (deoarece rareori pixelii sunt reprezentați foarte acurat și fără încălecări), sunt denumite tot "imagini digitale", dacă provin din imaginile digitale din memoria calculatorului.
Pixelii sunt patrati si pozitionati in randuri orizontale si verticale formand o grila. Toti pixelii din grila au aceeasi dimensiune, au luminozitate si culoare uniforma, adica tonul culorii nu variaza de la o margine la alta a aceluiasi pixel.
Figura.1. Zece pixeli, avand fiecare un ton sau nivel diferit
In exemplul de mai sus, 10 pixeli, avand fiecare un ton diferit, sunt folositi pentru a descrie tonul continuu. Fiecare ton diferit este numit "nivel" (level) si primeste o valoare numerica(in exemplul nostru de la 0 la 9).
Intr-o imagine digitala tipica, exista 256 de niveluri diferite, sau tonuri distincte cu care se reprezinta trecerea uniforma de la o luminozitate inchisa la una deschisa. Daca pixelii sunt suficient de mici, atunci cand sunt tipariti, in imaginea privita nu se poate sesiza trecerea de la un ton la altul, avand astfel iluzia unei treceri continue.
Daca imaginea este monocroma, culoarea fiecarui pixel este exprimata printr-un bit, 1 sau 0.
Pentru o imagine true color, culoarea fiecarui pixel este exprimata in valori de internsitate pentru fiecare dintre culorile fundamentale (RGB), fiecare componenta a unei culori fiind reprezentata pe cate in octet rezultand astfel 256 de nivele pentru fiecare dintre componente. In acest caz sunt necesari cate 3 octeti pentru fiecare pixel și rezultă posibilitatea utilizării a 16.777.216 combinații de culoare.
Pentru o imagine bazată pe o paletă de culori, valoarea fiecărui pixel este interpretată ca fiind un index într-un tabel cu valori RGB (paleta de culori sau colormap). Numărul de biți necesar pentru stocarea culorii unui pixel depinde de numărul de culori din paletă. Dimensiunile obișnuite ale paletelor de culori sunt 16 (4 biti / pixel) și 256 (8 biți / pixel).
2.2.2. Forma si formatul fisierelor imaginilor
Există o infinitate de forme și mărimi de imagini, aceasta fiind valabil atât pentru imaginile tradiționale, analogice, cât și pentru cele digitale. Cel mai des folosite sunt însă formele dreptunghiulare, care se reflectă și la formele ecranelor de cinema, TV, calculatoare și altele. Forma imaginilor digitale dreptunghiulare se exprimă prin numărul de pixeli pe orizontală și verticală, sau pe lățime și lungime (înălțime).
Imaginile sunt stocate in fisiere cu scopul de a fi reproduse, fisierul respectiv continand cel putin urmatoarele informatii:
dimensiunile imaginii (latime si inaltime);
numarul de biti/pixel;
tipul imaginii;
paleta de culori (daca este cazul);
datele imaginii (matrice cu valorile pixelilor);
Diferentele dintre formatele imaginilor provin din modul specific in care se organizeaza aceste informatii. Structura unui fisier imagine tipic incepe cu un antent in care sunt incluse informatii despre imaginea continuta, dupa care urmeaza paleta de culori, dacă valorile pixelilor din imagine reprezintă indecși într-o paletă. Datele imaginii apar după paleta de culori. De obicei pixelii imaginii sunt stocați linie cu linie. Tabloul de pixeli ocupă cea mai mare parte a fișierului imagine, deși de obicei se folosesc diferite metode de compresie a datelor, bazate fie pe un algoritm de codare pe baza lungimii, fie pe alte scheme de compresie. De la un format de fișier imagine la altul pot apare variații în modul de stocare a informațiilor.
2.2.3. Stocarea Imaginilor
Se poate considera ca exista doua moduri de stocare a imaginilor: stocarea în memoria de lucru a unitatii de prelucrare a imaginii (care este o stocare de scurta durata – doar pe durata prelucrarii efective)¸ si stocarea de lunga durata imaginilor, în fisiere, pe suporturi externe de memorie (benzi, discuri, etc.).
Exista diverse limbaje de programare utilizare pentru aplicatii cu calcule intensive, exepmple dintre acestea fiind C(C++), MATLAB, etc. Stocarea imaginilor se va face, evident, prin intermediul unor variabile ce implementeaza structuri de date bidimensionale. Ceea ce este deosebit este modul de declarare a acestora: declararea statica nu este convenabila din cauza dimensiunilor în general mari ale imaginilor, deci este necesara o declarare dinamica.
Un fisier este entitatea logica de organizare a informatiei înscrise pe mediile magnetice de stocare ¸si se compune dintr-un sir de octeti. Pentru stocarea imaginii este necesar ca acesti octeti sa contina informatia aferenta pixelilor precum si informatie despre tipul imaginii: dimensiunile acesteia, daca este sau nu indexata, daca are sau nu o tabela de culoare atasata, daca este sau nu comprimata¸ si dupa ce metoda. Anumite structuri de fisiere au fost impuse de-a lungul timpului de firme producatoare de software sau de organisme de standardizare, capatând denumirea de formate de imagini.
Memorarea imaginilor captate cu un aparat foto sau scanner se face intr-un format de fisier. Informatia poate fi citita si inteleasa numai daca programul cu care se citeste imaginea cunoaste acel format de fisier.
Bitmap (.bmp) – formatul a aparut odata cu prima versiune a sistemului de operare Windows. Imaginile in formatul .bmp au o calitate medie spre inalta, dar dimensiunea este prea mare in comparatie cu calitatea oferita.
Joint Photographic Expert Group (.jpeg) – a aparut ca urmare a unor cercetari destinate obtinerii unor imagini digitale cu o comprimare mai mare, in scopul reducerii spatiului fizic utilizat pe disc. Imaginile JPEG asunt cele mai intalnite pe Internet, tocmai din cauza gradului foarte mare de comprimare. Este un algoritm de compresie destinat comprimarii imaginilor alb-negru sau color luate din realitate. Algoritmul de comprimare se bazeaza pe sensibilitatea crescuta a ochiului uman la variatiile mici de luminanta si sensibilitatea mai redusa la variatiile mici de culoare. In aceasta idee, algoritmul acorda mai multa atentie – deci mai multi bytes, pentru modificarile fine de luminanta si o pondere mai mica pentru culoare, intrucat imaginea comprimata este destinata observarii de catre oameni, iar nu determinarilor colorimetrice. O proprietate foarte utila a algoritmului jpeg este capacitatea acestuia de a avea un grad variabil de comprimare, ales de utilizator.
Graphic Interchange Format (.gif) – reuseste compresii de pana la 90%, insa cele 256 de culori il limiteaza la o gama fixa de culori. Este superior JPEG in privinta calitatii imaginii, a ratei de comprimare sau a ambelor. Imaginile optime pentru comprimare prin metoda GIF sunt cele cu linii si cu suprafete uniform colorate, cum sunt cele desenate cu programe de grafica. GIF comprima bine marginile netede, cum ar fi chenarele fotografiilor sau conturul literelor aplicate peste o imagine datorita rotunjirilor inerente in calculele matematice pe care le efectueaza algoritmul de compresie.
Portable Network Graphics (.png) – detine probabil cel mai bun raport calitate/dimensiune. Acest format nu afecteaza calitatea imaginilor , insa spatiul ocupat mai mare decat la fisierele .jpeg il face greu de implementat in mediul online. Pentru aceeasi imagine, fisierele PNG sunt mai mici decat cele in varianta GIF. Formatul PNG-24 suporta si imagini cu tonuri continue, dar dimensiunile fisierelor sunt mai mari decat cele JPEG.
Tagged Image File Format – toate programele de prelucrre si vizualizare de fisiere imagine suporta acest format. Initial a fost creat pentru trimiterea faxurilor, ulterior si pentru imagini digitale. Fisierele TIFF suporta mai multe prelucrari fara sa le fie afectata calitate deoarece informatia se stocheaza fara comprimare si fara pierderi, dezavantajul fiind dimensiunea foarte mare. Formatul TIFF este recomandat ca fisier de salvare intre etapele de prelucrare a imaginii, unde spatiul disponibil nu este o problema.
RAW (.raw) – sunt fisierele care contin datele primare, cele furnizate de captator, fara sa fie modificate. In header-ul fisierului sunt stocate informatii despre setarile camerei in momentul fotografierii, lucru ce ajuta in timpul prelucrarii. Dimensiunile sunt destul de mari dar nu mai mari decat la TIFF. In schimb, in timpul prelucrarii se pot face modificari in privinta expunerii, acuatentei, contrastului, balansul de alb, etc. Pentru a putea fi imprimat insa, formatul RAW are nevoie obligatoriu de prelucrare. Un alt dezavantaj este ca fiecare producator de camere foto digitale detine un format specific de fisier care nu poate fi prelucrat de programele altor companii.
Digital Negative (.dng) – este creat recent de Adobe pentru a fi pus la dispozitia fotografilor ca format universal de fisier RAW, astfel incat deja a fost adoptat de anumiti producatori de camere foto digitale. Formatul DNG prezinta aceleasi avantaje si dezavantaje ca formatul RAW.
2.2.4. Tipuri de imagini
Orice imagine este o structura bidimensionala (tablou, matrice) de date. Dupa tipul datelor din acesta structura bidimensionala, imaginile prelucrate pot fi împartite în mai 2 categorii:
Imagini scalare: fiecare componenta contine un scalar. Imaginle monocrome sunt imagini scalare si au doar 2 valori posibile, care corespund unui continut binar al imaginii.
Imagini vectoriale: fiecare componenta reprezinta un vector de numere. Cel mai des intalnit caz este cel al imaginilor color, in care vectorul este compus din 3 element.
Dupa natura lor, imaginile pot fi clasificate ca imagini abstracte, imagini non-vizibile si imagini vizibile.
Imaginile abstracte sau modelele sunt de fapt functii matematice, continue sau discrete, de doua variabile. Imaginile non-vizibile, care nu pot fi percepute în mod direct de ochiul uman, sunt de fapt achizitii ale unor câmpuri bidimensionale de parametri fizici (presiune, temperatura, presiune, densitate, etc). Imaginile ce pot fi percepute în mod direct de catre ochiul uman, deci imaginile vizibile) sunt la rândul lor imagini optice, generate ca distributii de intensitate luminoasa (asa ca hologramele, imaginile de interferenta si difractie) sau imagini propriu-zise (de luminanta în sensul curent al termenului, ce se refera la fotografii, desene, picturi, schite, scheme si altele din aceeasi categorie).
O alta împartire a imaginilor scalare se poate face dupa semnificatia ce se da valorii numerice a pixelilor. Vom distinge astfel imagini de intensitate si imagini indexate. O imagine de intensitate este o imagine în care valoarea fiecarui pixel este o masura directa a intensitatii luminoase sau a marimii fizice preluate 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 daca imaginea este sau nu cuantizata).
Termenul de imagine digitală se aplică de asemenea și datelor asociate cu punctele unei regiuni din spațiu, tridimensionale, așa cum ar fi aceea produsă de un echipament tomografic, sau aparate fotografice speciale pentru 3 dimensiuni. În acest caz, fiecare element al imaginii în "3D" (în spațiu) are 3 coordonate (în loc de 2) și poartă numele de voxel (acronim provenit de la "volumetric pixel").
2.3. Necesitatea fotografiilor si imaginilor digitale
Sfera de aplicabilitate a tehnicilor de prelucrarea si analiza imaginilor este deosebit de larga; practic, în orice domeniu de activitate se pot gasi numeroase aplicatii. Aceasta clasa de aplicatii extrem de specifice a fost caracterizata drept “consumul imaginii” (imaginea folosita în vederea analizei, deci a luarii unor decizii).
Imaginile preluate de catre sateliti pot fi folosite la descoperirea resurselor terestre, cartografiere geografica, predictia recoltelor, urmarirea dezvoltarii urbane, urmarirea vremii, controlul si prevenirea incendiilor si inundatiilor, precum si alte aplicatii ecologice si militare. Aplicatiile transmisiei si compresiei imaginilor se regasesc în televiziunea digitala, sistemele de teleconferinta. In prezent exista sute de sateliti pe orbita, mare parte din ei fiind folositi pentru a capta imagini. Imaginile digitale captate de sateliti sunt utilizate pentru observarea Pamantului, Lunii, a altor planete, comete sau galaxii. Prin intermediul acestor imagini se fac prognozele meteorologice, se face pozitionarea navelor si autoturismelor, imaginile satelitare se folosesc de asemenea in cartografiere si in masurarile topografice. Anumiti sateliti capteaza imagini in scopuri militare, imaginile ajutand la localizarea sau depistarea de catre armata a anumitor obiective militare sau tinte.
In medicina, radiologii ajuta la diagnositcarea si tratare pacientilor prin imaginii digitale. Imaginile sunt obtinute cu ajutorul razelor X, tomografie computerizată (CT) si digital angiografia cu substractie (DSA). Se mai utilizeaza de asemenea, pentru obtinerea imaginilor rezonanta magnetica (RM) si ultrasunete.
2.4. Mod achizitie a imaginilor digitale
Imaginile digitale pot fi create cu ajutorul unei multitudini de dispozitive tehnice, așa cum ar fi aparate de fotografiat digitale, aparate de filmat digitale, scanere de imagine, masini de masurat coordonate, radare aeriene, etc. Imaginile digitale mai pot fi de asemenea obținute și sintetizate din diferite alte date ne-imagistice, așa cum ar fi funcții matematice, modele bidimensionale și tridimensionale, grafica computerizata, etc.
2.4.1. Camere Foto Digitale
Cea mai intalnita metoda de captare a imaginilor in prezent, si care este la indemana oricui, este prin intermediul camerelor foto digitale. Nu a fost dintodeauna asa, prima camera foto digitala fiind propusa in 1975 ca prototip de Steven Sasson in varsa de 25 de ani care lucra la Kodak. Sasson si-a materializat conceptul in prima camera foto din noua generatie care avea sa produca si prima imagine digitala alb negru.
În 1976, Fairchild lansa prima cameră comercială cu CCD, dar tot analogică, folosită de Procter & Gamble pentru inspectarea produselor. În anul următor a venit rândul celor de la Konica să lanseze C35-AF, prima cameră foto compactă cu autofocus, dar pe film. Însă 1981 urma să fie anul în care apărea prima cameră similară ca și concept cu ce cunoaștem în ziua de azi. Sony Mavica(Magnetic Video Camera) era în esență o cameră analogică de captură video, dar ea salva imagini pe dischete de 2” numite Mavipack. O astfel de dischetă putea acomoda 50 de imagini cu rezoluția de 570×490 (aproximativ 0.3 MP).
Epoca analogică a continuat printre altele cu Canon RC-701 lansată în 1986, dar care nu a reușit sensibilizarea utilizatorului de rând. Prețurile de peste 20.000 $ puteau fi plătite doar de ziare sau agenții de știri care doreau imagini „la cald” transmise rapid de corespondenți. Printre alte dezavantaje semnificative se număra calitatea mult mai redusă decât în cazul filmului și lipsa unor imprimante accesibile. Un alt moment notabil al epocii analogice poate fi considerat lansarea în 1988 a lui Canon Xapshot, prima cameră analogică pentru consumatori. Tot în aceeași perioadă merită amintită Nikon QV-1000C, o analogică cu aspect SLR care avea marele avantaj că înregistra pe dischete imagini la o calitate comparabilă cu filmul. Prețul eraprohibitiv și a fost produsă doar pentru presă într-un număr limitat de câteva sute de exemplare.
Prima cameră digitală cu mediu de stocare detașabil a fost Fuji DS-1P anunțată în 1988. Cardul de memorie dezvoltat împreună cu Toshiba avea 16 MB. A rămas însădoar anunțată pentru că nu a fost livrată nici în Statele Unite și nici în Japonia. Același an a marcat stabilirea standardelor JPEG și MPEG, precum și apariția primului program de manipulare foto, Digital Darkroom pentru calculatoarele Macintosh.
În 1990 apărea Model 1 produs de Dycam și comercializat în unele țări sub numele de Logitech Fotoman. Dispunea de un senzor CCD, memorie internă și posibilitatea de a se conecta la calculator pentru descărcarea imaginilor.
In 1991 apare Kodak DCS-100 o cameră foto hibridă din anumite puncte de vedere. Kodak a luat corpul aparatului cu film Nikon F3 și i-a atașat un senzor, impresionant pe atunci, de 1.3 MP. În același an apărea și modelul următor,Kodak DCS-200, fiind prima camera cu hardisck incorporat. Aceste camere aveau insa un pret incepand de la 13000 dolari, pret care o recomanda doar jurnalistilor.
In 1994, Apple, in parteneriat cu Kodak produce camera QuickTake 100, care avea un pret de pana la 1000 de dolari. Avea implementat un senzor cu o rezolutie de 640×480 pixeli si putea stoca 8 fotografii in memoria interna.
In 1995, apare prima camera cu ecran LCD produsa de Casio. Din nefericire, rezoluția de 320×240 a pozelor era destul de modestă. Un alt dispozitiv de remarcat a fost Ricoh RDC-1 care putea înregistra filme. Aici trebuie să fim puțin maispecifici. Memoria de 24 MB a lui Ricoh RDC-1 permitea înregistrarea a 4 filme de 5 secunde, cu sunet. Modest, darrevoluționar la acea vreme. O altă facilitate era ecranul LCD de 2.5” opțional.
In 1996, Canon PowerShot 600 își făcea apariția într-un format familiar chiar și pentru zilele noastre. Imaginile capturate cu ea aveau rezoluția maximă de 832×608 pixeli. Dispunea de blitz, balans de alb automat, ocular și ecran LCD. Stocarea pozelor se făcea pe un harddisk intern de 178 MB. Prețul se situa la 949 $. Să nu uităm și de prima cameră care a folosit cardul de memorie CompactFlash, Kodak DC-25 lansată în același an.
In 1997 Bariera de 1 MP pentru camerele digitale orientate spre utilizatorii de rând a fost depășită de Kodak DC120 Zoom. Cum sugerează și numele, ea era dotată cu un obiectiv cu zoom optic 3x șiautofocus. Prețul situat sub pragul psihologic de 1.000 $ era de asemenea remarcabil.
In 1999 apare Nikon D-1, DSLR-ul construit integral de Nikon. Printre facilitățile remarcabile ale sale se numără senzorul de 2.74 MP care ofera imagini la rezoluția 2012×1324, prețul „accesibil” de 6.000 $ și suportul de tip F pentru obiective de la aparatele cu film.
În decurs de 10 ani aparatele de fotografiat digitale au devenit articole de consum uzuale. La ora actuală, răspândirea lor pe glob a depășit de mult predecesorul lor tradițional, deoarece prețul componentelor electronice scade permanent iar simultan se îmbunătățește și calitatea imaginilor digitale.
In 2003 Canon face un pas important prin lansarea lui EOS 300D sau Digital Rebel, primul DSLR cu un preț de achiziție mai mic de 1.000 USD. Cu el, Canon pătrunde serios pe piața consumatorilor. Modelul dispunea de un senzor de 6 MP și este încă popular pe piața de camere profesionale second-hand.
În ianuarie 2004 Kodak a anunțat că nu va mai produce aparate foto reîncărcabile cu film de 35 mm începând de la finalul anului. Totuși, și fotografia "udă" va continua să existe, atâta timp cât artiști fotografici talentați și unii amatori vor dori să profite de posibilitățile ei multiple.
Tehnologia actuala permite acum ca aparatele foto apoape sa fotografieze singure: exista de mult posibilitatea sa setezi aparatul sa faca fotografia dupa anumit timp, sau la anumite intervale, iar acum aparatele foto pot face automat fotografia atunci cand detecteaza zambetele pe fetele subiectilor.
2.4.2. Principiu de functionare al aparatelor foto digitale
Deși digital, acesta are multe în comun cu aparatul de fotografiat analogic, cu peliculă (folosește obiective, sisteme de obturare, vizoare și sisteme de focalizare) se diferențiază totusi prin modul în care captează, memorează și prelucrează imaginile fotografice.
Aparatele foto digitale folosesc senzori de imagine pentru memorarea inițială a imaginii. Senzorul de imagine realizează transformarea imaginii într-un semnal electric ce este, la rândui, transformat într-un semnal digital, prin intermediul căruia informația este înmagazinată pe un mediu de stocare (card de memorie).
Există două tipuri de senzori de imagine:
CCD (Charge-Couple Device) – pentru care s-a obținut premiul Nobel pentru fizică în anul 2009. Senzorii CCD creează imagini de mai bună calitate, cu mai puțin zgomot, dar viteza de citire a datelor este mai scăzută decât la senzorii CMOS;
CMOS (Complimentary Metal Oxide Semiconductor): sensibilitatea la lumină a senzorilor CMOS este mai scăzută, dar aceștia consumă mai puțină energie, deci bateriile au o viață mai lungă în aparat. Un alt avantaj este ca senzorii CMOS folosesc tehnologia tradițională de fabricare a cipurilor, fiind mult mai ieftini decât senzorii CCD, care sunt fabricați cu ajutorul unei tehnologii speciale, care presupune costuri mai mari.
Curând a fost dezvoltată o nouă tehnologie denumită sCMOS, care încearcă să folosească avantajele pe care le oferă fiecare dintre cele două tehnologii menționate mai sus, CCD și CMOS.
Senzorul de imagine lucrează împreună cu un procesor de imagine. Acesta din urmă preia semnalul analogic de la senzorul de imagine, îl transformă în semnal digital (în biți – șiruri de 0 și 1); semnalul digital, purtător al informației despre imaginea captată cu aparatul foto, este apoi stocat pe un card de memorie.
Fie că este vorba de un aparat foto digital ori de unul clasic, în esență acestea au următoarele elemente constitutive:
Obiectivul
Sistemul de obturare
Sistemul de vizare
Obiectivul aparatului foto
Obiectivul aparatului foto reprezintă un grup de lentile convergente și divergente, grupate în diferite moduri, în așa fel încât imaginea rezultată să fie una de calitate cât mai bună. Principalii parametrii ai unui obiect sunt: distanța focală (f) și deschiderea relativă.
Distanța focală reprezintă distanța dintre focar (punct în care se întâlnesc razele convergente reflectate sau refractate de un sistem optic) și planul lentilei. Distanța focală se măsoară în milimetri. Cu cât este mai mică, cu atât aria vizuală de cuprindere a obiectivului este mai mare.
Deschiderea relativă este raportul dintre distanța focală și diametrul deschiderii maxime a obiectivului: . Cu cât deschiderea relativă este mai apropiată de 1, cu atât luminozitatea obiectivului este mai bună.
La obiectivele clasice există doi parametri ajustabili: inelul distanțelor – pentru controlul calității imaginii și inelul diafragmei – pentru controlul diametrului fantei de lumină ce trece prin obiectiv. La obiectivele care permit zoom-ul, există și un inel de modificare a distanței focale. La aparatele foto digitale toți acești parametri sunt reglați automat de către softul aparatului, așa că utilizatorul nu trebuie să-și mai bată capul cu reglaje. Fotografii profesioniști însă cunosc aceste detalii și le folosesc în avantajul lor, reușind să realizeze imagini de mare impact vizual.
Diafragma
Controlul deschiderii diafragmei înseamnă controlul cantității de lumină ce va "impresiona" filmul ori senzorul de imagine.
Folosind aparatul de fotografiat, se observa următoarele inscripții: f:2, f:2,8, f:4, f:5,6, f:8, f:11; f:16 ori f:22. Aceste valori semnifica deschiderea relativa a diafragmei. f:2 corespunde deschiderii maxime a diafragmei, iar f:22 indică faptul că diafragma este închisă.
Profunzimea de câmp a obiectivelor
Profunzimea de câmp crește odată cu închiderea diafragmei și scade odată cu apropierea obiectului fotografiei față de aparat și cu creșterea distanței focale a obiectivului.
Sistemul de obturare
Sistemul de obturare al aparatului de fotografiat asigură controlul luminii către senzorul de imagine (ori către peliculă, în cazul aparatului clasic). Gama timpilor de expunere (timpii în care diafragma este deschisă și este permisă intrarea luminii în aparat) este foarte largă, progresul tehnologiei aducând cu sine timpi foarte mici (a zecea mia parte dintr-o secundă) ori timpi foarte mari (câteva minute).
Sistemul de vizare
Sistemul de vizare al aparatului de fotografiat permite controlul încadrării subiectului fotografiei. De asemenea, acesta ajută la controlul clarității imaginii. Aparatele de fotografiat digitale permit încadrarea subiectului atât prin intermediul unui display (un ecran LCD), cât și în maniera clasică, printr-un vizor.
Figura 2. Principiul de functionare al unui aparat foto
2.4.3. Scannere
Dispozitivele de tip scanner convertesc o imagine, un text, o fotografie, sau un grafic intr-un fisier care este stocat in memoria calculatorului.
Componenta de bază a scanerului este o senzorul CCD care este cel mai eficient in convertirea luminii in semnal electric. Tehnologia CCD este cea mai frecventa intalnita in procesele de scanare si reprezinta un ansamblu de mici diode fotosensibile.
Procesul de scanare consta in plasarea documentului sau fotografiei care se doreste a fi scanata pe platfomra de sticla a scannerului dupa care se acopera cu capacul scannerului. Sub platforma o lampa ilumineaza subiectul. Ansambulul format din oglinzi, filtre, lentile si senzori CCD, se deplaseaza peste documentul scanat, imaginea fiind reflectata in sistemul de oglinzi in unghi, ultima oglinda reflectand imaginea pe un obiectiv iar lentila concentreaza imaginea printr-un filtru pe senzorul CCD care transforma lumina in semnal electric pe care il converteste in valori digitale.
Există în general trei tipuri de scanare:
Scannere plate – sunt cele mai intalnit tipuri de scannere si presupune plasarea subiectului care se scaneaza pe patul de sticla al scannerului.
Scannere de mana – este un scanner mic si portabil. Pentru a efectua scanarea se trece capul scanner-ului peste documentul care trebuie scanat.
Scannere rotative – sunt scannere folosite in mare parte in scopuri comerciale deoarece ofera o calitate foarte buna a imaginii. Originaulul este fixat pe un cilindru rotativ transparent care se roteste cu viteza foarte mare permitand citirea imaginii punct cu punct fara sa existe riscul de a deteriora originalul.
Figura 3. Principiul de functionare al unui scanner plat.
2.5. Prelucrari primare
Prelucrarea si analiza imaginilor (numita adeseori prescurtat doar prelucrarea imaginilor) s-a nascut datorita ideii si necesitatii de a înlocui observatorul uman printr-o masina. Este important de precizat ca analiza imaginilor a mers mai departe decât simpla înlocuire a observatorului uman, deoarece au aparut solutii inovatoare pentru probleme cu care acesta nu mai fusese confruntat – ca în cazul imaginilor non-vizibile (imagini acustice, ultrasonore, radar).
Prelucrarea imaginilor inglobeaza posibilitatea a de a dezvolta masina totala de viziune, capabila sa realizeze functiile vizuale ale oricarei vietuitoare. Pentru prelucrarea digitala a imaginilor se foloseste termenul Digital Image Processing, care inseamna defapt prelucrarea pe un calculator digital a unor date bidimensionale.
Sistemul software specializat care este responsabil cu realizarea efectiva a unei sarcini concrete poate fi descompus în mai multe module: îmbunatatire, restaurare, compresie, segmentare si analiza.
Blocul de îmbunatatire a imaginilor are ca scop accentuarea anumitor trasaturi ale obiectelor continute în imagine pentru usurarea unor sarcini ulterioare de analiza automata sau interpretare prin afisare. Asemenea metode pot fi utile la extragerea trasaturilor caracteristice ale obiectelor, eliminarea zgomotelor suprapuse imaginii, marirea confortului vizual. Acesti algoritmi nu maresc continutul informational al imaginii si sunt în general interactivi si puternic dependenti de aplicatie.
Restaurarea imaginilor se refera la eliminarea sau minimizarea efectelor unor perturbatii si a unor degradari. Perturbatiile reprezinta în general zgomotele, modelate ca procese aleatoare, ce se suprapun în cursul achizitiei imaginii din cauza senzorului si a lantului de transmisiune si captare. Degradarile sunt cauzate de imperfectiunile si limitarile deterministe ale senzorului, cum ar fi efectele de apertura, timp de expunere, deficiente geometrice ale sistemului de lentile, etc.
Compresia imaginilor se refera la reducerea volumului de date cu care este reprezentata imaginea. Printr-o transformare reversibila imaginea trebuie sa poata sa fie recuperata integral, sau cu diferente foarte mici, controlabile din versiunea sa comprimata.
Segmentarea este procesul de descompunere a unei imagini sau scene în elementele sale constituente. Adeseori, segmentarea este strâns legata de algoritmii de analiza, al caror scop este de a realiza masuratori cantitative sau evaluari calitative asupra unor anumite categorii de obiecte, prezente în imaginea data.
Procesul de imbunatatire a calitatii unei imagini reprezinta accentuarea unor caracteristici ale imaginii, cum sunt muchiile, contrastul sau contururile. Cantitatea de informatie continuta in fisierul imagine nu se mareste in urma acestui proces.
2.5.1. Imbunatatirea imaginilor
Operatii punctuale
Noua valoare a pixelului va depinde doar de vechea valoare a acestuia, de unde si denumirea de “operatie punctuala”. Putem scrie matematic: , unde este imaginea originala, iar este imaginea imbunatatita. reprezinta noua valoare a pixelului , iar este vechea valoare. Operatia punctuala este descrisa de functia .
Accentuarea contrastului
Aceasta operatie se foloseste ın special pentru imbunatatirea imaginilor cu contrast scazut. Acesta poate aparea datorita unei slabe iluminari, a unei iluminari neuniforme sau din cauza unor neliniaritati ale caracteristicilor unui senzor de captura a imaginii. Forma matematica pentru o functie tipica de accentuare a contrastului se poate scrie astfel:
unde: – numarul de nivele pe care se face cuantizarea tonurilor de gri. Cel mai frecvent caz este , pentru cuantizarea pe 8 biti, ia valori in intervalul [0,255]. Valorile reprezinta pantele celor 3 segmente de dreapta.
Intinderea maxima a cotrastului
Aceasta este un caz particular al operat¸iei de accentuare. Se foloseste in general, pentru reducerea zgomotului dintr-o imagine, atunci cand se stie ca acesta ia valori cu precadere ın intervalul [a, b]. Forma matematica este urmatoarea:
Nivelele de gri aflate in intervalul [a,b] vor fi distantate, ca urmare a pantei supraunitare, iar nivelele de gri ce se gasesc in afara acestui interval vor fi inlocuite fie cu alb, fie cu negru, dupa caz.
Binarizarea imaginilor
Binarizarea sau praguirea ("thresholding") imaginilor este un caz special al intinderii maxime a contrastului, pentru care . Rezultatul operatiei de binarizare este o imagine care contine doar doua nivele de gri: alb si negru.
Pentru imaginii in tonuri de gri, operatia de binarizare se scrie matematic astfel:
unde T este o valoare de prag, reprezentand o valoare intreaga din intervalul .
Pentru imaginile color, binarizarea se poate face in urmatorul mod:
unde v este un vector tridimensional ce reprezinta culoarea pixelului (de exemplu v=(R,G,B), iar Y(v) reprezinta luminanta.
In urma aceste operatii, contrastul este maximizat la nivelul intregii imagini.
Negativarea imaginilor
Negativul unei imagini se obtine prin inversarea ordinii nivelelor de gri. Pentru imaginile in tonuri de gri, operatia de negativare se face folosind functia:
Pentru imaginile color, functia se descrie matematic prin:
Negativizarea imaginilor este foarte utila pentru afisarea unor imagini medicale sau pentru realizarea de imagini negative pe suporturi fizice.
Decuparea imaginilor
Decuparea cu pastrarea fundalului este data de formula:
Fara pastrarea fundalului, formula este urmatoarea:
Aceste operatii permit ’’decuparea” unor regiuni din imagine, caracterizate de anumite nivele de gri. Acest lucru este folosit atunci cand diferite caracteristici ale imaginii sunt continute in nivelele de gri respective, cum este de exemplu decuparea regiunilor de temperatura joasa reprezentate de nori in cazul imaginilor obtinute de la un satelit meteo.
Histograma unei imagini
Histograma unei imagini reprezinta frecventa relativa de aparitie a nivelelor de gri din imagine. Pentru o imagine f, de dimensiune M × N pixeli, histograma se defineste astfel:
unde functia este definita de formula:
Din punct de vedere statistic, putem considera valoarea fiecarui pixel al imaginii ca o realizare particulara a unei variabile aleatoare asociata nivelelor de gri, caz ın care histograma reprezinta functia de densitate de probabilitate a acestei variabile aleatoare. Fiind o functie de densitate de probabilitate, histograma oricarei imagini verifica conditia de normare:
Practic, calculul histogramei presupune parcurgerea pixel cu pixel a imaginii si contorizarea numarului de nivele de gri ıntalnite.
Egalizarea histogramei
Egalizarea histogramei reprezinta o operatie de accentuare a contrastului si are ca scop obtinerea unei histograme uniforme.
Se asociaza unui pixel din imagine o variabila aleatoare 𝜉. Astfel, valorile intensitatii luminoase ale pixelilor reprezinta realizari particulare ale variabilei aleatoare asociate. Se considera ca variabila are o densitate de probabilitate si o functie de repetitie . Se defineste in continuare variabila care are functia de repetitie:
Pentru cazul discret, se presupune ca nivelele x de gri ale pixelilor au valori intre 0 si L-1 (unde de regula L=256), unde sunt asociate probabilitatile de aparitie unde . Aceste probabilitati pot fi estimate pe baza calculului histogramei, considerand imaginea data, ca fiind o realizare particulara a procesului aleator descris de variabila , astfel:
Noile nivele de gri, reprezentand valori discrete ale variabilei din intervalul [0,L-1] se vor calcula cu formulele:
unde este histograma cumulativa a imaginii, iar este valoarea minima a histogramei cumulative.
2.5.2. Transformari geometrice de baza
Transformarile geometrice sunt transformari care nu modifica valorile pixelilor din imagine, ci modifica doar asezarea lor spatiala. Cu alte cuvinte, lasa nemodificata compozitia imaginii, alterandu-i insa structura. In urma aplicarii unei transformari geometrice asupra unei imagini, histograma acesteia nu se modifica.
Translatia
Translatia se defineste ca fiind operatia de modificare ın linie dreapta a coordonatelor unui pixel din imagine de la o pozitie la alta. Un pixel de coordonate carteziene (x,y) va avea dupa translatie coordonatele , astfel:
unde perechea reprezinta vectorul de translatie.
Translatarea unei imagini se realizeaza prin translatarea fiecarui pixel in parte. Valorile sunt numere intregi pozitive sau negative. In cazul ın care noile coordonate ale unui pixel depasesc dimensiunile imaginii, atunci el va fi pozitionat in partea opusa a imaginii.
Rotatia
Rotatia se defineste ca fiind operatia de modificare dup˘ o traiectorie circulara a coordonatelor unui pixel din imagine. Rotatia este specificata de unghiul . Pozitia unui pixel, exprimata in coordonate carteziene (x,y), se exprima in coordonate polare astfel:
Noile coordonate carteziene ale pixelului rotit cu unghiul vor fi:
Oglindirea
Oglindirea este operatia prin care se produce imaginea in oglinda a unui obiect, relativ la o axa de oglindire.
2.5.3. Compresia imaginilor
Termenul de compresie se refera la totalitatea metodelor ce au drept scop reducerea cantitatii de date necesare pentru reprezentarea unei imagini. Compresia este folosita ın special pentru stocarea sau transmiterea imaginilor. Sa consideram cazul unei imagini de dimensiune 512×512 pixeli. Daca aceasta este o imagine ın tonuri de gri, iar fiecare pixel este codat cu 8 biti, atunci cantitatea de date necesara pentru a reprezenta aceasta imagine este:
Din acest calcul ne putem da seama ca pentru a stoca o imagine avem nevoie de spatiu considerabil, iar pentru transmiterea ei avem nevoie de un canal de transmisiune de banda larga, de care nu dispunem ıntotdeauna.
Clasificarea metodelor de compresie
Metodele de compresie se pot clasifica astftel:
Metode de compresie la nivel de pixel
Aceste metode nu tin cont de corelatia care exista ıntre pixelii vecini, codand fiecare pixel ca atare. Acest tip de compresie este far a pierdere de informatie, adica imaginea initiala poate fi refacut a perfect din imaginea comprimata. Ca exemple de astfel de metode putem da codarea Huffman, codarea LZW (Lempel-Ziv-Walsh) sau codarea RLE (Run Lenght Encoding).
Metode de compresie predictive
Aceste metode realizeaza compresia folosind corelatia care exista ıntre pixelii vecini, dintr-o imagine. Exemple pot fi codarea cu modulatie ’’delta” si codarea DPCM (Differential Pulse Code Modulation)
Metode de compresie cu transformate
Aceste metode se bazeaza pe scrierea imaginii ıntr-o alta baza, prin aplicarea unei transformari unitare, atfel ıncat energia imaginii sa fie concentrata ıntr-un numar cat mai mic de coeficienti.
Alte metode de compresie cum ar fi cuantizarea vectoriala, codarea folosind fractali, codarea hibrida.
2.5.4. Segmentarea Imaginilor
Segmentarea reprezinta ımpartirea imaginii ın zone de interes, dupa anumite criterii. Fiecarui pixel i se va atribui o valoare, 0 sau 1, reprezentand apartenenta acestuia la o anumita zona sau regiune de interes. De regula, segmentarea urmareste extragerea, identificarea sau recunoasterea unui anumit obiect dintr-o imagine. Zonele sau regiunile care alcatuiesc o imagine poarta numele de segmente. Pentru o imagine , segmentarea reprezinta impartirea lui intr-un numar de zone . Aceste segmente se numesc complete daca indeplinesc urmatoarele conditii:
;
;
segmentul sa fie compact pentru ;
pentru , un anumit criteriu de uniformitate este satisfacut;
pentru , criteriul de uniformitate nu este satisfacut;
Metodele de segmentare a imaginilor se pot clasifica in:
metode de segmentare orientate pe regiuni
metode de segmentare orientate pe contururi
Segmentarea orientata pe regiuni
In general, operatia de segmentare orientata pe regiuni urmareste extragerea din imagine a regiunilor ocupate de diversele obiecte prezente ın scena. Un obiect se defineste ca o entitate caracterizata de un set de parametri ale caror valori nu se modifica in diferitele puncte ce apartin entitatii considerate. Unul dintre cei mai simpli parametri de definitie este nivelul de gri al pixelului. Daca nivelul de gri caracterizeaza in mod suficient obiectele din imagine, atunci histograma imaginii va prezenta o structura de moduri dominante. Fiecare mod al histogramei va reprezenta cate un obiect sau o categorie de obiecte.
Segmentarea orientata pe contururi
Intr-o imagine, variatiile de nivel ale pixelilor reprezinta schimbari ale proprietatilor fizice sau geometrice ale obiectelor ce compun scena. Intr-un numar mare de cazuri, aceste variatii de intensitate corespund contururilor regiunilor determinate de obiectele dintr-o imagine.
CAPITOLUL III
MATLAB IN PRELUCRAREA IMAGINILOR DIGITALE
3.1. Programe de prelucrare a imaginilor
Exista o varietate foarte mare pe piata de programe prin care se pot prelucra imaginile. Vom prezenta unele dintre cele mai folosite si consacrate programe de acest gen. Din aceasta gama de produse putem enumera mai multe programe ca Adobe Photoshop, Corel Draw sau Matlab care se folosesc atat in scopuri artistice cat si ca sisteme computerizate in analiza a imaginilor in domenii industriale sau stintifice.
Adobe Photoshop
Adobe Photoshop este un software folosit in editarea imaginlor digitale, produs și distribuit de compania Adobe Systems și care se se adresează în special profesioniștilor domeniului.
Photoshop are o interfață intuitivă care permite o multitudine de modificări necesare în mod curent profesioniștilor și nu numai: editări de luminozitate contrast si culoare, focalizare, aplicare de efecte pe imagine sau pe zone, retușare de imagini degradate, număr arbitrar de canale de culoare, suport de canale de culoare pe 8, 16 sau 32 biti.
Prima versiune a programului a fost distribuită în februarie 1990 de către frații Knoll, Thomas și John.
Programul citeste majoritatea tipurilor de fisiere dar are si o serie de formate proprii:
PSD (Photoshop Document) – imagine este reprezentata ca un set de straturi sau layers si include text, masti, informatii despre opacitate, canale alfa si de culoare, setari duotone, cai de taiere, , moduri de combinare. Formatul este compatibil si unele dintre programele concurente, fiind foarte popular in randul profesionistilor in domeniu.
PSB – este o versiune mai nou a formatului PSD folosit in special pentru fisiere mai mari de 2 GB. Suporta rezolutii de 300.000 X 300.000 de pixeli.
PDD – este un format specific programului PhotoDeluxe mai putin intalnit si este compatibil doar cu aplicatia Adobe Photoshop sau Photoshop Elements in prezent.
Programul dispune de o serie de instrumente printre care putem enumera unele dintre cele mai folosite precum:
Personalizarea aplicatiei – ofera posibilitatea de a personaliza functiile din meniul aplicatiei si scurtaturile, posibilitatea de a salva modificarile pentru diferitele moduri de lucru.
Multitasking – ofera posibilitatea de a folosi toate aplicatiile din suita ’’Creative Suite 2” in sistem multitasking.
RAW Room – care ofera acces rapid la fisierele de tip RAW folosind toate detaliile acestor fisiere si permite control total asupra aspectului imaginii, fara sa modifice fisiereul in sine.
High Dynamic Range (HDR) Support pe 32 biti – permite creearea si editarea imaginlor pe 32 biti, combina cadre fotografice de expuneri diferite, de la cele mai intense umbre pana la zone puternice de lumina.
Shadow/Highlight – se foloseste la imbunatatirea contrastului fotografiilor subexpuse si supraexpuse pastrand echilibrul vizual al imaginii.
Image Warp – este folosit penru deformarea imaginilor plane dupa o matrice.
Vanishing Point – se foloseste pentru clonarea, pictarea sau lipirea de elemente care automat se transpun in perspectiva obiectelor din imagine.
Smart Objects – deformeaza, redeformeaza sau revine la starea initiala a obiectelor fara pierdere de calitate.
Control imbunatatit al straturilor – este instrumentul care ofera posibilitatea de a selecta mai multe straturi in acelasi timp.
Lens Distort – ofera posibilitatea de corectie a deformarilor cauzate de lentile si permite corectarea cu usurinta a efectelor date de lentile cum ar fi cele sferice, cilindrice, tip palnie, etc.
Adobe Bridge – este un browser complex de ultima gneratie care simplifica foarte mult gestionarea fisierelor pemitand procesarea in acelasi timp a mai multor fisiere.
Ultimele versiuni ale programului Adobe Photoshop includ optiuni de modelare 3D si editare video oferind control asupra fisierelor video la fel de bine ca ce oferit pentru imaginilo.
http://ro.wikipedia.org/wiki/Adobe_Photoshop
CorelDraw
CorelDraw este o suita de programe utilizat in editarea de grafica vectoriala, dezvoltat si comercializat de Corel Corporation, Ottawa, Canada. CorelDraw a iesi pe piata in 1989
Din suita de programe putem enumera PowerTrace care permite urmarirea imaginilor bitmap si convertirea in vectori, Photo-Paint, care este o aplicatie de editare a imaginilor, Corel Website Creator, aplicatie utilizata la crearea de website-uri sau Corel Capture, un utilitar pentru capturarea imaginilor de pe ecranul calculatorului.
Programul PhotoPaint este un soft performant de editare a imaginiilor bitmap care functioneaza asemanator cu Adobe Photoshop. Programul ofera o multime de instrumente cu care se poate picta ca pe o panza. Pe langa simularea celor uzuale pictorilor(stilouri, creioane, pensule) Photo Paint pune la dispozitie instrumente si tehnici suplimentare, cum sunt aerografele si accesoriile pentru efecte speciale. Formatul folosit de PhotoPaint este .CPT (Corel Photo-Paint Image). Programul poate converti vectorii din CorelDraw si AdobeIlustrator precum si alte formte precum PNG, JPEG si GIF.
PhotoPaint permite ca o imagine sa fie editata pe mai multe linii. Interfata cu utilizatorul poate fi personalizata foarte mult permitand utilizatorul sa aranjeze ferestrele liber sau sa modifice marimea butoanelor. Multe efecte pot fi adaugate unei fotografii, inclusiv efecte precum Smart Blur, Mesh Warp, Camera Lens Flare, urmarire a conturului si multe altele
http://en.wikipedia.org/wiki/Corel_Photo-Paint
MATLAB
MATLAB (MATrix LABoratory) este un limbaj de programare dezvoltat de MathWorks Inc, o coroporatie americana specializata in software-ul de calcul matematic, iar in Aprilie 2014 numara peste 3000 de angajati la nivel global, 70% dintre acestia lucrand la sediul din Natick, Massachusetts, USA. Compania a fost fondata in 1984, in Portola Valley, California de catre Jack Little, Cleve Moler si Steve Bangert. Principalele produse ale companiei sunt MATLAB si Simulink.
Bazele programului au fost puse insa mult mai devreme, in anii '70, cand Cleve Moler, președintele departamentului de informatică al Universității din New Mexico l-a creat pentru a permite accesul studentilor sai la librariile LINPACK si EISPACK, fara sa fie nevoie sa mai studieze limbajul FORTAN, un limbaj de programare folosit pentru scrierea programelor care foloseau extrem de multe numere. Deoarece a avut un succes enorm si s-a raspandit foarte repede si in alte universitati. In felul acesta Jack Little, in prezent Presedinte si CEO la Mathworks, intra in contact cu limbajul MATLAB in timpul unei vizite ale lui Cleve la Universitatea Stanford in 1983 si recunoscand potentialul comercial a inceput o colaborare cu Cleve Moler si Steve Bangert impreuna cu care l-a rescris in limbajul C. De atunci, chiar daca este specializat in calcul numeric, MATLAB s-a dezvoltat si prin pachete care ii permit sa intercationeze cu motoarele de calcul simbolic gen Maple. Unul dintre aceste pachete este Simulink, care permite realizarea de simulari ale sistemelor dinamice si imbarcate prin utilizare de modele matematice.
Fiind un software performant si cuprinzator care este destinat calulelor tehnice, avand de asemenea si o interfata prietenoasa cu utilizatorul, MATLAB este utilizat la scara larga in industrie si universitati pe diverse sisteme de operare: Windows, Linux, Unix, Mac OS.
MATLAB a fost adoptat prima data in ingineria de control raspandindu-se rapid si in alte domenii, ca educatia, in mediul universitar fiind pachetul standard pentru cursurile introductive si avansate de inginerie, matematica si stiinte. In industrie este utilizat pentru cercetare, dezvoltare si productie. http://ro.wikipedia.org/wiki/MATLAB
MATLAB ofera inginerilor un sistem interactiv, usor de utilizat
Utilizari tipice ale limbajului sunt:
calcul matematic
algoritmi de dezvoltare
modelare si simulare
analiza de date, explorearea si vizualizarea acestora
aplicatii de dezvoltare
grafica si interfete grafice utilizator
prelucrare de imagini
3.2. Sistemul MATLAB
Sistemul MATLAB este descris de cinci parti principale: limbajul MATLAB, spatiul de lucru, Handle Graphics®, bibilioteca de functii matematice sau toolbox-uri si interfata de aplicatii program.(API).
MATLAB are o familie de aplicatii specifice numite "toolboxes", care sunt o colectie de functii ("M-files") ce extind mediul MATLAB sa rezolve clase particulare de probleme.
Limbajul MATLAB
Pentru limbajul MATLAB, matricea este elementul de baza, care nu trebuie declarata inainte de folosire si nu trebuie specificata dimensiunea. In acest sens, putem spune ca un vector este o matrice cu o linie sau o coloana, iar un scalar este un vector de dimensiune 1.
Organizarea facilitatilor de programare se face pe 6 directoare din …toolbox/matlab/
ops – Operators and special characters: s. all(), any, xor, or, transpose (.’), ctranspose (‘), ldivide(.\) …
lang – Programming language constructs: if, for, while, case, persistent, etc
strfun – Character strings: char, ischar, strcat, etc
iofun – File input/output: fscanf, fseek, etc
timefun – Time and dates: clock, date, etc
datatypes – Data types and structures: cell, class, int8, double, logical, struct, etc
Mediul de lucru MATLAB
Set de facilitati care permit manevrarea variabilelor in spatiul de lucru, importul/exportul de date, editarea, depanarea, dezvoltarea si manupularea fisierelor si aplicatiilor MATLAB. Facilitatile acesta le putem gasi in dir.general din toolbox/matlab/
general – General purpose commands: beep, delete, dir, rmdir, dos, echo, exit, import, load, who, whos, ver, save, quit etc.
Handle Graphics®
Reprezintă sistemul grafic al MATLAB-ului. Cuprinde comenzi pentru vizualizarea datelor bi și tri-dimensionale, procesarea imaginilor, animație, prezentări grafice. Permite utilizarea unor comenzi de nivel scăzut pentru crearea unor interfețe grafice GUI. Funcțiile grafice sunt organizate în 5 directoare din …toolbox/matlab/:
graph2d – Two-dimensional graphs: plot, grid, polar, subplot etc.
graph3d – Three-dimensional graphs: plot3, surf, mesh, zlabel etc.
specgraph – Specialized graphs: bar, comet3, ezplot, voronoi etc.
sraphics – Handle Graphics: figure, hold, print etc
uitools – Graphical user interface tools: menu etc.
Biblioteca de funcții matematice
Este reprezentata de o colectie de algoritmi de calcul formata din functii simple (sinus, cosinus, etc) si functii complexe (inversare de matrici, functii Bessel, FFT, etc). Organizarea se face pe 8 directoare:
elmat – Elementary matrices and matrix manipulation: isempty(x),zeros(3)
elfun – Elementary math functions: abs(),sin(),tan,sinh,exp, log, log2, log10, imag,real
specfun – Specialized math functions: bessel,cross,dot,factorial
matfun – Matrix functions – numerical linear algebra: trace,lu,rank,svd,eig, etc
datafun – Data analysis and Fourier transforms: fft, ifft,mean,var,std,lscov
polyfun – Interpolation and polynomials: Residue, Legendre, convhull
funfun – Function functions and ODE solvers: Ode23, ode45(), fzero, etc
sparfun – Sparse matrices: full(), sparse(), etc
Interfața de aplicații program (API)
Reprezinta biblioteca prin care se permite scrierea de programe in C sau Fortran care intercationeaza cu MATLAB-ul. Sunt incluse facilitati pentru apelarea rutinelor din MATLAB, scrierea si citirea de fisiere MAT si apelarea MATLAB-ului ca masina de calcul.
3.2.1. Instructiuni si functii MATLAB
MATLAB lucreaza fie în modul linie de comanda, situatie în care fiecare linie este prelucrata imediat, rezultatele putând fi afisate, fie cu programe (mai multe instructiuni MATLAB, cu posibilitatea apelarii altor fisiere de acelasi tip si a apelarii recursive) continute in fisiere numite fisiere – M ("M-files") deoarece au extensia .m. Fisierele .m sunt clasificate in 2 tipuri:
Fisiere Script, care nu accepta argumente de intrare si nici nu returneaza argumente de iesire. Fisierele de genul acesta executa o serie de instructini MATLAB. Scripturile opereaza cu datele din workspace sau pot creea date noi, acestea din urma fiind disponibile la finalizarea executiei programului.
Fisiere Functii accepta argumente de intrare si returneaza argumente de iesire, iar variabilele utilizare sunt variabilele interne ale functiei.
Un fisier de tipul .m este format dintr-o succesiune de comenzi MATLAB, inclusiv apelari recursive, iar executarea comenziulor se face prin tastarea numelui fisierului in linia de comanda.
Un fisier de tip functie cotine in prima linie cuvantul rezervat function si are sintaxa:
function[iesire1, iesire2, …] = nume(intrare1, intrare2, …)
Instructiuni de control
Instructiunea if are sintaxa:
if expresie_logica
grup_instructiuni
end
Instructiunea if poate fi inclusa in alta instructiue if:
if expresie_logica1
grup_instructiuni1
if expresie_logica2
grup_instructiuni2
end
end
Instructiunea if-else are sintaxa:
if expresie_logica
grup_instructiuni1
else
grup_instructiuni2
end
Exista si varianta de utilizare prin structura elseif
if expresie_logica1
grup_instructiuni1
elseif expresie_logica2
grup_instructiuni2
elseif expresie_logica3
grup_instructiuni3
end
Instructiunea for are sintaxa:
for indice=expresie
grup_instructiuni
end
unde de obicei indice=expresie are forma:
k=valoare_initiala:valoare_finala
Instructiunea while are urmatoarea sintaxa:
while expresie
grup_instructiuni1
end
Instructiunea break opreste executia ciclurilor for sau while. Se foloseste pentru inrerupera fortata a ciclurilor in conditii neprevazute de expresia de definitie.
Instructiunea return se foloseste in cazul unei terminari normale a functiei.
Operatorii logici folositi in MATLAB sunt ~ care reprezinta negare, & – si logic, | – sau logic. Alte functii care returneaza valori de tip logic sunt:
exist – verifica daca variabilele sau functiile argument sunt diferite.
any – testeaza daca exista cel putin un element al variabile argument care sa indeplineasca conditia data.
all – testeaza daca toate elementele variabilei indeplinesc conditia data.
find – returneaza indicii elementelor diferite de zero sau care verifica o conditie data din variabila argument.
Functii uzuale
Funtii matematice
ceil – returneaza numarul intreg obtinut prin rotunjirea la cel mai apropiat intreg spre plus infinit
fix – returneaza numarul intreg obtinut prin rotunjirea la cel mai apropiat intreg spre 0
floor – returneaza numarul intreg obtinut prin rotunjirea la cel mai apropiat intreg spre minus infinit
round – returneaza numarul intreg obtinut prin rotunjirea la cel mai apropiat intreg
rem – returneaza restul impartirii
Functii pentru lucru cu fisiere
fopen – deschide fisierul specificat
fclose – inchide fisierul specificat
fread – citeste date binare din fisierul specificat
fwrite – scrie date binare in fisierul specificat
Comenzi de intrare / iesire pentru ferestre
clc – sterge fereastra de comanda
home – pozitioneaza cursorul la inceput
input – asteapta pentru intrare de la tastatura
pause – asteapta raspunsul utilizatorului inainte de a continua
3.2.2. Grafica in MATLAB
Orice element grafic, fie bidimensional, 3D sau imagine, este plasat intr-o figura, numerotata automat, incepand cu 1. Creearea unei noi figuri sau activarea uneia deja existente se face prin functia figure si are sintaxa: figure(numar_figura).
Pentru reprezentari grafice elementare se folosesc functiile:
plot – traseaza grafice in coordonate x-y liniare
loglog – traseaza grafice in coordonate x-y logaritmice
semilogx – traseaza grafice in coordonate x-y semilogaritmice (axa x-logaritmica)
semilogy – traseaza grafice in coordonate x-y semilogaritmice (axa y-logaritmica)
Citirea si afisarea imaginilor in MATLAB
Pentru citirea imaginilor se foloseste functia: imread, iar pentru selectia imaginii din memorie folsim functia uigetfile.
Functiile folosite pentru afisarea imaginilor sunt image, imshow, imagesc. Matricea de culoare folosita pentru reprezentare se stabileste prin functia colormap.
3.3. Functii de prelucrare a imaginilor
Functii utile in aritmetica imaginilor
imabsdiff – diferența absolută a două imagini
imadd – adunarea a două imagini;
imcomplement – complementarea unei imagini;
imlincomb – combinație liniară a două imagini;
immultiply – înmulțirea a două imagini
imsubstract – diferența a două imagini;
Histograma
Histograma liniara nenormalizata
hist = imhist(nume_imagine);
Histograma liniara normalizata
hist_norm = imhist(nume_imagine)./(size(nume_imagine,1)*size(nume_imagine,2));
Histograma cumulativa normalizata
hist_cum = cumsum(hist_norm);
Accentuarea contrastului
imadjust(nume_imagine) – ajustează intensitatea unei imagini de tip grayscale sau paleta de culori a unei imagini indexate.
Modificarea luminozitatii
Brighten – modifică luminozitatea unei palete de culori.
Calcularea intensităților minime și maxime necesare unui constrast bun
stretchlim – calculează limitele necesare funcției imadjust pentru obținerea unui contrast bun al imaginii.
Redimensionarea imaginii
imresize – modifică dimensiunile imaginii folosind o metodă de interpolare cunoscută;
Rotirea imaginii
imrotate – rotește o imagine cu un anumit unghi primit ca parametru;
Selectarea unei anumite zone dreptunghiulare din imagine
imcrop – noua imagine va conține o zonă dreptunghiulară conținută în prima imagine.
http://imag.pub.ro/ro/cursuri/archive/labpi.pdf
http://old.ace.tuiasi.ro/ro/academice/curricula/programe/ingineri/aut/Lab02.doc
CAPITOLUL IV
Aplicatii in prelucrarea imaginilor utilizand functiile MATLAB
Prima parte consta in prezentare unui procedeu de imbunatatire a procesului de selectie a mastii si prelucrare a acesteia astfel incat masca rezultata sa fie cat mai aproare de nevoile noastre.
Aceasta va fi realizata folosind diverse operatii morfologice si metode de procesare a imaginii care vor optimiza masca. Voi explica semnificatia operatiilor de dilatare si eroziune folosind exemple concrete care sa demonstreze importanta lor in procesul de prelucrare a imaginilor.
Imaginea pe care voi aplica exemplul este reprezentatata de 3 stanci in mare. Obiectivul initial este de a crea o masca in care sa includem doar acele stanci. Vom incepe cu incarcarea imaginii si transformarea ei in imagine cu nivele de gri.
img = imread('C:\…\Desktop\3rocks.jpg');
img = rgb2gray(img);
imshow(img);
Figura 4
Din moment de stancile au culoare inchisa, vom pune pragul de culoare la 35, ceea ce inseamna ca valorile mai mici de 35 vor lua valoarea 1, care inseamna alb si celelalte vor lua valoarea 0 care inseamna negru.
img_prag=img<35;
figure, imshow(img_prag);
Figura 5
Se observa doua probleme in imaginea de mai sus: prima este ca in imagine sunt incluse si alte obiecte intunecate in scena, iar cealalta este de selectie suboptimala a stancilor. Folosind instrumentul ’’data cursor” observam ca randul 152 poate fi folosit ca limita de jos a mastii, asa ca vom seta pixeli de sub acest rand la 0.
img_prag(152:end,:) = 0;
imshow(img_prag);
Figura 6
Figura 7
In acest pas am eliminat punctele albe rare care nu ar trebui sa faca parte din masca. O solutie este aplicarea operatiunii de eroziune binara, folosind un element structural de 2×2 pe toti pixelii egali cu 1. In continuare am aplicat operatiunea de dilatare cu un element structural de 70×70 pe aceeasi pixeli.
img_prag_erodat = imerode(img_prag,ones(2));
masca=imdilate(img_prag_erodat, ones(30));
figure,
subplot(1,2,1)
imshow(img_prag_erodat);title('Imaginea dupa eroziune');
subplot(1,2,2),imshow(masca);title('Imaginea dupa dilatare');
In acest exemplu am folosit un element structural dreptunghiular, desi obiectele pe care am aplicat operatiile nu sunt dreptunghiulare, deci nu este chiar cea mai buna alegere. Se observa de altfel ca cele trei pietre nu sunt similare, desi cele doua stanci laterale par a fi asemanatoare, ele au orientari opuse, iar forma celei mici din mijloc nu se aseamana cu celelalte. Ajungem astfel la concluzia ca ar trebui sa folosim mai multe elemente structurale.
Dupa cum probabil se observa laturile din stanga si dreapta raman aproape neatinse. Singura modificare dupa dilatare este extinderea in sus si in jos iar mijlocul s-a extins in toate directiile.
Pentru a evidentia aceast lucru, am folosit o tehnica de baza in procesarea imaginii, numita ’’image substraction” (scadearea imaginillor). Dupa scaderea a doua imagini se observa ca pixelii au valori diferite in cele doua imagini. In exemplul dat vom vedea care pixeli au valoarea 1 dupa procesul de dilatare, iar daca scadem masca de dinaintea dilatarii din cea finala vom vedea care pixeli sunt pozitivi.
Z = masca – img_prag;
figure,imshow(Z)
subplot(1,3,1),imshow(img_prag),title('Masca inaintea dilatarii')
subplot(1,3,2),imshow(masca),title('Masca dupa dilatare')
subplot(1,3,3),imshow(Z),title('Pixeli cu valoarea 1 dupa dilatare')
Figura 8
In continuare, cu ajutorul functiei imcrop vom selecta din imagine doar zona de interes care va fi stanca mica din mijloc, iar cu functia roipoly vom definii colturile imaginii.
stanca = imcrop(Z)
masca = roipoly(stanca);
La masca obtinuta vom aplica functia edge, functie care de obicei transforma o imagine din tonuri de gri. Vom aplica functia pentru a detecta marginea imaginii selectate folosind metoda Sobel.
Inainte de a aplica functia, pentru o detectie mai buna a conturului, vom face o redimensionare a imaginii cu o scare de 0.5.
stanca = imcrop(Z)
masca = roipoly(stanca);
masca2 = imresize(masca,0.5);
contur = edge(masca2,'sobel');
figure, imshow(contur);
Figura 9
+
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: Matlab In Prelucrarea Imaginilor Digitale (ID: 107333)
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.
