RGB空间与HSL空间转换matlab代码


关于RGB与HSL空间之间转换的原理,在网上很多,也很详细,这里就不做介绍了。

直接给出MATLAB代码。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% RGB空间转换到HSL空间

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [H,S,L,hsl]=rgb2hsl(img)


rgb=im2double(img);


r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);


[m,n]=size(r);


%%  求 L  %%
maxcolor=max(max(r,g),b);
mincolor=min(min(r,g),b);
L=(maxcolor+mincolor)/2;


H=zeros(m,n);
S=zeros(m,n);


%%  求 S  %%
for i=1:m
    for j=1:n
        if maxcolor(i,j)==mincolor(i,j)
            S(i,j)=0;
        else
            if L(i,j)<=0.5
     

你可能感兴趣的:(matlab,图像处理)