Descrierea de procesare a imaginii set de instrumente

Lucrul cu culoare

Determinarea adâncimii culorii

Cele mai multe calculatoare utilizează maparea de 8, 16 sau 24 de biți per pixel. Aceasta determină adâncimea imaginii afișate.

Indiferent de modul în care sistemul de mult ecran color, MATLAB poate stoca și imagini de proces cu un număr diferit de biți per pixel: 224 culori RGB-imagine în format uint8 248 culori RGB-imagine în format uint16 și 2159 culori în format RGB imagine dublă precizie. Acestea sunt cele mai bune a imaginii afișate într-un sistem cu o culoare de 24 de biți, deși surse imagistice nu poate oferi întotdeauna o adâncime de culoare. În cele mai multe cazuri, acestea oferă o reprezentare de culoare de 16 biți.

În continuare, vor fi luate în considerare

  • Descriere culoare sistem de determinare adâncimii
  • Descrierea alegerea de adâncime de culoare

Descriere adâncime de culoare

Pentru a determina adâncimea de culoare, care poate afișa sistemul, folosiți următorul cod.

MATLAB returnează numărul de biți per pixel:

Reprezentarea 8-biți afișează 256 culori. 8-biți imagine în tonuri de gri fac parte din reprezentarea 24-biți de informații grafice.

Reprezentarea 16 biți utilizează, în general, 5 biți pentru fiecare componentă de culoare, care este de 32 de gradații (adică, 2 5) pentru componentele roșu, verde și albastru. Ca urmare, o astfel de reprezentare susține 32.768 (adică, 2 15) culori diferite. Unele sisteme folosesc biți suplimentari pentru a crește numărul de afișaj color gradație. În acest caz, numărul de culori diferite în reprezentare de 16 biți este 64.536 (adică, 2 16).

imagistica 24 de biți utilizează 8 biți pentru fiecare dintre cele trei componente de culoare, și anume 256 (2) 8 gradații pe componenta roșie, verde și albastru. Rezultatul este 16777216 (adică, 2 24) culori diferite.

imagistica 32 de biți utilizează 24 biți pentru stocarea informațiilor de culoare și o altă memorie de 8 biți este utilizat pentru saturarea (transparență) date. Aceasta se numește un canal alfa.

Descrierea alegerea de adâncime de culoare

