[转载]Matlab如何将RGB图转换为HSI图
(2015-04-17 13:30:26)
标签:
转载 |
分类: MATLAB |
颜色空间变换
原文地址:Matlab如何将RGB图转换为HSI图作者:debug
function hsi=rgb2hsi(rgb)
%提取单通道分量
rgb=im2double(rgb);
r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);
%实现转换
num=0.5*((r-g)+(r-b));
den=sqrt((r-g).^2+(r-b).*(g-b));
theta=acos(num./(den+eps));
H=theta;
H(b>g)=2*pi-H(b>g);
H=H/(2*pi);
num=min(min(r,g),b);
den=r+g+b;
den(den==0)=eps;
S=1-3.*num./den;
H(S==0)=0;
I=(r+g+b)/3;
%将H、S、I组合
hsi=cat(3,H,S,I);

加载中…