1、数字图像实验六彩色图像处理实验六 彩色图像处理一、 实验目的1、 掌握常见的几种颜色模型及各种颜色空间之间的相互转换。2、 掌握彩色图像处理的方法,如彩色图像增强、彩色图像复原、彩色图像检测与分割等。二、 实验内容1、 读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示。2、 利用全彩色图像处理的方法,对彩色图像进行平滑滤波及锐化处理。3、 载入一幅清晰彩色图像,产生运动模糊并添加一定的高斯噪声,采用维纳滤波复原该图像。4、 载入图片并进行边缘检测和图像分割。三、 实验步骤1 读入一幅RGB图像,转换到CMY空间并显示,再转换到HSI空间,同时显示其三个分量。rgb=imread(
2、peppers.png);cmy=imcomplement(rgb);subplot(231);imshow(rgb);title(原图);subplot(232);imshow(cmy);title(CMY中的图);cmy=im2double(cmy);r=cmy(:,:,1);g=cmy(:,:,2);b=cmy(:,:,3);i=(r+g+b)/3;m1=min(min(r,g),b);m2=r+g+b;m2(m2=0)=eps;s=1-3.*m1./m2;m1=0.5.*(r-g)+(r-b);m1=sqrt(r-g).2+(r-b).*(g-b);n=acos(m1./(m1+eps
3、);h=n;h(bg)=2*pi-h(bg);h=h/(2*pi);h(s=0)=0;hsi=cat(3,h,s,i);subplot(233);imshow(hsi);title(HSI中的图);subplot(234);imshow(h);title(H分量);subplot(235);imshow(s);title(S分量);subplot(236);imshow(i);title(I分量);2 读入一幅图片,先对其进行平滑,再进行锐化处理,并显示。注意请分别在GRB空间和HSI空间进行,然后在对两个空间中的结果进行比较,给出结论。rgb=imread(peppers.png);r=rg
4、b(:,:,1);g=rgb(:,:,2);b=rgb(:,:,3);%subplot(231);%imshow(r);%subplot(232);%imshow(g);%subplot(233);%imshow(b);m=fspecial(average);r_filtered=imfilter(r,m);g_filtered=imfilter(g,m);b_filtered=imfilter(b,m);rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered);subplot(221);imshow(rgb_filtered);title(RG
5、B空间平滑);lapMatrix=1 1 1;1 -8 1;1 1 1;i_tmp=imfilter(rgb_filtered,lapMatrix,replicate);i_sharped=imsubtract(rgb,i_tmp);subplot(222);imshow(i_sharped);title(RGB空间平滑+锐化);rgb=im2double(rgb);r=rgb(:,:,1);g=rgb(:,:,2);b=rgb(:,:,3);i=(r+g+b)/3;m1=min(min(r,g),b);m2=r+g+b;m2(m2=0)=eps;s=1-3.*m1./m2;m1=0.5.*(
6、r-g)+(r-b);m1=sqrt(r-g).2+(r-b).*(g-b);n=acos(m1./(m1+eps);h=n;h(bg)=2*pi-h(bg);h=h/(2*pi);h(s=0)=0;hsi=cat(3,h,s,i);m=fspecial(average);r_filtered=imfilter(h,m);g_filtered=imfilter(s,m);b_filtered=imfilter(i,m);rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered);subplot(223);imshow(rgb_filtered);t
7、itle(HSI空间平滑);lapMatrix=1 1 1;1 -8 1;1 1 1;i_tmp=imfilter(rgb,lapMatrix,replicate);i_sharped=imsubtract(rgb_filtered,i_tmp);subplot(224);imshow(i_sharped);title(HSI空间平滑+锐化);3 载入一幅清晰彩色图像,产生运动模糊并添加一定的高斯噪声,采用维纳滤波复原该图像。4 读入工具箱中othersrose.jpg图片,进行边缘检测,并将花朵分割出来3、i=imread(peppers.png);figure;imshow(i);m=fs
8、pecial(motion,20,45);i2=imfilter(i,m,circular);noise=imnoise(zeros(size(i),gaussian,0,0.05);figure;imshow(noise);i3=double(i2)+noise;i3=uint8(i3);figure;imshow(i3);i4=deconvwnr(i3,m);figure;imshow(i4);4、a=imread(liftingbody.png);figure;imshow(a);a=double(a);m,n=size(a);l=256;for i=1:m for j=1:n if a
9、(i,j)l/4 r(i,j)=0; g(i,j)=4*a(i,j); b(i,j)=l; else if a(i,j)=l/2 r(i,j)=0; g(i,j)=l; b(i,j)=-4*a(i,j)+2*l; else if a(i,j)=3*l/4 r(i,j)=4*a(i,j)-2*l; g(i,j)=l; b(i,j)=0; else r(i,j)=l; g(i,j)=-4*a(i,j)+4*l; b(i,j)=0; end end end endendfor i=1:m for j=1:n g2c(i,j,1)=r(i,j); g2c(i,j,2)=g(i,j); g2c(i,j,3)=b(i,j); endendg2c=g2c/256;figure;imshow(g2c);