FORMATE DE FISIERE PENTRU IMAGINI

Document Sample
FORMATE DE FISIERE PENTRU IMAGINI Powered By Docstoc
					FORMATE DE FISIERE
  PENTRU IMAGINI
                      Continut

DOMENIUL PRELUCRARILOR DE IMAGINI

CLASE DE IMAGINI

FORMATE DE FISIERE PENTRU IMAGINI

STRUCTURI DE DATE PENTRU ANALIZA IMAGINILOR

PERCEPTIA UMANA A IMAGINILOR
        DOMENIUL PRELUCRARILOR DE IMAGINI

         Tehnicile de prelucrare a imaginilor digitale: inceputul anilor 1920
(s-au transmis pentru prima oara imagini digitizate ale agentiilor de stiri
prin cablu submarin intre New York si Londra).

       Aplicatiile conceptelor de prelucrare a imaginilor digitale: larga
raspandire de la mijlocul anilor 1960 (a treia generatie de calculatoare).

         Prelucrarea imaginilor: obiect de studiu interdisciplinar (aplicatii
ingineresti, fizica, chimie, biologie, medicina, geografie, meteorologie,
studiul spatiului cosmic etc).

        Prelucrarea datelor reprezentand imagini  trei arii: grafica
("graphics"), prelucrarea imaginilor ("image processing") si recunoasterea
formelor din imagini ("pictorial pattern recognition").
       Grafica: generarea imaginilor din informatii nonimagini. Aplicatii:
reprezentarea grafica a unei functii sau set de date experimentale,
generarea de imagini pentru programe jocuri, producerea de scene din
programele simulatoare de zbor, arta pe calculator, animatia
computerizata.

         Prelucrarea imaginilor: atat intrarea cat si iesirea (rezultatul) sunt
imagini. Aplicatii: sisteme de transmisie a imaginilor (cu tehnici de
inlaturare a zgomotelor si compactare a datelor), imbunatatirea imaginilor
subexpuse sau neclare (cu tehnici de imbunatatire a contrastului),
modificarea drastica a imaginilor (schimbarea iluminarii, modificarea
contururilor unor obiecte), crearea unei imagini noi dintr-un set de imagini
existente (exemplu: in medicina, obtinerea reprezentarii unor organe
interne din imagini cu raze x sau scintigrafice).

          Recunoasterea formelor din imagini: producerea fie a unei
descrieri a imaginii de intrare sau asignarea imaginii la o clasa particulara.
Aplicatii: sistem de sortare a corespondentei (detecteaza si identifica
cifrele codului postal de pe plic), sistem de diagnostic medical (detecteaza
anumite anomalii de pe radiografii sau alte imagini medicale) etc.
Cele trei domenii de aplicaţii ale tehnicii de calcul care
operează cu imagini:
Cateva aplicatii !



