1、第五章 彩色图象处理第五章 彩色图像处理&1.彩色基础彩色基础&2.MATLAB中彩色图像的表示方法中彩色图像的表示方法&3.彩色空间及其转换彩色空间及其转换&4.彩色图像处理基础彩色图像处理基础&5.彩色图像的空间滤波彩色图像的空间滤波&6.在在RGB向量直接处理向量直接处理第五章 彩色图象处理白光白光 在在17世纪,牛顿通过三棱镜研究对白世纪,牛顿通过三棱镜研究对白光的折射就已发现:光的折射就已发现:白光白光可被分解成一系列从紫到红的连续光谱,可被分解成一系列从紫到红的连续光谱,从而证明白光是由不同颜色(而且从而证明白光是由不同颜色(而且这些颜色并不这些颜色并不能再进一步被分解能再进一步被
2、分解)的光线相混合而组成的。)的光线相混合而组成的。5.1 5.1 彩色基础彩色基础第五章 彩色图象处理5.1 5.1 彩色基础彩色基础 可见光可见光 可见光可见光是由电磁波谱中相对较窄的波段组是由电磁波谱中相对较窄的波段组成,如果一个物体成,如果一个物体比较均衡地反射各种光谱比较均衡地反射各种光谱,则人看到的物体是白的;则人看到的物体是白的;而如果一个物体对某些可见光谱反射的较而如果一个物体对某些可见光谱反射的较多,则人看到的物体就呈现相对应的颜色。多,则人看到的物体就呈现相对应的颜色。例如,绿色物体反射具有例如,绿色物体反射具有500570nm(纳(纳米)范围的光,吸收其他波长光的多数能量
3、。米)范围的光,吸收其他波长光的多数能量。第五章 彩色图象处理图图 可见范围电磁波谱的波长组成可见范围电磁波谱的波长组成第五章 彩色图象处理 人眼的吸收特性:人眼的吸收特性:人眼的锥状细胞是负责彩色视觉的传感器,人眼的锥状细胞是负责彩色视觉的传感器,人眼的锥状细胞可分为三个主要的感觉类别。人眼的锥状细胞可分为三个主要的感觉类别。大约大约65%65%的锥状细胞对红光敏感,的锥状细胞对红光敏感,33%33%对绿对绿光敏感,只有光敏感,只有2%2%对蓝光敏感。对蓝光敏感。由于人眼的这些吸收特性,被看到的彩色由于人眼的这些吸收特性,被看到的彩色是所谓的原色红(是所谓的原色红(R R,redred)、绿
4、)、绿(G(G,green)green)和和蓝(蓝(B B,blueblue)的各种组合。)的各种组合。5.1 5.1 彩色基础彩色基础第五章 彩色图象处理 三原色原理三原色原理 其基本内容是:其基本内容是:任何颜色都可以用任何颜色都可以用3 3种不同的基本颜色按照种不同的基本颜色按照不同比例混合得到,即不同比例混合得到,即 C=aC1+bC2+cC3 式中式中a a,b b,c=0 c=0 为三种原色的权值或者比为三种原色的权值或者比例,例,C1C1、C2C2、C3C3为三原色(又称为三基色)。为三原色(又称为三基色)。5.1 5.1 彩色基础彩色基础第五章 彩色图象处理 三原色原理指出三原
5、色原理指出 自然界中的可见颜色都可以用三种原色按一定自然界中的可见颜色都可以用三种原色按一定比例混合得到;反之,任意一种颜色都可以分比例混合得到;反之,任意一种颜色都可以分解为三种原色。解为三种原色。作为原色的三种颜色应该相互独立,即其中任作为原色的三种颜色应该相互独立,即其中任何一种都不能用其他两种混合得到。何一种都不能用其他两种混合得到。5.1 5.1 彩色基础彩色基础第五章 彩色图象处理 三原色原理三原色原理 为了标准化起见,国际照明委员会(为了标准化起见,国际照明委员会(CIE)规定用波长为规定用波长为700nm、546.1nm、435.8nm的的单色光分别作为红单色光分别作为红(R)
6、、绿、绿(G)、蓝、蓝(B)三原色。三原色。红绿蓝三原色按照比例混合可以得到各种红绿蓝三原色按照比例混合可以得到各种颜色,其配色方程为:颜色,其配色方程为:C=aR+bG+cB5.1 5.1 彩色基础彩色基础第五章 彩色图象处理 三原色原理三原色原理 原色相加可产生二次色。原色相加可产生二次色。例如:红色例如:红色+蓝色蓝色=深红色深红色(M,magenta),绿色绿色+蓝色蓝色=青色青色(C,cyan),红色,红色+绿色绿色=黄色黄色(Y,yellow)。以一定的比例混合光的三种原色或者以一种二以一定的比例混合光的三种原色或者以一种二次色与其相反的原色相混合可以产生白色次色与其相反的原色相混
7、合可以产生白色(W,white),即:红色即:红色+绿色绿色+蓝色蓝色=白色。白色。5.1 5.1 彩色基础彩色基础第五章 彩色图象处理5.2 MATLAB5.2 MATLAB中彩色图像的表示方法中彩色图像的表示方法F&第五章 彩色图象处理 RGB模型模型RGB模型采用模型采用CIE规定的三基色构成表色系统。规定的三基色构成表色系统。自然界的任一颜色都可通过这三种基色按不同比例混自然界的任一颜色都可通过这三种基色按不同比例混合而成。由于合而成。由于RGB模型将三基色同时加入以产生新的模型将三基色同时加入以产生新的颜色,所以,它是一个加色系统。颜色,所以,它是一个加色系统。设颜色传感器把数字图像
8、上的一个像素编码成设颜色传感器把数字图像上的一个像素编码成(R,G,B),每个分量量化范围为,每个分量量化范围为 0,255共共256级。因级。因此,此,RGB模型可以表示模型可以表示 256256256=16 777 2161670万种颜色。万种颜色。这足以表示自然界的任一颜色,故又称其为这足以表示自然界的任一颜色,故又称其为24位真彩色位真彩色。第五章 彩色图象处理 一幅图像中的每一个像素点均被赋予不同的一幅图像中的每一个像素点均被赋予不同的RGB值,值,便可以形成真彩色图像,如便可以形成真彩色图像,如红色红色(255,0,0)、绿色绿色(0,255,0)、蓝色蓝色(0,0,255)、青色
9、青色(0,255,255)、品红品红(255,0,255)、黄色黄色(255,255,0)、白色、白色(255,255,255)、黑色、黑色(0,0,0)等,等比例混合三基色产生的是等,等比例混合三基色产生的是灰色。灰色。RGB颜色模型可用一个三维空间中的单位立方体颜色模型可用一个三维空间中的单位立方体来表示,如图所示。来表示,如图所示。第五章 彩色图象处理&RGB立方体及立方体及rgbcube函数函数(1,0,0)(0,0,1)(0,1,0)RBG红红绿绿蓝蓝黑黑白白青青黄黄品红品红灰度级灰度级第五章 彩色图象处理function rgbcube(vx,vy,vz)vertices_matr
10、ix=0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1;faces_matrix=1 5 6 2;1 3 7 5;1 2 4 3;2 4 8 6;3 7 8 4;5 6 8 7;colors=vertices_matrix;patch(Vertices,vertices_matrix,Faces,faces_matrix,.FaceVertexCData,colors,FaceColor,interp,.EdgeAlpha,0)%Set up viewing point.if nargin=0 vx=10;vy=10;vz=4;elseif nar
11、gin=3 error(Wrong number of inputs.)endaxis offview(vx,vy,vz)axis square第五章 彩色图象处理一幅一幅RGB图像就是彩色像素有一个图像就是彩色像素有一个MN3数组数组,其中其中每一个彩色像素点都是在特定空间位置的彩色图像对应每一个彩色像素点都是在特定空间位置的彩色图像对应的红的红,绿绿,蓝三个分量蓝三个分量.BGRzzz第五章 彩色图象处理&利用利用cat函数将分量图像合成彩色图像函数将分量图像合成彩色图像 rgb_image=cat(3,fR,fG,fB)&从彩色图像中提取三幅分量图像从彩色图像中提取三幅分量图像 fR=r
12、gb_image(:,:,1)fG=rgb_image(:,:,2)fB=rgb_image(:,:,3)第五章 彩色图象处理5.1 MATLAB5.1 MATLAB中彩色图像的表示中彩色图像的表示&5.2.1 RGB图像图像F 5.2.2 索引图像索引图像&5.2.3 用来处理用来处理RGB图像和索引图像的图像和索引图像的IPT函数函数第五章 彩色图象处理&:由数据矩阵由数据矩阵X和色彩映射矩阵和色彩映射矩阵map组成组成 X是一个整数的数据矩阵是一个整数的数据矩阵 矩阵矩阵map是一个大小为是一个大小为L3,取值在,取值在0,1的的double类的数组,其长度类的数组,其长度L同它所定义的
13、颜色数目相等。同它所定义的颜色数目相等。nmmnmmnnXXXXXXXXXX2122221112113222111LLLLiiibgrbgrbgrbgrmap第五章 彩色图象处理&X为为double型型 X(i,j)map(1,:),当,当X(i,j)=1 X(i,j)map(n,:),当,当X(i,j)g)=2*pi-H(bg);%BG时,时,H 1800,3600,而,而2-H 1800,3600 H=H/(2*pi);第五章 彩色图象处理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
14、+b)/3;%Combine all three results into an hsi image.hsi=cat(3,H,S,I);第五章 彩色图象处理figure(2)subplot(2,2,1)imshow(H)title(色调图像)subplot(2,2,2)imshow(S)title(饱和度图像)subplot(2,2,3)imshow(I)title(强度图像)subplot(2,2,4)imshow(hsi)title(HIS图像)第五章 彩色图象处理(2)从)从HSI转换到转换到RGB:a.当当H在在 之间时:之间时:00120,240000,12001cos1cos 60
15、3BISSHRIHGIBRb.当当H在在 之间时:之间时:001cos1201cos 1803RISSHGIHBIRG00120,240第五章 彩色图象处理c.当当H在在 之间时:之间时:00240,360001cos2401cos 3003GISSHBIHRIGB第五章 彩色图象处理function rgb=hsi2rgb(hsi)H=hsi(:,:,1)*2*pi;S=hsi(:,:,2);I=hsi(:,:,3);%Implement the conversion equations.R=zeros(size(hsi,1),size(hsi,2);G=zeros(size(hsi,1),
16、size(hsi,2);B=zeros(size(hsi,1),size(hsi,2);%RG sector(0=H2*pi/3).第五章 彩色图象处理idx=find(0=H)&(H2*pi/3);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);%BG sector(2*pi/3=H4*pi/3).idx=find(2*pi/3=H)&(H4*pi/3);R(idx)=I(idx).*(1-S(idx);G(idx)=I
17、(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./.cos(pi-H(idx);第五章 彩色图象处理B(idx)=3*I(idx)-(R(idx)+G(idx);%BR sector(4*pi/3=H=2*pi).idx=find(4*pi/3=H)&(H0.3*(max(max(S);F=S1.*H;第五章 彩色图象处理abcdef图图 在在HSI空间的图像分割。空间的图像分割。(a)原原RGB图像,图像,(b)色调分量色调分量H,(c)饱和度分量饱和度分量S,(d)强度分量强度分量I,(e)二值饱和度模板(黑二值饱和度模板(黑=0),(),(f)红色花的分割结果)
18、红色花的分割结果第五章 彩色图象处理(a)原像原像(b)色调色调(c)饱和度饱和度(d)强度强度(e)二值饱和度模板二值饱和度模板(f)(b)*(e)(g)(f)的直方图的直方图(h)(a)中红分量的分割中红分量的分割第五章 彩色图象处理 假设目标是在假设目标是在RGB图像中分割特殊彩色图像中分割特殊彩色区域的物体区域的物体,给定一个感兴趣彩色的有代给定一个感兴趣彩色的有代表性的彩色点样品集,可得到一个彩色表性的彩色点样品集,可得到一个彩色“平均平均”估计,这种彩色是我们希望分估计,这种彩色是我们希望分割的彩色。割的彩色。虽然虽然在在HSI空间彩色图像较直观空间彩色图像较直观。通常用通常用RG
19、B彩色向量进行分割彩色向量进行分割。方法:方法:第五章 彩色图象处理 令这个平均彩色用令这个平均彩色用RGB向量向量a来表示。来表示。分割的目标分割的目标是对给定图像中每一个是对给定图像中每一个RGB像素进行分类。这就需要一个相似性度像素进行分类。这就需要一个相似性度量。量。令令z代表代表RGB空间中的任意一点,如果它空间中的任意一点,如果它们之间的距离小于们之间的距离小于特定的阈值特定的阈值D0,我们,我们就说就说z与与a是相似的。是相似的。最简单的度量之一是欧氏距离,最简单的度量之一是欧氏距离,z和和a之间的距离可以是欧氏距离,如:之间的距离可以是欧氏距离,如:212221)()()()(
20、)(|),(BBGGRRTazazazazazazazD第五章 彩色图象处理212221)()()()()(|),(BBGGRRTazazazazazazazD211)()(),(azCazazDTz和a之间的距离|,|,max|),(BBGGRRazazazazD第五章 彩色图象处理 对一幅对一幅RGB彩色图像,选择要分割的区彩色图像,选择要分割的区域,计算该区域中的彩色点的平均向量域,计算该区域中的彩色点的平均向量a。盒子的中点在盒子的中点在a,它的尺度沿每一个,它的尺度沿每一个RGB轴以沿相应轴的数据标准差的轴以沿相应轴的数据标准差的1.25倍选择。倍选择。例如,令例如,令 R代表样点红
21、分量的标准偏差,代表样点红分量的标准偏差,aR代表平均向量代表平均向量a的红分量:的红分量:(aR-1.25 R,aR+1.25 R),),这里在整个彩色图像中编码每一点的结这里在整个彩色图像中编码每一点的结果为:如果点位于盒子表面或内部为白果为:如果点位于盒子表面或内部为白色,否则为黑色。色,否则为黑色。第五章 彩色图象处理rgb=imread(flower608.jpg);rgb1=im2double(rgb);r=rgb1(:,:,1);g=rgb1(:,:,2);b=rgb1(:,:,3);r1=r(129:256,86:170);r1_u=mean(mean(r1(:);m,n=si
22、ze(r1);sd1=0.0;for i=1:m for j=1:n sd1=sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);endendr1_d=sqrt(sd1/(m*n);r2=zeros(size(rgb1,1),size(rgb1,2);ind=find(rr1_u-1.25*r1_d)&(rr1_u+1.25*r1_d);r2(ind)=1;第五章 彩色图象处理图图9.15 RGB空间分割。(空间分割。(a)RGB原图像,(原图像,(b)R分量,(分量,(c)G分量,分量,(d)B分量,(分量,(e)RGB向量空间彩色分割的结果向量空间彩色分割的结果第五章 彩色
23、图象处理边缘检测对图像分割是一个重要的工具。边缘检测对图像分割是一个重要的工具。比较:比较:(1)以各个单独颜色分量图像为基础计算)以各个单独颜色分量图像为基础计算边缘边缘(2)在彩色空间直接计算边缘的问题。)在彩色空间直接计算边缘的问题。3.彩色边缘检测彩色边缘检测 第五章 彩色图象处理 标量函数的梯度yfxfGGfyx2122)(yxGGfmag第五章 彩色图象处理 一般方法:一般方法:分别计算各个颜色分量图像的梯度,然分别计算各个颜色分量图像的梯度,然后形成彩色图像的梯度。后形成彩色图像的梯度。得到的结果行否?得到的结果行否?向量的梯度向量的梯度?第五章 彩色图象处理 令令c代表代表RG
24、B彩色空间中的任意向量,彩色空间中的任意向量,c的的分量是一幅彩色图像在一点上的分量是一幅彩色图像在一点上的RGB分量。分量。彩色分量是坐标(彩色分量是坐标(x,y)的函数,表示为:)的函数,表示为:),(),(),(),(),(),(),(yxByxGyxRyxcyxcyxcyxcBGR首要的问题:定义向量定义向量c在任意点(在任意点(x,y)处的)处的梯度(幅度和方向)。梯度(幅度和方向)。第五章 彩色图象处理 标量函数标量函数f(x,y)在坐标()在坐标(x,y)处的梯)处的梯度:度:是指向是指向f的最大变化率方向的向量。的最大变化率方向的向量。将这一思想扩展到向量梯度,下面介绍各将这一
25、思想扩展到向量梯度,下面介绍各种方法中的一种。种方法中的一种。令令r,g,b是是RGB彩色空间沿彩色空间沿R,G,B轴轴的单位向量,可定义向量为的单位向量,可定义向量为:bxBgxGrxRubyBgyGryRv第五章 彩色图象处理 数量数量gxx,gyy,gxy定义为这些向量的点乘,定义为这些向量的点乘,如下所示如下所示:222xBxGxRuuuugTxx222yByGyRvvvvgTyyyBxByGxGyRxRvuvugTxy第五章 彩色图象处理 参考文献指出,c(x,y)的最大变化率方向由角度给出:)(2arctan21yyxxxyggg(x,y)点在方向上变化率的值由下式给出:212si
26、n22cos)()(21)(xyyyxxyyxxgggggF第五章 彩色图象处理 在向量空间的边缘检测在向量空间的边缘检测 例子比较两种彩色图像边缘检测:例子比较两种彩色图像边缘检测:(1)由各个颜色分量图像梯度的混合检测)由各个颜色分量图像梯度的混合检测边缘边缘(2)用彩色空间的向量梯度检测边缘。)用彩色空间的向量梯度检测边缘。计算时,偏导数用Sobel算子实现第五章 彩色图象处理图(图(a)RGB图像,(图像,(b)R分量边缘,(分量边缘,(c)G分量边缘,分量边缘,(d)B分量边缘,(分量边缘,(e)三分量叠加后边缘,()三分量叠加后边缘,(f)彩色向量)彩色向量梯度计算后边缘,(梯度计
27、算后边缘,(g)()(f)和()和(e)之间的差别)之间的差别第五章 彩色图象处理 在向量空间的边缘检测在向量空间的边缘检测 例子比较两种彩色图像边缘检测:由各个颜色分量图像梯例子比较两种彩色图像边缘检测:由各个颜色分量图像梯度的混合检测边缘和用彩色空间的向量梯度检测边缘。度的混合检测边缘和用彩色空间的向量梯度检测边缘。图(图(f f)是图()是图(a a)图像的梯度,它是用刚刚讨论的向量方)图像的梯度,它是用刚刚讨论的向量方法得到的。法得到的。图(图(b b)(d d)显示了由计算每一个)显示了由计算每一个RGBRGB分量图像的梯度,分量图像的梯度,通过在每一坐标点(通过在每一坐标点(x x
28、,y y)处叠加相应的)处叠加相应的3 3个分量值混合的个分量值混合的梯度图像得到图(梯度图像得到图(e e)。)。图(图(f f)中向量梯度图像的边缘细节比图()中向量梯度图像的边缘细节比图(e e)中单独平面)中单独平面梯度图像混合的细节更完全。梯度图像混合的细节更完全。图(图(g g)图像显示了在每一点()图像显示了在每一点(x x,y y)处的两种梯度图像间)处的两种梯度图像间的差别。的差别。图(图(f f)中可以产生额外的细节,但同时也增加了附加计算)中可以产生额外的细节,但同时也增加了附加计算量,是否值得仅由给定问题的要求决定。量,是否值得仅由给定问题的要求决定。第五章 彩色图象处理小小 结结 自然界中的颜色可以用三种原色合成自然界中的颜色可以用三种原色合成得到,因此彩色图像可以在一个三维的得到,因此彩色图像可以在一个三维的颜色空间中表示。常用的颜色空间模型颜色空间中表示。常用的颜色空间模型有有RGB模型、模型、HSI模型等。模型等。本章介绍了彩色图像处理的一些基础本章介绍了彩色图像处理的一些基础问题,主要包括彩色图像增强、平滑、问题,主要包括彩色图像增强、平滑、锐化、分割等方法。锐化、分割等方法。