Borrar filtros
Borrar filtros

rgb2lab color conversion

8 visualizaciones (últimos 30 días)
Foram Sanghavi
Foram Sanghavi el 31 de Oct. de 2017
Comentada: Image Analyst el 31 de Oct. de 2017
Hi, I am using rgb2lab color space conversion and am receiving values in the range of e+03, are these values correct?
  2 comentarios
Stephen23
Stephen23 el 31 de Oct. de 2017
@Foram Sanghavi: please show us the input values that produce that output.
Foram Sanghavi
Foram Sanghavi el 31 de Oct. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 31 de Oct. de 2017
Editada: Stephen23 el 31 de Oct. de 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 comentarios
Foram Sanghavi
Foram Sanghavi el 31 de Oct. de 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 el 31 de Oct. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by