Restaurarea unei imagini:
Imbunatatirea culorilor unei imagini:
Reducerea zgomotului intr-o imagine:
Halftoning:
Detectarea fetelor:
Recunoasterea amprentelor digitale:
Componentele unui sistem pentru prelucrari de imagini de scop general:
         Clase de imagini

          Clasa 1: imagini color si cu niveluri de gri (reprezentare fidela a
realitatii)  matrici de valori intregi (pixeli - "picture element”). Imaginile color
reprezentate prin trei matrici (RGB - "red", "green", "blue") sau printr-o
singura matrice (diferiti biti ai fiecarui element corespunzand la culori
diferite). Ochiul uman nu poate distinge diferente de iluminare sub 1%, deci
un octet /culoare / pixel este suficient.

        Clasa 2: imagini binivel sau cu putine culori, exemplu: imagini
alb-negru  matrici cu un singur bit / pixel. Alta solutie: descrierea de zone
avand o culoare constanta (imagini cu putine culori).
Clasa 3: linii si curbe continue  secvente de puncte reprezentate prin
coordonatele lor x,y sau prin diferentele succesive ∆x, ∆y. Solutii
ineficiente !
         => Coduri de inlantuire (vectorul care uneste doua puncte
succesive - un simbol dintr-un set finit).

Exemplu: cod de inlantuire cu opt directii.
         Solutie si mai eficienta: cod de inlantuire diferential (punct reprezentat
prin diferenta dintre doua coduri absolute succesive).
         Exemplu: opt valori (0, ±1, ±2, ±3, 4), dar frecvente de aparitie diferite:
la o curba filtrata 0 si ±1 mai frecvente, 4 extrem de rar => cod de lungime
variabila pentru fiecare directie (in medie 2 biti / punct).

                Direcţie                          Cod
                    0                               0
                  +1                               01
                   -1                            011
                  +2                            0111
                   -2                          01111
                  +3                          011111
                   -3                        0111111
                    4                       01111111

Clasa 4: puncte sau poligoane  seturi de puncte discrete la distanta, nu se
pot reprezenta prin coduri de inlantuire. Solutia: tablouri de coordonate x,y
eventual, prin hardware, aceste puncte pot fi unite prin linii drepte sau curbe
simple => poligoane.
        Tipuri de operatii

imagine de intrare a[m,n]  imagine de iesire b[m,n]:

•Operatii punctuale (complexitate/pixel constanta): valoarea de iesire
pentru o anumita coordonata este dependenta numai de valoarea de
intrare din punctul respectiv ;

•Operatii locale (complexitate/pixel p2, unde vecinatatea punctului este
p*p) : valoarea de iesire depinde numai de valorile pixelilor dintr-o
vecinatate a punctului respectiv ;

•Operatii globale (complexitate/pixel N2, unde imaginea intreaga are
dimensiunea N*N) : valoarea de iesire pentru un pixel depinde de valorile
tuturor punctelor din imagine.
        Tipuri de vecinatati


•Vecinatate (esantionare) rectangulara de conectare 4 : utilizeaza o
retea de esantionare rectangulara, iar vecinatatea fiecarui pixel este
reprezentata prin cei patru pixeli vecini din directiile N, S, E, V ;

•Vecinatate (esantionare) rectangulara de conectare 8 : este
asemanatoare solutiei precedente, cu diferenta ca vecinatatea fiecarui
pixel este formata din opt pixeli din imediata apropiere a acestuia ;

•Vecinatate (esantionare) hexagonala de conectare 6 : reteaua de
esantionare este hexagonala iar vecinatatea fiecarui pixel contine cei
sase pixeli adiacenti acestuia.
    FORMATE DE FISIERE PENTRU IMAGINI

         Memorarea imaginilor  doua categorii de tipuri de fisiere :
    -fisiere de tip rastru (colectie de puncte de imagine);
    -fisiere de tip vectorial (colectie de segmente sau vectori).

    GIF (Graphics Interchange Format): la sfarsitul anilor 1980 pentru
transferuri de imagini prin retele.
    -restrictii: limitarea numarului maxim de culori la 256;
    -metoda de compresie a datelor: tehnica LZW (Lempel-Ziv-Welch),
bazat pe un tabel de coduri pentru sabloane (reprezentand blocuri de date).
    -header cu dimensiunile imaginii, rezolutia de culoare, dimensiunea
hartii de culori (colormap);
    -formatul PNG introdus mai recent pentru inlocuirea formatului GIF;
    -GIF si PNG sunt formate fara pierderi, deci o imagine astfel codificata
poate fi refacuta in intregime !
   JPEG utilizeaza standardul de compresie Joint Photographics Experts
Group (grupul infiintat in 1986, standardul emis in 1992, aprobat in 1994 ca
ISO-10918-1).

     Codificarea JPEG a unei imagini:
1) imaginea RGB  imaginea in luminanta/crominanta (YCbCr – Y
componenta de luminanta, Cb si Cr componentele de crominanta, albastru si
rosu), conform standardului JFIF (JPEG File Interchange Format). Pornind de
la o imagine RGB pe 8 biti se pot calcula componentele YCbCr (256 niveluri):

    Y = 0.299 R + 0.587 G + 0.114 B
    Cb = - 0.1687 R - 0.3313 G + 0.498 B + 128
    Cr = 0.498 R - 0.4187 G - 0.0813 B + 128

    Nu toate formatele de imagine memoreaza esantioanele in ordinea R0, G0,
B0, ... Rn, Gn, Bn. Este necesar sa se verifice ordinea esantioanelor inainte de
conversie. Conversia inversa YCbCr (256 niveluri) la RGB :

    R = Y + 1.402 (Cr-128)
    G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)
    B = Y + 1.772 (Cb-128)
    2) Ochiul uman fiind mai sensibil la luminanta (componenta Y)
