RGB与HSI模型转换Matlab程序.doc

RGB与HSI模型转换Matlab程序.doc

ID:58606513

大小:16.01 KB

页数:3页

时间:2020-10-22

RGB与HSI模型转换Matlab程序.doc_第1页
RGB与HSI模型转换Matlab程序.doc_第2页
RGB与HSI模型转换Matlab程序.doc_第3页
资源描述:

《RGB与HSI模型转换Matlab程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字图像处理:RGB与HSI模型转换Matlab程序im1=imread('Fig6.30(01).jpg');im3=im1;im1=im2double(im1);[m,n,q]=size(im1);%获取图像的RGB3个通道R=im1(:,:,1);G=im1(:,:,2);B=im1(:,:,3);%改变通道来观察图像figure,subplot(1,3,1),imshow(cat(3,R*0.5,G,B)),title('R通道减半');set(gcf,'outerposition',get(0,'screens

2、ize'));set(gcf,'NumberTitle','off','Name','改变通道来观察图像');subplot(1,3,2),imshow(cat(3,R,G*2,B)),title('G通道翻倍');subplot(1,3,3),imshow(cat(3,R,G,zeros(m,n))),title('B通道为0');%观察HSI通道图像%因系统没有rgb2hsi函数,只有rgb2hsv函数,所以自己编写程序实现H=zeros(m,n);S=H;fori1=1:m   fori2=1:n       nu

3、merator=0.5*(R(i1,i2)-G(i1,i2)+R(i1,i2)-B(i1,i2));       denominator=sqrt((R(i1,i2)-G(i1,i2))^2+(R(i1,i2)-B(i1,i2))*(G(i1,i2)-B(i1,i2)));       theta=acos(numerator/denominator)*180/pi;       if(B(i1,i2)<=G(i1,i2))           H(i1,i2)=theta;       else           H

4、(i1,i2)=360-theta;       end       min1=min(R(i1,i2),G(i1,i2));       min1=min(B(i1,i2),min1);       S(i1,i2)=1-3/(R(i1,i2)+G(i1,i2)+B(i1,i2))*min1;   endendI=(R+G+B)/3;figure,subplot(1,3,1),imshow(H,[]),title('色度图H');set(gcf,'outerposition',get(0,'screensize'));

5、set(gcf,'NumberTitle','off','Name','HSI通道图像');subplot(1,3,2),imshow(S),title('饱和度图S');subplot(1,3,3),imshow(I),title('强度图I');%从HSI转换回RGB模型并观察图像,系统也不自带hsi2rgb,仅自带hsv2rgbim2=zeros(m,n,3);fori1=1:m   fori2=1:n       value1=I(i1,i2)*(1+S(i1,i2)*cos(H(i1,i2))/cos(pi/3

6、-H(i1,i2)/180*pi));       value2=I(i1,i2)*(1-S(i1,i2));       switch(floor(H(i1,i2)/120))           case0               im2(i1,i2,1)=value1;               im2(i1,i2,2)=3*I(i1,i2)-R(i1,i2)-B(i1,i2);               im2(i1,i2,3)=value2;           case1               

7、H(i1,i2)=H(i1,i2)-120;               im2(i1,i2,1)=value2;               im2(i1,i2,2)=value1;               im2(i1,i2,3)=3*I(i1,i2)-R(i1,i2)-G(i1,i2);           case2               H(i1,i2)=H(i1,i2)-240;               im2(i1,i2,1)=3*I(i1,i2)-G(i1,i2)-B(i1,i2);    

8、           im2(i1,i2,2)=value2;               im2(i1,i2,3)=value1;       end   endend%模型转换完毕,显示图像figure,subplot(1,2,1),imshow(im1),title('原图');set(gcf,'outerpo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。