数字图像处理之彩色图像的处理.pdf
-实验六实验六彩色图像的处理彩色图像的处理一、实验目的一、实验目的1、 掌握 matlab 中 RGB 图像与索引图像、灰度级图像之间转换函数。2、 了解 RGB 图像与不同颜色空间之间的转换。3、 掌握彩色图像的直方图处理方法。二、实验容及步骤二、实验容及步骤1、RGB 图像与索引图像、灰度级图像的转换。close allRGB=imread(flowers.tif);R_i,map=rgb2ind(RGB,8);%RGB图像转换为 8 色的索引图像figureimshow(R_i,map)R_g=rgb2gray(RGB);%RGB图像转换为灰度级图像figureimshow(R_g)思考:思考:将 RGB 图像flowers.tif分别转换为 32 色、256 色、1024 色索引图像,是否调色板所表示的颜色值越多图像越好.close allRGB=imread(flowers.tif);R_i1,map=rgb2ind(RGB,8);%RGB 图像转换为 8 色的索引图像R_i2,map=rgb2ind(RGB,32);%RGB 图像转换为 32 色的索引图像R_i3,map=rgb2ind(RGB,256);%RGB 图像转换为 256 色的索引图像R_i4,map=rgb2ind(RGB,1024);%RGB 图像转换为 1024 色的索引图像Subplot(221);imshow(R_i1,map);title(8 色的索引图像);.z-Subplot(222);imshow(R_i2,map);title(32 色的索引图像);Subplot(223);imshow(R_i3,map);title(256 色的索引图像);Subplot(224);imshow(R_i4,map);title(1024 色的索引图像);结论:随着索引值的增加图像的质量也有增加,更加清晰,色彩也更加鲜明。但不是不是颜色值越多越好。当索引值过高时,会出现无法识别而致模糊的情况出现。2、RGB 图像与不同颜色空间的转换。(1) RGB 与 HSI 颜色空间的转换HSI 应用于彩色图像处理。实验六文件夹中rgb2hsi( )函数将 RGB 颜色空间转换为 HSI空间并显示各分量, hsi2rgb( )函数是将 HSI 颜色空间转换为 RGB 颜色空间。close all*=imread(flowers.tif);figureimshow(*)title(RGB)*_hsi=rgb2hsi(*);% RGB颜色空间转换成 HSI 颜色空间, % 并显示 H、S、I 各分量figureimshow(*_hsi)title(HSI)*_h_r=hsi2rgb(*_hsi);figureimshow(*_h_r)title(HSI-RGB)2RGB 与 CMY 颜色空间转换CMY 颜色空间运用在大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机。CMY(青、深红、黄)是 RGB 颜色空间的补色。.z-close all*=imread(flowers.tif);* = im2double(*);R=*(:,:,1);G=*(:,:,2);B=*(:,:,3);C=1-R;M=1-G;Y=1-B;R1=1-C;G1=1-M;B1=1-Y;CMY=cat(3,C,M,Y);RGB1=cat(3,R,G,B);subplot(1,3,1),imshow(*);title(RGB) ;subplot(1,3,2),imshow(CMY);title(CMY) ;subplot(1,3,3),imshow(RGB1);title(CMY-RGB) ;思考:思考:如何将 RGB 图像分解出其 R、G、B 颜色分量.结果类似以下图。close all*=imread(flowers.tif);* = im2double(*);R=*(:,:,1);G=*(:,:,2);B=*(:,:,3);C1=R;M1=G-G;Y1=B-B;C2=R-R;.z-M2=G;Y2=B-B;C3=R-R;M3=G-G;Y3=B;R=cat(3,C1,M1,Y1);G=cat(3,C2,M2,Y2);B=cat(3,C3,M3,Y3);subplot(1,3,1),imshow(R);title(R) ;subplot(1,3,2),imshow(G);title(G) ;subplot(1,3,3),imshow(B);title(B) ;3、彩色图像的直方图处理1在 HSI 颜色空间对 I强度分量进展调整及直方图均衡化。close all*=imread(flowers.tif);figureimshow(*)title(RGB)*_hsi=rgb2hsi(*);% RGB颜色空间转换成 HSI 颜色空间, % 并显示 H、S、I 各分量h=*_hsi(:,:,1);s=*_hsi(:,:,2);i=*_hsi(:,:,3); i1=imadjust(i,0 1,0.6);%对 I 分量进展灰度值调整,使图像更亮 *_hsi=cat(3,h,s,i1);*_h_r=hsi2rgb(*_hsi); % HSI空间转换为 RGB 空间figureimshow(*_h_r)title(imadjust(i,0.6).z-i2=histeq(i); %对 I 分量进展直方图均衡化,加强比照度 *_hsi=cat(3,h,s,i2);*_h_r=hsi2rgb(*_hsi); % HSI空间转换为 RGB 空间figureimshow(*_h_r)title(histeq(i)(2) RGB 颜色空间对全彩色进展直方图处理close all*=imread(flowers.tif);figureimshow(*)title(RGB)r=*(:,:,1);g=*(:,:,2);b=*(:,:,3); r1=imadjust(r,0 1,0.6);%对 R 分量进展灰度值调整g1=imadjust(g,0 1,0.6); %对 G 分量进展灰度值调整b1=imadjust(b,0 1,0.6); %对 B 分量进展灰度值调整 *1=cat(3,r1,g1,b1);figure; imshow(*1)title(imadjust(r/g/b,0.6)r2=histeq(r); %直方图均衡化g2=histeq(g);b2=histeq(b); *2=cat(3,r2,g2,b2);%处理后的 R、G、B 分量合并回 RGB 图像figure; imshow(*2)title(histeq(r/g/b)思考:思考:参考彩色图像的直方图处理方法,分别对 RGB 图像 flowers.tif 进展尺寸为 5*5 的均值平滑滤涉及拉普拉斯锐化。 在 HIS 空间或 RGB 空间都可以结.z-果类似以下图。拉普拉斯算子:h= -1 -1 -1; -1 8 -1; -1 -1 -1;15*5 均值平滑滤波close all;*=imread(flowers.tif); h=fspecial(average,5); y=imfilter(*,h); subplot(1,2,1); imshow(*);title(RGB); subplot(1,2,2); imshow(y);title(5*5 均值平滑滤波);2拉普拉斯锐化close all;*=imread(flowers.tif);h= -1 -1 -1; -1 8 -1; -1 -1 -1; y=imfilter(*,h); subplot(1,2,1); imshow(*);title(RGB); subplot(1,2,2); imshow(y);title(拉普拉斯滤波);三、实验报告三、实验报告1、按照实验步骤做实验;2、记录实验结果,并作出总结;.z-3、按照实验报告格式写出报告。四、实验心得及时机四、实验心得及时机通过这次实验, 我学会并了解了许多有关数字图像处理方面的知识。以前只是看着课本上的容学习,对很多知识只是生分的了解,但是不懂得如何应用,通过做实验,自己动手,对图像做一系列的处理和变换,体会到了各种参数对数字图像的影响。通过此次实验也发现了自己的而许多问题,在对于 MATLAB 软件的应用上面我还有许多缺乏,尤其是对如何编写 M 文件方面很难掌握,仍有待加强。.z