decat la crominanta (componentele Cb si Cr) => reducerea
rezolutiei spatiale a componentelor Cb si Cr („downsampling” sau
„chroma subsampling”).
    Rapoartele de reducere 4:4:4 (fara reducere), 4:2:2 (reducere
printr-un factor de 2 in directia orizontala din imagine a frecventei de
esantionare pentru Cb si Cr fata de frecventa pentru Y: exemplu Y
esantionat la 10 MHz, iar Cb si Cr la 5 MHZ) si cel mai comun 4:2:0
(reducerea printr-un factor de 2 in directiile orizontala si verticala din
imagine).

    3) O imagine este impartita in blocuri 8x8 sau 16x16.
    4) Se aplica transformata cosinus discreta (DCT-II) pentru fiecare
bloc, indepartand valorile mici. Exemplu pentru un bloc 8x8:
Se trece de la matricea cu valori pozitive de pixeli (0->255) la matricea
avand valori cu semn, centrate in jurul lui 0 (se scade 128 din fiecare
valoare de pixel => plaja de valori –128 ->127):
Se aplica transformarea DCT dupa relatia:




 unde u este frecventa spatiala orizontala, 0≤u<8, v este frecventa
 spatiala verticala, 0≤v<8 si




                                            este functia de normalizare.
Pentru matricea considerata ca exemplu:




Valoarea din pozitia 0,0 este coeficientul componentei continue (DC),
iar ceilalti sunt coeficientii componentelor alternative (AC).
             5) Cuantizarea este operatia care produce cele mai mari
    pierderi de informatie. Se utilizeaza o matrice de cuantizare, cum este:




Coeficientii DCT cuantificati sunt calculati cu formula:
Pentru exemplul considerat se obtine matricea:




Calculul elementului 0,0:
6) Codificarea entropiei este o schema de compresie de date fara pierdere
de informatie, independenta de caracteristicile mediului. Componentele
sunt aranjate intr-o ordine in zig-zag:
Se obtine:
             −26
              −3    0
              −3   −2   −6
               2   −4    1   −4
               1    1    5    1    2
              −1    1   −1    2    0   0
               0    0    0   −1   −1   0   0
               0    0    0    0    0   0   0   0
               0    0    0    0    0   0   0
               0    0    0    0    0   0
               0    0    0    0    0
               0    0    0    0
               0    0    0
               0    0
               0
Pentru codificare se aplica un algoritm Huffman (se utilizeaza un cuvant
special de cod „EOB” pentru incheierea prematura a unei secvente cand
ceilalti coeficienti sunt 0). Secventa devine astfel:


               −26
                −3      0
                −3     −2     −6
                  2    −4      1     −4
                  1     1      5      1      2
                −1      1     −1      2      0      0
                  0     0      0     −1    −1 EOB
    Decodificarea imaginii pentru afisare: parcurgerea acestor operatii in
ordine inversa.

     O imagine refacuta este foarte asemanatoare cu imaginea initiala,
diferentele fiind neglijabile => util pentru reprezentarea scenelor naturale
(fotografii), dar mai putin pretabil pentru imagini stiintifice (pierderea de
informatie poate sa fie inacceptabila).

     JPEG: cel mai utilizat format pentru stocarea si transmiterea
fotografiilor pe World Wide Web (preferat fata de GIF - maxim 256 de
culori sau PNG - fisere mult mai mari, datorita compresiei mai putin
eficiente).

     JPEG nu se preteaza la desene geometrice sau text, in aceste cazuri
fiind preferate formatele GIF si PNG.
   BMP (Microsoft Windows Bitmap), format propriu Microsoft
Windows. Consta dintr-un header, urmat de informatiile de imagine.

    Header-ul are doua parti:

    -header de fisier: BITMAPFILEHEADER (14 octeti);

    -header de informatii: BITMAPINFO (40 de octeti).

          Header-ul de fisier (BITMAPFILEHEADER): informatii despre
tipul, dimensiunea si reprezentarea fisierului (DIB - Device Independent
Bitmap), conform structurii:
   typedef struct tagBITMAPFILEHEADER{
   WORD bfType;
   DWORD bfSize;
   WORD bfReserved1;
   WORD bfReserved2;
   DW bfOffBits;
   }BITMAPFILEHEADER;

   unde:

    -bfType (octetii 0-1): tip fisier, trebuie sa contina semnatura
caracterele “BM” in ASCII sau 42 4D in hexazecimal;
    -bfSize (octetii 2-5): lungime fisier în DWORD;
    -bfReserved1 (octetii 6-7): câmp rezervat, valoare 0;
    -bfReserved2 (octetii 8-9): câmp rezervat, valoare 0;
    -bfOffBits (octetii 10-13): deplasament în octeti de la sfârstul
structurii BITMAPFILEHEADER pâna la zona din fisier ce contine
pixelii codati.
         Header-ul de informatii (BITMAPINFO) dimensiuea si culorile
imaginii; doua componente: antetul structurii de informatii
(BITMAPINFOHEADER) si tabelul de culoare (RGBQUAD).

   typedef struct tagBITMAPINFOHEADER{
   DWORD biSize;
   DWORD biWidth;
   DWORD biHeight;
   WORD biPlanes;
   WORD biBitCount;
   DWORD biCompression;
   DWORD biSizeImage;
   DWORD biXPelsPerMeter;
   DWORD biYPelsPerMeter;
   DWORD biClrUsed;
   DWORD biClrImportant;
   } BITMAPINFOHEADER;
unde:
-biSize (octetii 14-17): dimensiunea header-ului de informatii
(BITMAPINFOHEADER), in octeti (40 de octeti);
-biWidth (octetii 18-21): latimea imaginii, în pixeli;
-biHeight (Octetii 22-25): inaltimea imaginii, în pixeli;
-biPlanes (octetii 26-27): numarul de plane de imagine ale dispozitivului de
afisaj (1);
-biBitCount (octetii 28-29): numarul de biti per pixel; poate fi 1, 4, 8 sau 24;
-biCompression (octetii 30-33): tipul de compresie utilizata: BI_RGB fara
compresie, BI_RLE8 sau BI_RLE4 pentru compresie de tip RLE cu cuvinte de
respectiv 8 sau 4 biti;
-biSizeImage (octetii 34-37): dimensiunea imaginii în octeti;
-biXPelsPerMeter (octetii 38-41): rezolutia pe orizontala a echipamentului (în
pixeli pe metru);
-biYPelsPerMeter (octetii 42-45): rezolutia pe verticala a echipamentului (în
pixeli pe metru);
-biClrUsed (octetii 46-49): numarul de culori utilizate în imagine (octetii 28-29
reprezinta numarul maxim posibil de culori, iar 46-49 numarul current utilizat);
daca acest camp este 0, imaginea foloseste toate culorile disponibile ale
paletei;
-biClrImportant (octetii 50-53): numarul culorilor importante din imagine; daca
acest camp este 0, toate culorile sunt luate în considerare.
     Dupa header urmeaza tabela de culori, utilizata numai daca numarul de biti
per pixel este ≤8, iar numarul total de octeti utilizati in acest caz este
4x(numarul de culori din imagine). Ordonarea octetilor este de tip „little endian”
(primul octet este c.m.p.s.). Structura RGBQUAD descrie o culoare prin
componentele sale de rosu, verde si albastru si un câmp rezervat având
valoarea 0.
     typedef struct tagRGBQUAD{
     BYTE rgbBlue;
     BYTE rgbGreen;
     BYTE rgbRed;
     BYTE rgbReserved;
     }RGBQUAD;
     Fiecare pixel este codificat pe biBitCount biti; daca biBitCount este 1, 4 sau
8, fisierul contine tabela de culori asociata imaginii. Codurile pixelilor se
impacheteaza pe octeti (deci pentru 4 biti per pixel, fiecare octet reprezinta doi
pixeli succesivi). Daca biBitCount este 24, fiecare pixel este reprezentat pe trei
octeti, componentele de rosu, verde si albastru ale culorii pixelului respectiv
(True Color), fara tabela de culori. Codificarea pixelilor se face independent pe
fiecare linie orizontala a imaginii, de la stanga spre dreapta incepand cu ultima
linie, astfel incat sa rezulte un multiplu de 4 octeti, eventual prin completare cu
octeti neutilizati.
    TIFF (Tagged Image File Format) format foarte flexibil. Poate salva mai
