资源描述:
《数字图像处理实验四》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验四.多彩图像处理一、实验类型验证性实验二、实验目的1.掌握多彩图像处理的方法。2.掌握多彩图像的基本原理。三、实验设备安装有MATLAB软件的计算机四、实验过程1.从RGB转换到HIS的一个M函数函数his=rgb2hsi(rgb)rgb=imread('b.jpg');%将b.jpg图像读入matlab环境imshow(rgb);%显示图像rgb=im2double(rgb);%把图像数据类型转换为双精度浮点类型r=rgb(:,:,1);%提取红色分量g=rgb(:,:,2);%提取绿色分量b=rgb(:,:,3);%提取蓝色分量num=0.5*((r-g)+(r-b));d
2、en=sqrt((r-g).^2+(r-b).*(g-b));theta=acos(num./(den+eps));H=theta;%获取点与HSI空间的红色轴之间的夹角,得到H分量H(b>g)=2*pi-H(b>g);当b>g时取H为夹角的补角H=H/(2*pi);将H除以360,色度归化到范围[0,1]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;获取亮度分量hsi=cat(3,H,S,I);利用级联操作符cat将分量图像合成彩色图像figur
3、e;imshow(hsi);%控制画图窗口数量并显示图像图像显示:42.从HIS转换到RGB的一个M函数函数rgb=hsi2rgb(hsi)functionrgb=hsi2rgb(hsi);hsi=imread('b.jpg');%将b.jpg图像读入matlab环境imshow(hsi);%显示图像rgb=hsi2rgb(hsi);%将HIS转换到RGB格式H=hsi(:,:,1)*2*pi;%将H乘以360,色度还原到范围[0,360]S=hsi(:,:,2);%提取色度分量图像I=hsi(:,:,3);%提取饱和度分量图像R=zeros(size(hsi,1),size(hs
4、i,2));%生成0元素亮度矩阵G=zeros(size(hsi,1),size(hsi,2));%生成0元素亮度矩阵B=zeros(size(hsi,1),size(hsi,2));%生成0元素饱和度矩阵idx=find((0<=H)&(H<2*pi/3));%判断H是否为RG区B(idx)=I(idx).*(1-S(idx));R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3-H(idx)));G(idx)=3*I(idx)-(R(idx)+B(idx));%获取RG区RGB分量idx=find((2*pi/3<=H)&(H<4*p
5、i/3));%判断H是否为GB区R(idx)=I(idx).*(1-S(idx));%判断H是否为BR区G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx)));B(idx)=3*I(idx)-(R(idx)+G(idx));%获取GB区RGB分量idx=find((4*pi/3<=H)&(H<=2*pi));R(idx)=I(idx).*(1-S(idx));G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx)));B(idx)=3*I(id
6、x)-(B(idx)+G(idx));%获取BR区RGB分量rgb=cat(3,R,G,B);%利用级联操作符cat将分量图像合成彩色图像rgb=max(min(rgb,1),0);4figure,imshow(rgb);%控制画图窗口数量并显示图像ß-----显示不了图!!----à3.RGB彩色图像分割首先,我们获得待分割彩色区域的样本。一种简单地获得感兴趣区域的方法是使用在4.2.4节描述的roipoly函数,这个函数可产生能交互选择的区域的二值模板。这样,令f表示图6-30(a)中的彩色图像,图6-30(b)中的区域便可用下面命令得到:f=imread('b.jpg');m
7、ask=roipoly(f);%选择图像中的多边形区域red=immultiply(mask,f(:,:,1));%函数实现两幅图像相乘green=immultiply(mask,f(:,:,2));%函数实现两幅图像相乘blue=immultiply(mask,f(:,:,3));%函数实现两幅图像相乘g=cat(3,red,green,blue);%连接三个数组figure,imshow(g);%控制画图窗口数量并显示图像得到图像,并使用函数roipoly交互地选