RGB空间与LAB空间互换
发布时间:2011-03-23 16:21:57
发布时间:2011-03-23 16:21:57
RGB-----------Lab
(各分量数值范围:R/G/B: 0~255; L: 0~100, a/b:0~255)
RGB---Lab:
X = 0.412453*R + 0.357580*G + 0.180423*B;
Y = 0.212671*R + 0.715160*G + 0.072169*B;
Z = 0.019334*R + 0.119193*G + 0.950227*B;
X = X/(255*0.950456);
Y = Y/255;
Z = Z/(255*1.088754);
如果Y > 0.008856,则 :
fY = Y^(1/3);
fX = X^(1/3);
fZ = Z^(1/3);
L= 116*fY - 16;
如果Y < 0.008856,则 fY = 7.787*Y + 16/116;
fX = 7.787*X + 16/116;
fZ = 7.787*Z + 16/116;
L= 903.3*Y;
a = 500.0*(fX - fY) +128;
b = 200.0*(fY - fZ) +128;
Lab---RGB:
a = a-128;
b = b-128;
fY = ((L + 16) / 116))^3;
如果fY < 0.008856,则fY = L / 903.3;
Y = fY;
如果fY > 0.008856,则fY = fY^(1/3);
如果fY < 0.008856,则fY = 7.787 * fY + 16/116;
fX = a / 500 + fY;
如果fX > 0.206893,则X = fX^(1/3);
如果fX < 0.206893,则X = (fX - 16/116) / 7.787;
fZ = fY - b /200;
如果fZ > 0.206893,则Z = fZ^(1/3);
如果fX < 0.206893,则Z = (fZ - 16/116) / 7.787;
X = X * 0.950456 * 255;
Y = Y *255;
Z = Z * 1.088754 * 255;
R = 3.240479*X - 1.537150*Y - 0.498535*Z ;
G =-0.969256*X + 1.875992*Y + 0.041556*Z;
B = 0.055648*X - 0.204043*Y + 1.057311*Z;