multe imagini intr-un fisier. Permite diferite rutine de compresie (LZW, JPEG,
Huffman, RLE sau nici o compresie), ordine „little endian” si „big endian” pentru
octeti, reprezentarea de imagini binare, cu niveluri de gri, RGB sau indexate.
          => software-ul pentru citirea imaginilor TIFF este complex.

    Alte formate:

    HDF (Hierarchical Data Format) utilizat pentru imagini stiintifice;

    PCX utilizat initial pentru software-ul PC Paintbrush sub MS-DOS;

   XWD (X Window Dump) utilizat la memorarea de imagini ecran sub
Xwindow (UNIX);

   ICO pentru afisarea de icoane in sistemul de operare Microsoft Windows,
permitand imagini multiple intr-un fisier;

    CUR format pentru afisarea cursorului mouse-ului in sistemul de operare
Microsoft Windows.
  STRUCTURI DE DATE PENTRU ANALIZA IMAGINILOR

        Imaginile pot fi reprezentate pe mai multe niveluri:

          -imagine iconica („iconic images”) este imaginea initiala obtinuta prin
diferite tehnici, reprezentata printr-o matrice de valori intregi
corespunzatoare pixelilor;

       -imagine segmentata, continand parti ale imaginii initiale, grupate
impreuna, apartinand acelorasi obiecte;

        -reprezentare geometrica continand informatii despre forme 2D sau
3D;

         -model relational care permite prelucrarea datelor la un nivel mai
inalt de abstractizare.

          Pentru reprezentarea imaginilor: diverse structuri de date, cum sunt
matrici, lanturi, grafuri, liste de proprietati ale obiectelor, baze de date, etc.
    Matrici

     Matricile: structurile de date cele mai utilizate pentru reprezentarea
imaginilor la un nivel coborat. Elementele unei matrici = valori intregi
corespunzand nivelurilor de gri sau componentelor de culoare ale pixelilor
din imagine. Aceste valori se obtin direct de la un echipament de achizitie
de imagine (exemplu un scanner).
    Lanturi
    Lanturile („chains”) : pentru descrierea granitelor obiectelor dintr-o imagine.




Pixelul de referinta -> sageata. => cod de inlantuire:
0000776655555500000006444444442221111112234445652211.
Util cand se doreste determinarea unor puncte din imagine in care conturul unui
obiect isi modifica orientarea intr-un anumit fel (de exemplu se intoarce spre
stanga cu 90º), caci este necesar sa se caute in cadrul lantului o pereche
anumita de valori. Pentru gasirea unor informatii locale este deci necesar sa se
parcurga intregul lant. Problemele devin mult mai dificile in cazul in care sunt
necesare informatii globale (de exemplu, forma unui obiect). Lanturile se pot
reprezenta utilizand structuri statice, de exemplu vectori, de lungimea
corespunzatoare lantului cel mai lung, sau o solutie mai buna este reprezentata
de structuri dinamice.
     Codificare „run length”
     Este solutia utilizata la faxuri. Pentru o imagine binara se memoreaza
numai zonele apartinand unor obiecte, sub forma unei liste de subliste.
Fiecare rand din imagine continand informatie utila este descrisa printr-o
sublista, in care primul element este numarul randului (liniei) din imagine,
iar urmatoarele valori sunt perechi de coordonate, corespunzand
inceputului si sfarsitului unui segment continuu (succesiune continua de
pixeli).




Imaginea este codificata prin ((11144)(214)(52355)). Aceasta solutie se
poate utiliza la fel de bine si pentru imagini cu mai multe niveluri de gri
sau culori, prin memorarea suplimentara a nivelului stralucirii pixelilor.
     Structuri de date topologice
     Structurile de date topologice descriu imaginile prin seturi de elemente
si relatiile dintre acestea.
     Grafuri de adiacente ale regiunilor reprezinta o categorie de astfel de
structuri. Exemplu:
      Structuri relationale
      Descriu relatii dintre obiectele imaginii, obtinute in urma segmentarii -> se
utilizeaza pentru analiza imaginilor la nivel inalt. Exemplu:




    Nr.      Obiect          Culoare          Rand min.       Coloana min.      In
     1        cer            albastru            0                 0             -
                             deschis
     2        soare           galben              15               20           1
     3         deal       verde deschis           35               0            -
     4      coroana        verde inchis           10               80           -
     5       trunchi           maro               85               85           3
     6          lac       albastru inchis         82               5            3
    Structuri de date ierarhice

    Vederea cu ajutorul calculatorului („computer vision”)  volum mare de
