MATLAB Answers

xiao
0

can lab color space normalize?

Asked by xiao
on 1 May 2018
Latest activity Commented on by xiao
on 1 May 2018
as we all know, the range of lab color space is (0.100) (L), (-127,128) (A,B). so can I normalize them into (0,1) or any other range? and does it have any influence?

  0 Comments

Sign in to comment.

1 Answer

Guillaume
Answer by Guillaume
on 1 May 2018
Edited by Guillaume
on 1 May 2018
 Accepted Answer

as we all know, the range of lab color space is ...
Not really, this is a convention but like all colour encoding you can use whatever range you wish as long as you define what that range is. The (-128, 127) range was chosen because that's the range of signed 8 bit integers.
While you can use whatever range you wish for your own processing, those matlab functions that expect L*a*b* values expect them to be in the conventional range (0,100) for L* and (-128, 127) for the others. These functions will not work properly if you use a different convention.

  3 Comments

xiao
on 1 May 2018
thank you. so if I normalize L(0,100) to (0,1) and A(-127,128) to (0,1), B (-127,128) to (0,1), is it ok. and it is still under the lab space even we normalize it ?
Guillaume
on 1 May 2018
As I said, you can use whatever range you want as long as you document it. In my opinion, (-1, 1) would make more sense for a* and b*.
Whether your represent maximum luminance as 100 or as 1, it is still maximum luminance. Whether pure red is -127 (on (-128,127)), 0 on (0,1) or -1 on (-1,1) it is still pure red. pure grey is either 0, 0.5, 0 respectively on these scales.
However, if you use functions that expect Lab values they most likely won't work with your custom range.
P.S.: standard range for a and b is (-128,127) not (-127, 128)
xiao
on 1 May 2018
thank you !

Sign in to comment.