În funcție de sistemul utilizat, este posibil să se stabilească valori diferite ale numărului de biți per pixel. (Acest lucru poate fi, de asemenea, asociat cu o rezoluție de obiecte grafice. În cele mai multe cazuri, o reprezentare de 24 de biți oferă o bună vizualizare. În cazul în care este necesar să se utilizeze un număr minim de biți per pixel, este posibil să se utilizeze o reprezentare de 16 biți. La procesarea imaginilor semitonuri, în cele mai multe cazuri, suficiente 8 biți per pixel.

Reducerea numărului de culori din imagine

În acest moment, metoda descrisă pentru a reduce numărul de culori într-un index sau imagini RGB. Luați în considerare, de asemenea, o metodă de culori de difuzie dithering (dithering). Această metodă folosește o creștere vizuală a numărului de culori din imagine.

La parter este o scurtă descriere a funcției de reducere a culorilor din imagine în aplicația Image Processing Toolbox.

Se creează o nouă paletă de imagini din paleta sursă, limitând numărul de culori utilizate.

Construiește imagini paletă de full color imagini RGB.

În sistemele cu un ecran imagine color 24-bit RGB pot fi afișate 16777216 (adică, 2) 24 culori. În sistemele cu mai puține culori de afișare RGB din imagine vor fi afișate și bine, deoarece MATLAB utilizează automat aproximare culoare și culori de difuzie Cuantizare.

imagini Index ar putea avea o problemă cu un număr mare de culori. În general, limitat la 256 de culori. Acest lucru se datorează, din următoarele motive:

  • În sistemele cu ecran de 8 biți la redarea imaginilor index care au mai mult de 256 de culori, metoda de culori de difuzie dithering (dithering), ca nu toate culorile pot fi reprezentate de către sistem.
  • În unele sisteme, paleta poate avea, în principiu, nu mai mult de 256 de produse.
  • Dacă imaginea indexată conține mai mult de 256 de culori, MATLAB stochează datele de imagine în matrice nu este un format uint8 și dublu-precizie. Acest lucru crește volumul de date stocate, deoarece fiecare pixel este de 64 de biți.
  • Fișierele de imagine sunt mari, este de dorit să se înregistreze într-un format care este utilizat atunci când redarea 256 de culori. La înregistrarea (utilizând funcția imwrite), în același format de imagine au mai mult de 256 de culori, apoi în continuare supuse unor erori în timpul de redare.

Reducerea numărului de culori pe imaginea de index

Funcția rgb2ind convertește RGB-imagine în imaginea de index, reducând numărul de culori afișabil. În cazul în care funcția de procesare a imaginii originale utilizează următoarele metode de aproximare culoare:

  • cuantizare
    • cuantizare uniformă
    • Cuantizare cu cea mai mică variație
  • paleta de display

Calitatea imaginii rezultate depinde de metoda de aproximare, gama culorilor originale ale imaginii și metoda de utilizare a culorilor prin difuzie cuantizare (dithering). Rețineți că rezultatul metodelor este, de asemenea, foarte dependentă de imaginea specifică.

Rezultatele într-o scădere de cuantificare a numărului de culori din imagine. Funcția rgb2ind folosește cuantizare ca parte a algoritmului de reducere a culorilor. Funcția rgb2ind acceptă două metode de cuantificare: cuantizare uniformă și cuantizare cu cea mai mică variație.

Luând în considerare această întrebare se aplică conceptul de culoare RGB cub. RGB de culoare cub reprezintă o matrice tridimensională de culori, care sunt definite pentru tipul de date. Deoarece imaginea în MATLAB pot fi prezentate în diverse formate (uint8, uint16 sau duble), atunci acesta va afecta culorile de eșantionare din cubul RGB.

cuantizare uniformă. Pentru a efectua funcția de cuantizare uniformă utilizat rgb2ind cu parametrii adecvați.

In partea de jos este un exemplu cuantizare uniform. Al doilea argument afectează cuantizarea discret.

În imaginea prezentată la cuantizarea uniformă a imaginii a reprezentat o uint8. Pentru comoditatea cubului felie de imagine în cazul în care se arată dimensională de culoare roșie de culoare este 0, iar gama de verde și albastru este [0, 255].

Cuantizare cu cea mai mică variație. Pentru a pune în aplicare cuantizarea cu cea mai mică variație este utilizată funcția rgb2ind care indică numărul maxim de culori din imaginea rezultată. Acest număr determină numărul de celule prin care să împartă cub de culoare RGB. Luați în considerare exemplul unei metode de cuantificare pentru crearea unei imagini index cu 185 de culori.

Baza metodei de cuantizare cu cea mai mică variație este necesară asocierea de pixeli în grupuri pe baza unor abateri între valorile lor. Ie pixel selectat trebuie să aibă o deviație totală mai mică de toți pixelii grupului.

Reducerea numărului de culori pe imaginea de index

Pentru a reduce numărul de culori din imagine este, de asemenea, funcția de imapprox second-hand. Funcția imapprox utilizează unele metode de aproximare. De fapt, funcția imapprox mai întâi folosind ind2rgb funcție convertește imaginile în format RGB, iar apoi folosește funcția rgb2ind pentru conversia imaginii index cu numărul schimbat de culori.

Exemplu.
Luați în considerare exemplul imaginii de formare care conțin 16 și 128 de culori cu ajutorul funcțiilor rgb2ind și imapprox respectiv.

Descrierea de procesare a imaginii set de instrumente

Imagine cu 128 culori

Descrierea de procesare a imaginii set de instrumente

Imagine cu 16 culori

Calitatea imaginii procesate, care depinde de metoda de aproximare este utilizată, numărul de culori din imaginea originală sau nu metoda de culori de difuzie dithering (dithering). Rețineți că diferite metode produc rezultate diferite pentru diferite imagini.

Netezirea tranziții de culoare

Metoda de culoare difuzie dithering (dithering)

Atunci când se utilizează imapprox rgb2ind sau funcții pentru a reduce numărul de culori din imagine, calitatea imaginii rezultată este ușor mai scăzut. Acest lucru se datorează unei scăderi a numărului de culori în care imaginea este afișată. Ambele funcții - rgb2ind și imapprox - folosesc metoda culorilor de difuzie dithering (dithering). Acest lucru duce la o creștere vizuală a numărului de culori afișabil. Metoda de dithering își schimbă culoarea de cartier pixeli, astfel încât vecinătatea medie de culoare aproximează originale RGB-culoare.

Să considerăm exemplul metodei culorilor de difuzie cuantizare (dithering).

  1. Citirea și redarea imaginii originale.

Descrierea de procesare a imaginii set de instrumente

  • Crearea unei imagini index cu opt culori fără utilizarea florilor metoda de difuzie cuantizare (dithering).

    Descrierea de procesare a imaginii set de instrumente

  • Crearea unei imagini index cu opt culori, folosind metoda culorilor de difuzie dithering (dithering).

    [X_dither, harta] = rgb2ind (rgb, 8, 'cuantizare'); figura, imshow (X_dither, harta);

    Descrierea de procesare a imaginii set de instrumente

    Rețineți că metoda de procesare a imaginii de cuantizare de culoare de difuzie (cuantizare) conduce la o creștere a culorilor de afișare vizuală. Cu toate acestea, există un risc de contururi false.

    Executare de conversie spațiu de culoare

    Conversia datelor de culoare între spațiile de culoare

    Cel mai adesea în Image Processing Toolbox pentru descrierea imaginilor digitale, utilizând sistemul de culoare RGB. În acest caz, coloanele paleta reprezintă intensități ale componentelor roșu, verde și albastru. imagini paleta poate fi de orice adâncime de culoare, cu toate imaginile paleta mai răspândite, adâncimea de culoare, care este, respectiv, 4 și 8 biți per pixel.

    Există două abordări pentru a afișa culorile spațiul de culoare mai mare în cea mai mică. Una dintre ele este faptul că culorile care sunt în afara câmpurilor de culoare sunt convertite în cel mai aproape în tonul de culoare în câmpul de culoare. Această abordare se numește cut-off (Clipping). A doua metodă - o metodă de comprimare (compresie). Acesta se află în faptul că fiecare culoare la intrare dacă aceasta se încadrează în domeniul dispozitivului de ieșire de culoare sau nu, este setat la o altă culoare din gama de culori a dispozitivului de ieșire (desigur, nu aleatoare). Metodele existente pentru conversia spațiilor de culoare diferă unul de altul prin trei caracteristici principale: compresie gama de culori, de compresie tonală (reducerea intervalului dinamic al dispozitivului de intrare la livrare) și punctul alb de afișare.

    Conversia între dependente de dispozitiv spațiile de culoare

    Luați în considerare două spații de culoare RGB și CMYK. Orice culoare in spatiul RGB format ca suma diferitelor cantități de componente roșu, verde și albastru. Când valorile tuturor componentelor sunt egale cu zero, apoi format negru. În cazul în care toate componentele iau valoarea maximă posibilă, în timp ce culoarea albă se formează. Cu toate acestea, termenul „alb“ este aproximativă. Faptul că RGB-componente oferă doar o aproximare bună, dar o culoare albă reală poate fi obținută numai prin adăugarea tuturor componentelor sale spectrale, nu doar R, G și B. În spațiul de culoare alb-CMYK este realizată prin reducerea la zero toate componentele sale, și cyan (C, albastru), magenta (M, magenta) și galben (Y, galben) sunt utilizate în aceasta pentru a crea alte culori. Un dezavantaj al acestui spațiu de culoare este faptul că dispozitivele care sunt utilizate, nu poate afișa o culori strălucitoare și vii.

    spațiile de culoare RGB și CMYK sunt dependente de dispozitiv, deoarece culoarea în ele este legat de un anumit dispozitiv pentru care sunt specificate aceste valori. „Dispozitiv“ poate fi o imprimantă, scaner, monitor, și așa mai departe. Într-adevăr, fiecare imprimantă, scaner, monitor, sau una și aceeași imagine va afișa culorile sale, deși valorile RGB pentru a le servește la fel.

    În cazul general, coordonatele de culoare pot fi descrise pentru un anumit set de culori primare sau coordonate tricromatice și nivelul de luminanță. Culoarea poate fi descrisă de o funcție neliniară a culorii liniare sau coordonate și coordonatele luminanței sau tricromatice. transformări liniare ale culorii de coordonate reprezintă o tranziție la un nou set de culori. Sisteme de coordonate de culoare existente pot descrie cantitativ formula culorii și conversia acestora.

    Tabelul listează dependente de dispozitiv spațiile de culoare sunt suportate de procesarea aplicației sistem de imagistică Matlab.

    Exemplu: Prezentarea imaginilor în diferite spații de culoare,

    Noi credem în format imagine RGB în spațiul de lucru MATLAB și conversia datelor de culoare în spațiul de culoare XYZ:

    1. Citirea datelor de intrare.

    Descrierea de procesare a imaginii set de instrumente

  • Crearea unei structuri de conversie a culorilor. În această structură, definită de conversie între două spații de culoare. Pentru formarea acestei structuri este utilizată funcția makecform.

  • În acest exemplu, o structură de conversie RGB date de culoare în XYZ.
  • Efectuarea transformări. Pentru a efectua funcția de transformare se utilizează applycform, care folosește ca argument datele originale și structura de conversie a culorilor. Rezultatul funcțiilor applycform sunt transformate de date.

    Descrierea de procesare a imaginii set de instrumente

    Datele de codificare, care sunt în diferite spații de culoare

    Când se face conversia între spațiile de culoare dependente de dispozitiv, tipurile de date pot varia în funcție de tipul de codificare menține un spațiu de culoare special. În exemplul anterior, datele de imagine au fost prezentate în format uint8. XYZ convertește datele într-un format de uint16. Tabelul listează tipurile de date care pot fi utilizate pentru a reprezenta valorile tuturor dependente de dispozitiv spațiile de culoare.