• 大小: 604B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签:

资源简介

彩色空间的转换,非常有参考价值,适合彩色图像处理的初学者

资源截图

代码片段和文件信息

function  lab=rgb2lab(rgb)
% RGB2LAB converts an RGB image to LAB.
%
%Extract the individual component images
rgb=im2double(rgb);
r=rgb(::1);
g=rgb(::2);
b=rgb(::3);
%Implement the conversions equations
X=0.4124.*r+0.3575.*g+0.1804.*b;
Y=0.2128.*r+0.7152.*g+0.0722.*b;
Z=0.0193.*r+0.1192.*g+0.9502.*b;
X0=(0.4124+0.3575+0.1804).*255;
Y0=(0.2128+0.7152+0.0722).*255;
Z0=(0.0193+0.1192+.09502).*255;
q=X./X0;

%f(q>0.008856)=nthroot(q 3);
%错误:q是个矩阵,不能直接求立方根。
[mnp]=size(rgb);
for i=1:m
    for j=1:n
        f(q(ij)>0.008856)=nthroot(q(ij)3);
        f=7.787.*q(ij)+16./116;
        L(ij)=116.*f-16;
    end
end



q1=Y./Y0;
for i=1:m
    for j=1:n
        q1(ij)
        f1(q1(ij)>0.008856)=nthroot(q1(ij)3);
        f1=7.787.*q1(ij)+16./116;
        a(ij)=500.*(f-f1);
    end
end


q2=Z./Z0;
for i=1:m
    for j=1:n
        q2(ij)
        f2(q(ij)>0.008856)=nthroot(q2(ij)3);
        f2=7.787.*q2(ij)+16./116;
        b(ij)=200.*(f1-f2);
    end
end


lab=cat(3Lab);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1067  2008-12-22 13:47  rgb2lab.m

----------- ---------  ---------- -----  ----

                 1067                    1


评论

共有 条评论

相关资源