⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rgb2hsiqiuti.m

📁 这是图像融合中空间转换的MATLAB代码
💻 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 + -