calcule. Structurile de date ierarhice permit utilizarea de algoritmi care
determina o strategie a procesarii pe baza unui volum mic de date si numai in
portiunea de interes iau in considerare intreaga rezolutie.

     Piramida M sau piramida matriciala („M-pyramid”): secventa {ML, ML-1, ...,
M0} de imagini, unde ML este imaginea initiala, Mi-1 este obtinuta din Mi prin
reducerea rezolutiei la jumatate, etc, iar M0 este imaginea redusa la un singur
pixel. Evident ca este necesar ca imaginea sa fie patrata de dimensiune putere
a lui 2. Solutia este utila atunci cand se doreste sa se prelucreze imaginea
simultan la rezolutii diferite.
     Numarul de pixeli necesari pentru reprezentarea in memorie a unei
piramide M (memorarea tuturor matricilor) este:
      Piramida T („T-pyramid” sau „tree pyramid”) este un arbore in care fiecare
nod are patru fii. Radacina arborelui corespunde cu imaginea initiala, cei patru
fii ai radacinii corespund la patru cadrane egale in care se imparte imaginea,
etc.




Datorita regularitatii structurii adresele nodurilor arborelui se calculeaza usor,
daca se cunoaste adresa de inceput si dimensiunea imaginii.
    Arborele 4D („quadtree”) este o modificare a piramidei T. Fiecare nod,
exceptand frunzele, are patru fii (0-NV, 1-NE, 2-SV si 3-SE) si similar cu
piramida T imaginea este impartita in patru cadrane egale, pe fiecare nivel.
Totusi nu este necesar sa se memoreze toate nodurile de pe un nivel, daca
acestea au aceleasi valori sau aceeasi stralucire.




Reprezentarile ierarhice ale imaginilor prezinta unele probleme, in special
dependenta de pozitiile, orientarile si dimensiunile obiectelor, iar doua imagini
foarte asemanatoare (de exemplu o imagine si copia acesteia foarte putin
deplasata) conduc la reprezentari mult diferite.
              PERCEPTIA UMANA A IMAGINILOR

         Lumina este o forma de radiatie electromagnetica ce poate
fi perceputa de ochiul uman daca este intr-un spectru restrans cu
lungimea de unda cuprinsa intre aproximativ 350-780 nm:
        Se considera E(λ) distributia de energie spectrala a luminii emise de o
sursa de lumina, t(λ) si r(λ) transmisivitatea si reflectivitatea unui obiect (depind
de lungimea de unda). Pentru un obiect transmisiv distributia de energie
spectrala observata este:

             C ( )  t ( ) E( )
iar pentru un obiect reflectiv:

              C ( )  r ( ) E ( )
         Exista trei descriptori (atribute) pentru perceptia luminii: stralucirea,
nuanta (culoarea) si saturatia.
         1) In general, pentru doua surse avand aceeasi distributie spectrala
este perceputa ca fiind mai stralucitoare sursa avand intensitatea (energia) mai
mare. Totusi, stralucirea subiectiva (intensitatea perceputa de sistemul vizual
uman) este o functie logaritmica de intensitatea incidenta a luminii. Chiar daca
plaja de luminozitate este mare, aceasta nu poate fi perceputa simultan ci
numai pe anumite portiuni la un moment dat, in functie de adaptarea ochiului.
Exista o serie de experimente care demonstreaza ca stralucirea perceputa nu
este o simpla functie de intensitatea luminoasa:
a) o imagine avand benzi cu nuante de gri strict uniforme este perceputa ca
avand variatii de nuanta, mai ales in zonele de granita dintre dungile alaturate
(benzile lui Mach, dupa Ernst Mach care a descris fenomenul prima data in
1865);
        b) fenomenul numit contrast simultan indica faptul ca stralucirea
perceputa a unei regiuni nu depinde exclusiv de intensitatea sa. Chiar daca
toate patratele centrale au aceeasi intensitate luminoasa, acestea sunt
percepute diferit (patratele sunt percepute tot mai intunecoase pe masura ce
fondul devine mai luminos).
Alte experimente care ilustreaza perceptia vizuala umana sunt iluziile optice.
Astfel: a) se poate distinge un patrat, chiar daca nu exista linii reprezentand
laturile sale; b) se poate distinge un cerc; c) segmentele orizontale sunt egale,
dar sunt percepute ca fiind inegale; d) chiar daca nu par, liniile oblice sunt
paralele si echidistante.
         2) Un alt atribut care permite distingerea unei lumini rosii de alta verde
