📄 rgb2lab.m
字号:
function LAB = rgb2LAB(RGB)
RGB = im2double(RGB);
R = RGB(:,:,1); G = RGB(:,:,2); B = RGB(:,:,3);
[H,W] = size(R);
r = reshape(R,1,W*H); g = reshape(G,1,W*H); b = reshape(B,1,W*H);
rgb=[r;g;b];
AXYZ = [0.4124 0.3576 0.1805; 0.2126 0.7152 0.0722; 0.0193 0.1192 0.9505];
XYZ = AXYZ*rgb;
X = XYZ(1,:); Y = XYZ(2,:); Z = XYZ(3,:);
lab0 = AXYZ*ones(3,1);
X0 = lab0(1); Y0 = lab0(2); Z0 = lab0(3);
l = 25*((100*Y/Y0).^(1/3))-16;
a = 500*[(X/X0).^(1/3)-(Y/Y0).^(1/3)];
b = 200*[(Y/Y0).^(1/3)-(Z/Z0).^(1/3)];
L = reshape(l,H,W)*0.01;
A = reshape(a,H,W)*0.01;
B = reshape(b,H,W)*0.01;
LAB = cat(3, L, A, B);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -