1、数字图像处理上机实验报告4数字图像处理上机实验报告 实验名称: 彩色图像处理 学期: 2014/2015上学期 班级: 电子1102班 姓名: 陈玮 学号: 3110209424 实验时间: 2014.11.24 实验四 彩色图像处理目的1.了解彩色图像导入到Matlab中的书籍结构,掌握对R,G,B分量的表示方法;2.了解彩色图像处理的基本原理和方法;3.掌握彩色图像与灰度图像质检相互转化的基本原理2器材(1) bmp格式灰度图像(2)matlab软件(3)台式PC3原理1彩色图像及其增强方法(1)图像增强图像增强就是通过对图像的某些特征,如对比度、轮廓等进行强调,使之更适合于人眼的观察或机
2、器处理的一种技术。图像增强技术分为两大类,一类是空间域方法,即在图像平面对图像的像素灰度值进行运算处理的方法;另一类是频率域方法,是指在图像的频率域中对图像进行某种处理1。(2)彩色图像与灰度图像区别彩色图像和灰度图像的根本区别是:在彩色图像中,每个像素用一个矢量(一般包括三个分量)来表示,即R分量、G分量和B分量。而灰度图像每一个像素只用一个标量来表示。这样,处理彩色图像时处理的是矢量,处理灰度图像处理的是标量。我们也可以把彩色图像中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。如果不把这三个分量分开计算,而是根据矢量规范将彩色信息当矢量空间中的彩色矢量来进行加工,
3、这样的技术称为矢量值技术。2.彩色空间简介(1)RGB彩色空间简介一幅RGB图像就是彩色像素的一个数组,其中每一个彩色像素点都是在特定空间位置的红、绿、蓝三个分量2。由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB颜色空间是计算机图形学最通常的选择。但是,当处理图像时,使用RGB颜色空间并不是很有效。此外,要在RGB颜色空间中生成任何一种颜色,三个RGB分量都需要占用相同的带宽。这就使得每个RGB颜色分量需要同样的像素深度和现实分辨率。(2) HSI彩色空间简介HIS3 (hue,色度;saturation,饱和度;intensity,亮度)颜色空间将亮度分量与一幅彩色图像中携带的彩色信
4、息分开。因此,HIS模型对于开发基于彩色描述的图像处理算法是一个理想的工具,使得图像看起来更加自然和直观。RGB彩色图像是有三幅单色的亮度图像构成的,所以一定可以从一幅RGB图像中提取出图像的亮度信息。(3)RGB彩色空间到HIS彩色空间的转换若给出一幅RGB图像,则每一个RGB像素的H、S、I分量分别可由下面的方程得出2: (式2-1)其中, (式2-2) (式2-3) (式2-4)(4)HSI彩色空间到RGB彩色空间的转换对于HSI空间在0,1范围内S和I的值,对应的RGB模型中的在0,1范围内的R、G、B值可分段地按如下公式计算得出3。当时: (式2-5) (式2-6) (式2-7)当时
5、: (式2-8) (式2-9) (式2-10)当时: (式2-11) (式2-12) (式2-13)3彩色图像增强处理方法彩色图像的增强一般根据其处理对象的不同可以分为伪彩色增强、真彩色增强和假彩色增强三种。本文主要讨论伪彩色增强和真彩色增强的实现方法。伪彩色增强所谓伪彩色,就是假的颜色,即不是物体本身的颜色,所以这个颜色是人为加到物体上的,换句话说,就是伪彩色增强处理就是给灰度图像或单色图像增加色彩。此外,根据人眼的生理特性及日常生活体验可知,人眼对灰度差异的识别区分能力很差,一般能够区分的灰度级只有20多个。但是人眼识别和区分彩色的能力却很大,可以达到灰度分辨能力的百倍以上。伪彩色就是利用
6、人眼的这个特性,把人眼难以区分的灰度图像以一定的方式映射为彩色图像,以达到人眼对图像的分辨能力。那么,如果按某种映射方式把灰度图像映射到彩色图像的色彩越丰富,人眼所能提取的信息也就越多,图像增强的效果也就越突出。伪彩色增强主要有密度分割法、彩色变换法和频率滤波法的伪彩色增强三种方法4。(1) 密度分割法密度分割法是伪彩色图像增强中最简单、最基本的方法。该算法基本思想是将灰度图像中的任意一点的灰度值看作该点的密度函数,把密度函数分割成几个相互独立的区间,给每个区间分配一种颜色。接下来具体阐述密度分割法的实现原理。 设一幅灰度图像,可以看成是坐标的一个密度函数。把图像的灰度分为若干个等级。设原黑白
7、图像的灰度范围为,用灰度级把该灰度范围分为段: 给每一段灰度映射一种颜色,映射关系为: (式2-14) 这里为输出的伪彩色像;为灰度在范围内映射的色彩。需要说明的是,这段可以是均匀的,也可以是不均匀的,是可以根据图像的灰度范围以及实际需求,设定每段的长度,以达到细节显示。经过这种映射处理后,原始黑白图像就成了伪彩色图像。如下图所示: 图2-1 密度分割原理平面图 从上图我们可以看出,密度分割法只是简单地把分割的灰度区域与个彩色进行映射,所以得到的伪彩色图像的颜色受到分割层数的限制。但是,密度分割法可以根据实际情况,随时改变映射关系,以适合人眼的识别能力。(2)灰度级-彩色变换法彩色变换法的基本
8、思想是对图像中每个像素点的灰度值采用不同的变换函数,并将结果映射为彩色图像的R、G、B分量值,这样就可以得到一幅RGB空间上的彩色图像。下图给出了变换的过程示意图:图2-2 灰度级-彩色变换法示意图典型的变换函数如下图所示:图2-3 典型变换函数示意图由图2-3可计算出红、绿、蓝的变换函数为:(式2-15)(3)频域伪彩色处理在频域伪彩色图像处理中,伪彩色图像的彩色取决于黑白图像的空间频率,也就是说频域伪彩色图像处理是将原始灰度图像中感兴趣的空间频率成分以某种特定的彩色表示。 首先对原始图像进行傅里叶变换,再设计三种不同的滤波器,对原始图像进行滤波,再对三个滤波器的输出进行傅里叶反变换,最后输
9、出频域处理后的伪彩色图像。本次设计的三个滤波器分别为: (式2-16) (式2-17) 4内容 1.彩色图像的数据结构 在彩色图像中,每个像素点用三个字节分别表示R,G,B分量。当M*N大小的彩色图像导入到Matlab时,将存储在三维的数组(M,N,3)中。其中(M,N,1)表示(M,N)位置的R变量其中(M,N,2)表示(M,N)位置的G变量其中(M,N,3)表示(M,N)位置的B变量2.打开彩色图像clear;P=imread(Miss.bmp);P_double=double(P);m n k=size(P);Q=zeros(m,n,3);Q_double=double(Q);mnk3.
10、分别观察R,G,B分量图,比较分量图与原彩色图。4.分别对R,G,B分量进行增强处理(平滑),然后再把处理后的三个分量在合成彩色图像,观测并比较变换结果。5.把彩色图像的R、G、B分量图转换成H、S、I分量图,对H、S、I分量图分别进行操作,然后转换回R、G、B分量图,记录并对比图像变换。6伪彩色图像处理(1)亮度分割把灰度图像中不同的灰度映射成不同的颜色。(2)频率滤波先对图像进行频谱变换,然后分别滤除高、中、低频成分,再分别进行逆变换,分别把逆变换后的分量作为彩色图像的R、G、B分量。5实验(设计)步骤1. 查找资料2. 理解算法原理3. 编写程序4. 仿真查错6设计结果与分析观察R,G,
11、B分量图总结分析:原图像经分解后,总体上R层呈红色,G层呈绿色,B层呈蓝色,细节部分由色调的浓度体现。R,G,B分量进行平滑处理后合并总结分析:可以看到图像经R,G,B分量分别平滑处理后合并变模糊R,G,B分量图转换为H,S,I分量图总结分析:转换后可以很直观的观察图像的色调(H)、饱和度(S、亮度(I)三者的细节情况。伪彩色亮度分割总结分析:可以看到色彩分布较丰富,色彩的过渡也比较柔和,大部分的人物背光面细节及人物的细节可以很好地显现。伪彩色频域滤波分析总结:频域伪彩色增强显示了很多细节,比如头发、衣服及背景的轮廓,都能很好的显示其变化的细节,但是脸部的细节却显示的不是很好,主要是由于脸部的
12、颜色变化非常小,所以无法显示。该法根据不同的需求可以设计不同的滤波器,所以运用其他的滤波器又可以得到不同的效果,这使得滤波器的设计尤为重要。7参考文献数字图像处理(第三版) 电子工业出版社 阮秋琦 阮宇智等译8实验代码R,G,B分量图clear;%清除记录RGB=imread(Miss.bmp);%读取图像RGB(:,:,1)=uint8(double(RGB(:,:,1)*1.2);%改变原始图像红色分量RGB(:,:,2)=uint8(double(RGB(:,:,2)*1.5);%改变原始图像绿色分量RGB(:,:,3)=uint8(double(RGB(:,:,3)*1.3);%改变原
13、始图像蓝色分量subplot(2,2,1),imshow(RGB);title(原始图像) %显示原始图像,标题为原始图像subplot(2,2,2),imshow(RGB(:,:,1);title(原始图像红色分量) %显示改变后原始图像红色分量,子标题为原始图像红色分量subplot(2,2,3),imshow(RGB(:,:,2);title(原始图像绿色分量) %显示改变后原始图像绿色分量,子标题为原始图像绿色分量subplot(2,2,4),imshow(RGB(:,:,3);title(原始图像蓝色分量) %显示改变后原始图像蓝色分量,子标题为原始图像蓝色分量I=imread(Mi
14、ss.bmp);%读入彩色图像J1(:,:,1)=I(:,:,1);J1(:,:,2)=0;J1(:,:,3)=0;%提取I中的红色J2(:,:,2)=I(:,:,2);J2(:,:,1)=0;J2(:,:,3)=0;%提取I中的绿色J3(:,:,3)=I(:,:,3);J3(:,:,1:2)=0;%提取I中的蓝色subplot(221);imshow(I);title(原图像);%显示原图subplot(222);imshow(J1);title(红色);%显示提取的红色部分subplot(223);imshow(J2);title(绿色);%显示提取的绿色部分subplot(224);im
15、show(J3);title(蓝色);%显示提取的蓝色部分R,G,B分量进行平滑处理后合并clear all;A=imread(Miss.bmp);%figure(1);imshow(A);title();R=A(:,:,1);%RG=A(:,:,2);%GB=A(:,:,3);%Bw=fspecial(average);fR_filtered=imfilter(R,w);%RfG_filtered=imfilter(G,w);%GfB_filtered=imfilter(B,w);%Brgb_filter=cat(3,fR_filtered,fG_filtered,fB_filtered);
16、%RGBfigure(2);imshow(rgb_filter);title();R,G,B分量图转换为H,S,I分量图clear all;A=imread(Miss.bmp);%读取图像R=A(:,:,1);G=A(:,:,2);B=A(:,:,3);r=double(R);g=double(G);b=double(B);min=min(min(r,g),b);I=(r+g+b)/3; %计算I分量S=1-min./I; %计算S分量m=sqrt(r-g).2+(r-b).*(g-b);w=acos(0.5*(r-g)+(r-b)./(m+eps);if GB H=w;else H=2*pi
17、-w;end;H=H/(2*pi);%计算H分量subplot(231);imshow(R);xlabel(R分量);%分别显示彩色图象的R,G,B分量subplot(232);imshow(G);xlabel(G分量);subplot(233);imshow(B);xlabel(B分量);subplot(234);imshow(H);xlabel(H分量);%分别显示1幅彩色图象的H,S,I分量subplot(235);imshow(S);xlabel(S分量);subplot(236);imshow(I,);xlabel(I分量);伪彩色亮度分割I=imread(Miss.bmp);I=d
18、ouble(I);M,N=size(I);L=256;for i=1:M for j=1:N if I(i,j)L/4 R(i,j)=0; G(i,j)=4*I(i,j); B(i,j)=L; else if I(i,j)=L/2 R(i,j)=0; G(i,j)=L; B(i,j)=-4*I(i,j)+2*L; else if I(i,j)=3*L/4 R(i,j)=4*I(i,j)-2*L; G(i,j)=L; B(i,j)=0; else R(i,j)=L; G(i,j)=-4*I(i,j)+4*L; B(i,j)=0; end end endendendfor i=1:M for j=
19、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);伪彩色频域滤波I=imread(Miss.bmp);I=rgb2gray(I);M,N=size(I)F=fft2(I);fftshift(F);for u=1:M for v=1:N D(u,v)=sqrt(u2+v2); redh(u,v)=1/(sqrt(2)*(D(u,v)/100)2); greenh(u,v)=1/(sqrt(2)*(200/D(u,v)2); blued(u,v)=sqr
20、t(u-10)2+(v-10)2); blueh(u,v)=1-1/(1+blued(u,v)*100/(blued(u,v)2-1502)2); endendred=redh.*F;redcolor=ifft2(red);green=greenh.*F;greencolor=ifft2(green);blue=blueh.*F;bluecolor=ifft2(blue);redcolor=real(redcolor)/256;greencolor=real(greencolor)/256;bluecolor=real(bluecolor)/256;for i=1:M for j=1:N out(i,j,1)=redcolor(i,j); out(i,j,2)=greencolor(i,j); out(i,j,3)=bluecolor(i,j); endendout=abs(out);figure;imshow(out);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1