Documente Academic
Documente Profesional
Documente Cultură
Scop: implementarea unei metode de transformare a componentelor de culoare ale unei imagini
color din modelul RGB24 (Red Green Blue) in modelul HSI (Hue Saturation Intensity), model
invariant la variatii de luminozitate; calculul si afișarea histogramelor de culoare ale componentelor
H, S si V.
Value:
V = M;
Saturation:
If (C)
S = C / V;
Else // grayscale
S = 0;
Hue:
If (C) {
if (M == r) H = 60 * (g - b) / C;
if (M == g) H = 120 + 60 * (b - r) / C;
1
Universitatea Tehnică din Cluj-Napoca, Departamentul de Calculatoare
if (M == b) H = 240 + 60 * (r - g) / C;
}
Else // grayscale
H = 0;
If (H < 0)
H = H + 360;
Valorile pt. H, S si V calculate cu formulele de mai sus vor avea următoarele domenii de valori:
H = 0 .. 360
S = 0 .. 1
V = 0 .. 1
Aceste valori se normalizează (scalează) în intervalul 0 .. 255 pt. a reprezenta fiecare componenta
de culoare ca și o imagine cu 8 biți/pixel (de tip CV_8UC1):
H_norm = H*255/360
S_norm = S*255
V_norm=V*255
1. Se va realiza transformarea din modelul de culoare RGB in HSV folosind functia predefinita din
OpenCV cvtColor. Exemplul de utilizare al acestei functii este dat in exemplul testBGR2HSV().
2. Se va modifica acest exemplu (intr-o functie de procesare noua) astfel incat, pe langa afisarea
componentelor H, S si V sa se realizeze urmatoarele:
- Sa se calulesze histogramele componentelor de culoare normalizate (0 .. 255) ale H, S, V
- Sa se afiseze aceste histograme. Pt. afisare exista functia predefinita (Functions.cpp)
showHistogram (nume_fereastra, hist, hist_cols, hist_height, true)
unde:
hist - vector de tip int in care se calculeaza valorile histogramei
hist_cols – lungimea vectorului histograma (256)
hist_height – inaltimea ferestrei in care se afiseaza histograma
2
Interactiune Om-Calculator – Laborator 2: Segmentarea imaginilor color (1)
3. Se va implementa propria functie de conversie din RGB in HSV. Functia va avea ca parametru de
intrare o imagine de tip 24 biti/pixel iar la iesire 3 imagini cu 8 biti/pixel corespunzatoare
componentelor H, S, V.
4. Se va adauga o functie de procesare noua care va integra functionalitatile de la pct 2 dar care va
apela functia proprie pt. conversia RGB la HSV. Se va evalua corectitudinea implementarii acestei
prin comparatie cu rezultatele obtinute la pct. 2.
Bibliografie