este nuanta („hue”). Se cunoaste experimentul prin care se obtine
descompunerea unei surse de lumina in componentele sale utilizand o prisma
de sticla (descompunerea luminii albe in componentele sale, obtinand
curcubeul).
         3) Cel de-al treilea atribut este saturatia, care permite distingerea unei
lumini intense (spectrale) de o alta mai pastelata, avand aceeasi distributie
spectrala.
         Aceste trei caracteristici pot fi reprezentate intr-un singur desen,
indicand perceptia umana a lumnii:
Raspunsul unui observator standard la informatia de culoare se poate
masura printr-un set de trei valori (valori tristimuli), direct proportionale
cu cantitatile de rosu, verde si albastru necesare pentru obtinerea
luminii color. Pentru un sistem arbitrar de coordonate RGB valorile
tristimuli instantanee sunt:




unde RS(λ), GS(λ) si BS(λ) sunt valorile tristimuli spectrale pentru setul de
culori primare rosu, verde si albastru, iar C(x,y,t, λ) reprezinta distributia
de energie spatiala a unei surse de imagine de energie radianta in
punctul de coordonate (x,y) la momentul t si lungime de unda λ.
  Reprezentarea valorilor tristimuli necesare pentru obtinerea unitatii
  de energie in cadrul spectrului:




(valorile negative au semnificatia ca anumite culori primare se aduna cu
valori negative).
         Cele trei valori tristimuli T1, T2 si T3 pot forma axele unui spatiu
de culori. O culoare particulara poate fi reprezentata ca un vector in
acest spatiu, dar este necesar sa se memoreze coordonatele varfului si
nu lungimea vectorului. Prin unirea varfurilor tristimulilor se obtine
triunghiul lui Maxwell. Intersectia unui vector de culoare cu planul
triunghiului furnizeaza o masura a nuantei si saturatiei culorii in termeni
de distanta a punctului fata de varfurile triunghiului.
Uneori luminanta nu este de interes pentru reprezentarea unei culori. In
acest caz nuanta si saturatia de culoare se pot descrie prin coordonate
de cromacitate (valori tristimuli normalizate), definite astfel:




Evident, t3 = 1 – t1 – t2, deci sunt necesare numai doua coordonate
pentru descrierea unei culori.
          In cadrul studiului perceptiei culorilor, unul dintre primele spatii
de culoare definite matematic a fost spatiul CIE 1931 XYZ
(Commission Internationale de l’Éclairage). Ochiul uman dispune de
receptori (celule conice) pentru lungimi de unda scurte (S), medii (M)
si lungi (L). Valorile tristimuli pentru o culoare sunt cantitatile celor trei
culori primare intr-un model color aditiv necesare sa reprezinte
culoarea respectiva. Valorile tristimuli sunt reprezentate in spatiul de
culori CIE 1931, fiind notate X, Y si Z, sunt aproximativ (dar nu identic)
culorile de baza rosu, verde si albastru (sunt derivate din acestea).
Observatorul standard este caracterizat prin trei functii de identificare a
culorii („color matching functions”).
       Functiile de identificare a culorii reprezinta descrierea numerica a
raspunsului cromatic al observatorului x ( ) y ( ) z (  )




:
Valorile tristimuli pentru o culoare cu o distributie de putere spectrala I(λ)
sunt date pentru un observator standard de:

              
        X   I ( ) x( )d
              0

              
        Y   I ( ) y( )d
              0

             
        Z   I ( ) z ( )d
              0


unde λ este lungimea de unda a luminii monocromatice echivalente
(masurata in nm).
Deoarece ochiul uman are trei tipuri de senzori de culoare raspunzand la
diferite lungimi de unda, reprezentarea tuturor culorilor vizibile este un
grafic 3D. Conceptul de culoare se poate imparti in doua componente:
stralucire si cromacitate (exemplu: culoarea gri este tot o culoare alba,
dar cu alta stralucire). Astfel cromacitatea poate fi specificata de numai
doi parametrii derivati, x si y (valori normalizate):
             X
       x
          X Y  Z
             Y
       y
          X Y  Z
             Z
       z
          X Y  Z
si deci z = 1 – x –y.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:32
posted:6/27/2012
language:
pages:61