📄 rgb2hsiqiuti.m
字号:
function hsi=rgb2hsiqiuti(rgb)
rgb=double(rgb);
R=rgb(:,:,1);
G=rgb(:,:,2);
B=rgb(:,:,3);
I=ones(size(rgb,1),size(rgb,2));
H=ones(size(rgb,1),size(rgb,2));
S=ones(size(rgb,1),size(rgb,2));
D=max(max(R,G),B);
d=min(min(R,G),B);
sub=D-d;
r=(D-R)./sub;
g=(D-G)./sub;
b=(D-B)./sub;
I=(1/2)*(D+d);
idx=find(D==d);
S(idx)=0;
idx=find((I<=0.5)&((D>d)|(D<d)) );
S(idx)=sub(idx)./(D(idx)+d(idx));
idx=find((I>0.5)&((D>d)|(D<d)) );
S(idx)=sub(idx)./(2-(D(idx)+d(idx)));
idx=find(S==0);
H(idx)=0;
idx=find((R==D)&((S>0)|(S<0)));
H(idx)=60*(2+b(idx)-g(idx));
idx=find((G==D)&((S>0)|(S<0)));
H(idx)=60*(4+r(idx)-b(idx));
idx=find((B==D)&((S>0)|(S<0)));
H(idx)=60*(6+g(idx)-r(idx));
hsi=cat(3,H,S,I);
% rgb=double(rgb);
% R=rgb(:,:,1);
% G=rgb(:,:,2);
% B=rgb(:,:,3);
%
% I=ones(size(rgb,1),size(rgb,2));
% H=ones(size(rgb,1),size(rgb,2));
% S=ones(size(rgb,1),size(rgb,2));
%
% D=max(max(R,G),B);
% d=min(min(R,G),B);
%
% I=(1/2)*(D+d);
%
% S=(D-d)./(2-D+d);
%
% idx=find(S==0);
% H(idx)=0;
% idx=find((R==D)&((S>0)|(S<0)));
% H(idx)=60*(2+b(idx)-g(idx));
% idx=find((G==D)&((S>0)|(S<0)));
% H(idx)=60*(4+r(idx)-b(idx));
% idx=find((B==D)&((S>0)|(S<0)));
% H(idx)=60*(2+g(idx)-r(idx));
%
% hsi=cat(3,H,S,I);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -