www.pudn.com > color_model_change_matlab.rar > z2.m
clear;
A=imread('Water lilies','JPEG');
subplot(1,2,1);
subimage(A);
title('变化前的图');
A=im2double(A);%将A转换成double型
A=A/256;
R=A(:,:,1);
G=A(:,:,2);
B=A(:,:,3);
I=(R+G+B)/3;
S=1-min(R,min(G,B))./I;
H=zeros(size(S));%为H分配空间
t=find(S==0.0);%当S为时,H=0.0
H(t)=0.0;
t=find(S~=0.0);
H(t)=((R(t)-G(t))+(R(t)-B(t)))/2.0;
H(t)=H(t)./sqrt((R(t)-G(t)).^2+(R(t)-B(t)).*(G(t)-B(t)));
H(t)=acos(H(t));
t=find(B>G);
H(t)=2*pi-H(t);%转换成HSI
H=H+40/180*pi;%色调加40度
t=find(H>2*pi);
H(t)=H(t)-2*pi;
find(0<=H&H<=2*pi/3);
B(t)=I(t).*(1-S(t));
R(t)=I(t).*(1+S(t).*cos(H(t))./cos(pi/3-H(t)));
G(t)=3*I(t)-(B(t)+R(t));
t=find(2*pi/3