资源简介
基于Matlab的图像RGB和HIS互换,包含RGB转为HSI和HSI转为RGB。
代码片段和文件信息
function rgb_hsi(rgb)
%RGB和HIS互相转换
rgb=im2double(rgb);
%%%%%%RGB转为HSI
fR=rgb(::1);%获取R,G,B三个通道
fG=rgb(::2);
fB=rgb(::3);
[mn]=size(fR);
q=zeros(mn);
I=q;
S=I;
H=S;
for i=1:m
for j=1:n
A= (fR(ij)-fG(ij)+fR(ij)-fB(ij))/2;
B=((fR(ij)-fG(ij))^2+(fR(ij)-fB(ij))*(fG(ij)-fB(ij)))^(1/2);
q(ij)=acos(A/(B+eps));%q代表角度θ,色度分量
q(ij)=(q(ij)*360/(2*pi))/360;%归一化
I(ij)=(fR(ij)+fG(ij)+fB(ij))/3;%亮度分量I
m1=min(fG(ij)fB(ij));
m2=min(m1fR(ij));%m2为fG(ij)fB(ij)fR(ij)的最小值
S(ij)=1-(3*m2/(fR(ij)+fG(ij)+fB(ij)+eps));%饱和度分量S
%计算色度分量
if fG(ij) H(ij)=1-q(ij);
else
H(ij)=q(ij);
end
end
end
HSI=cat(3HSI);%合成HSI
figuresubplot(234)imshow(rgb)title(‘原RGB图像‘);
subplot(231)imshow(H)title(‘H波段图像‘);
subplot(232)imshow(S)title(‘S波段图像‘);
subplot(233)imshow(I)title(‘I波段图像‘);
su
相关资源
- 机器人控制系统设计与MATLAB仿真:基
- 图像清晰度评价指标_Matlab
- MATLAB 画圆柱体
- nc文件的读取作图
- MATLAB JPEG图像压缩
- matlab图像融合程序
- 导线网平差matlab程序
- ID3算法MATLAB实现,机器学习作业
- 基于颜色的matlab代码
- 图像分类模式识别算法源代码
- MATLAB直方图绘制代码
- matlab 一维传热问题
- matlab实现小波变换融合以及信息熵、
- 小波变换matlab
- matlab编写的地震剖面显示程序
- FMCW毫米波雷达测量呼吸心跳算法mat
- kld采样
- 以高斯塞德尔法和牛顿拉夫逊法为思
- 切比雪夫轨道拟合MATLAB代码
- matlab三维点坐标生成点云
- 改进灰色马尔科夫模型估测湖北省用
- 带时间窗的车辆路径规划问题的粒子
- 步长加速法寻优迭代
- Matlab GUI图像图形基础教程
- 人眼检测、疲劳驾驶检测,MATLAB代码
- 小波神经网络MAtlab工具箱
- 可以运行的GA 算法 ,matlab 编写
- CRC32的FPGA并行实现原理及MATLAB仿真
- DWT小波变换MATLAB
- 读取jiason测高卫星nc文件matlab代码
评论
共有 条评论