Azzera filtri
Azzera filtri

rgb2lab color conversion

8 visualizzazioni (ultimi 30 giorni)
Foram Sanghavi
Foram Sanghavi il 31 Ott 2017
Commentato: Image Analyst il 31 Ott 2017
Hi, I am using rgb2lab color space conversion and am receiving values in the range of e+03, are these values correct?
  2 Commenti
Stephen23
Stephen23 il 31 Ott 2017
@Foram Sanghavi: please show us the input values that produce that output.
Foram Sanghavi
Foram Sanghavi il 31 Ott 2017
If RGB values are 253,244,245 the Lab values I am getting is 6.5651e+03, 249.1664 and 58.4119 respectively similarly for RGB 242,205,220 i a getting values 6.0022e+03,1.1819e+03 and -225.2120 respectively.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 31 Ott 2017
Modificato: Stephen23 il 31 Ott 2017
Either convert the input argument to uint8 or divide it by 255 and you will get the correct output. Many MATLAB color/image functions assume that a double input is in the range 0-1, which clearly your data is not.
  2 Commenti
Foram Sanghavi
Foram Sanghavi il 31 Ott 2017
Thank you so much this has helped me a lot. Should I do same while converting back lab2rgb? because I am getting negative values in the RGB plane especially in G plane.
Image Analyst
Image Analyst il 31 Ott 2017
I think this will explain everything. Write back if it doesn't.
rgb = uint8([253,244,245])
lab = rgb2lab(rgb)
rgb = lab2rgb(lab) % Doubles in the range 0-1
rgb = uint8(255 * rgb) % Integers in the range 0-255
You'll see
rgb =
1×3 uint8 row vector
253 244 245
lab =
96.8926628404762 3.17508673704292 0.590818112564628
rgb =
0.992156862745098 0.956862745098039 0.96078431372549
rgb =
1×3 uint8 row vector
253 244 245

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by