RGB转为HSI的MATLAB程序 rgb2hsi
2014-09-22 14:53
495 查看
这个程序更清楚一些:
function hsi = rgb2hsi(rgb)
rgb=im2double(rgb);
r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);
%Implement the conversion equations
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;
%combin all three results into an hsi image
hsi = cat(3,H,S,I);
function hsi = rgb2hsi(rgb)
rgb=im2double(rgb);
r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);
%Implement the conversion equations
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;
%combin all three results into an hsi image
hsi = cat(3,H,S,I);
相关文章推荐
- RGB 颜色空间转 HSI 颜色空间的matlab程序实现
- RGB 颜色空间转 HSI 颜色空间的matlab程序实现
- 【Matlab图像处理】学习笔记:读取16进制RGB文档转为彩色图片
- matlab练习程序(RGB2HSV、HSV2RGB)
- RGB与HSI颜色空间互换函数(matlab)
- psnr rgb matlab程序
- 利用Matlab将RGB图像转换到HSI空间
- matlab练习程序(RGB2HSL、HSL2RGB)
- matlab实现RGB与HSV(HSB)、HSL和HSI的色彩空间互转
- matlab RGB到HSI的彩色转换及实现
- matlab练习程序(RGB2CMY、CMY2RGB)
- Matlab中RGB和HSI的相互转换
- matlab下 hsi转rgb代码
- 【Matlab学习笔记】1.RGB空间转HSI空间
- matlab RGB到HSI的彩色转换及实现
- Matlab中RGB和HSI的相互转换
- MATLAB自定义函数:RGB与HSI颜色空间互换
- matlab练习程序(RGB2YUV、YUV2RGB)
- rgb图像镜像(水平)MATLAB程序
- matlab把rgb转为颜色名