資源描述:
《HSL空間轉(zhuǎn)換到RGB空間matlab》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、HSL空間轉(zhuǎn)換到RGB空間:function[rgb]=hsl2rgb(file_name)%a=imread(uigetfile('*.jpg','打開(kāi)圖像'));%a=imread('lenargb.jpg');%hsl=rgb2hsl(a);hsl=file_name;H=hsl(:,:,1);S=hsl(:,:,2);L=hsl(:,:,3);[m,n]=size(H);R=zeros(m,n);G=zeros(m,n);B=zeros(m,n);%求Rfori=1:mforj=1:nifS(i,j)==0R(i,j)
2、=L(i,j);elseifL(i,j)<0.5temp2=L(i,j)*(1.0+S(i,j));elsetemp2=L(i,j)+S(i,j)-L(i,j)*S(i,j);endendtemp1=2*L(i,j)-temp2;h=H(i,j)/360;temp3=h+1/3;iftemp3<0temp3=temp+1;endiftemp3>1temp3=temp3-1;endif6*temp3<1R(i,j)=temp1+(temp2-temp1)*6*temp3;elseif2*temp3<1R(i,j)=temp2;e
3、lseif3*temp3<2R(i,j)=temp1+(temp2-temp1)*(2/3-temp3)*6;elseR(i,j)=temp1;endendendendend%求Gfori=1:mforj=1:nifS(i,j)==0G(i,j)=L(i,j);elseifL(i,j)<0.5temp2=L(i,j)*(1.0+S(i,j));elsetemp2=L(i,j)+S(i,j)-L(i,j)*S(i,j);endendtemp1=2*L(i,j)-temp2;h=H(i,j)/360;temp3=h;iftemp3
4、<0temp3=temp+1;endiftemp3>1temp3=temp3-1;endif6*temp3<1G(i,j)=temp1+(temp2-temp1)*6*temp3;elseif2*temp3<1G(i,j)=temp2;elseif3*temp3<2G(i,j)=temp1+(temp2-temp1)*(2/3-temp3)*6;elseG(i,j)=temp1;endendendendend%求Bfori=1:mforj=1:nifS(i,j)==0B(i,j)=L(i,j);elseifL(i,j)<0.5
5、temp2=L(i,j)*(1.0+S(i,j));elsetemp2=L(i,j)+S(i,j)-L(i,j)*S(i,j);endendtemp1=2*L(i,j)-temp2;h=H(i,j)/360;temp3=h-1/3;iftemp3<0temp3=temp3+1;endiftemp3>1temp3=temp3-1;endif6*temp3<1B(i,j)=temp1+(temp2-temp1)*6*temp3;elseif2*temp3<1B(i,j)=temp2;elseif3*temp3<2B(i,j)=te
6、mp1+(temp2-temp1)*(2/3-temp3)*6;elseB(i,j)=temp1;endendendendendrgb=cat(3,R,G,B);