第六彩色图像处理课件.ppt
第六彩色图像处理第六彩色图像处理第1页,此课件共29页哦2 21转换至其他彩色空间MATLAB中彩色图像的表示方法2 212 22 23 35 54 4彩色变换彩色图像的空间滤波在RGB向量空间直接处理第2页,此课件共29页哦6.1 MATLAB中彩色图像的表示方法中彩色图像的表示方法l RGB图像(是图像成像、显示、打印等设备的基础)一幅一幅RGBRGB图像就是彩色像素的一个图像就是彩色像素的一个M*N*3M*N*3数组,其中每一个彩色像素数组,其中每一个彩色像素 点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。三原色三原色:红色(红色(RedRed)、绿色()、绿色(GreenGreen)、蓝色()、蓝色(BlueBlue)原色相加可产生二次色:红原色相加可产生二次色:红+蓝蓝 品红品红 绿绿+蓝蓝 青青 红红+绿绿 黄黄(aa)在顶点显示光的原色和合成色的)在顶点显示光的原色和合成色的RGBRGB彩色立方体示意图彩色立方体示意图第3页,此课件共29页哦6.1 MATLAB中彩色图像的表示方法中彩色图像的表示方法l 索引图像(是图像成像、显示、打印等设备的基础)索引图像有两个分量,即整数的数据矩阵索引图像有两个分量,即整数的数据矩阵X X和彩色映射矩阵和彩色映射矩阵mapmap。矩阵。矩阵 map map是一个大小为是一个大小为m*3m*3且由范围在且由范围在0,10,1之间的浮点数构成的之间的浮点数构成的doubledouble类数类数 组。索引图像将像素的亮度值组。索引图像将像素的亮度值“直接映射直接映射”到彩色值。到彩色值。显示函数:显示函数:imshow(X,map)imshow(X,map)或或 image(X),colormap(map)image(X),colormap(map)imapprox:imapprox:用较少的颜色来近似一幅索引图像用较少的颜色来近似一幅索引图像 whitebg(g)whitebg(g)、whitegb(green)whitegb(green)、whitegb(0 1 0)whitegb(0 1 0)均为把一幅图像背景色均为把一幅图像背景色 改为绿色。改为绿色。dither dither 抖动抖动 grayslice grayslice 从灰度级亮度图像通过多级阈值创建索引图像从灰度级亮度图像通过多级阈值创建索引图像 gray2ind gray2ind 从灰度级亮度图像创建索引图像从灰度级亮度图像创建索引图像 ind2gray ind2gray 从索引图像创建灰度级亮度图像从索引图像创建灰度级亮度图像第4页,此课件共29页哦6.1 MATLAB中彩色图像的表示方法中彩色图像的表示方法X,map=rgb2ind(rgb_image,n,dither_option)ind2rgb 从索引图像创建RGB图像rgb2gray 从RGB图像创建灰度级图像例:以上函数的使用 f=imread(Fig0619(a)(RGB_iris).tif);X1,map1=rgb2ind(f,8,nodither);%从RGB图像创建索引图像同时减少了RGB图像中的色彩数,此处不执行抖动 X2,map2=rgb2ind(f,8,dither);%执行抖动,从而提高空间分辨率以达到更好的颜色分辨力。g=rgb2gray(f);%从一幅RGB图像创建灰度级图像决定map的长度即颜色的数目执行抖动、不执行两个选项第5页,此课件共29页哦6.1 MATLAB中彩色图像的表示方法中彩色图像的表示方法l l 实验结果实验结果第6页,此课件共29页哦6.2 转换至其他彩色空间转换至其他彩色空间l 彩色模型CMY和CMYK 运用在大多数在纸上沉积彩色颜料的设备。运用在大多数在纸上沉积彩色颜料的设备。C:cyan(C:cyan(青青)、MM:magenta(magenta(品红品红)、Y:yellow(Y:yellow(黄黄)等量的等量的CMYCMY原色产生黑色,但不纯,在原色产生黑色,但不纯,在CMYCMY基础上加入黑色,即形成基础上加入黑色,即形成 CMYK CMYK彩色空间。彩色空间。将将RGBRGB转换为转换为CMYCMY的转换方程为:的转换方程为:cmy_image=imcomplement(rgb_image)cmy_image=imcomplement(rgb_image)把把RGBRGB图像转换为图像转换为CMYCMY图像图像 rgb_image=imcomplement(cmy_image)rgb_image=imcomplement(cmy_image)把把CMYCMY图像转换为图像转换为RGBRGB图像图像第7页,此课件共29页哦6.2 转换至其他彩色空间转换至其他彩色空间l 彩色模型HSI 应用于计算机视觉、图像检索和视频检索,即适合人们以术语描述彩色。应用于计算机视觉、图像检索和视频检索,即适合人们以术语描述彩色。H:hue(H:hue(色调色调)、S:saturation(S:saturation(饱和度饱和度)、I I:intensity(:intensity(亮度亮度)色调:描述纯色的属性,即观察者接收的主要颜色。色调:描述纯色的属性,即观察者接收的主要颜色。饱和度:纯彩色被白光冲淡程度的度量,其中,纯光谱色是完全饱和的,饱和度:纯彩色被白光冲淡程度的度量,其中,纯光谱色是完全饱和的,强度强度:对应成像亮度和图像灰度,是颜色的明亮程度。对应成像亮度和图像灰度,是颜色的明亮程度。特点:特点:I I分量与图像的彩色信息无关;分量与图像的彩色信息无关;H H和和S S分量与人感受颜色的方式是分量与人感受颜色的方式是 密切相连的。基于这两个特点从而使得密切相连的。基于这两个特点从而使得HSIHSI模型非常适合彩色特性检测模型非常适合彩色特性检测 与分析。与分析。hsi=rgb2hsi(rgb)hsi=rgb2hsi(rgb)从从RGBRGB转换到转换到HSIHSI rgb=hsi2rgb(hsi)rgb=hsi2rgb(hsi)从从HSIHSI转换到转换到RGBRGB第8页,此课件共29页哦6.2 转换至其他彩色空间转换至其他彩色空间l 例:RGB转换为HSI f=imread(Fig0602(b)(RGB_color_cube).tif);f=imread(Fig0602(b)(RGB_color_cube).tif);hsi=rgb2hsi(f);hsi=rgb2hsi(f);subplot(1,2,1),imshow(f)subplot(1,2,1),imshow(f)xlabel(a)xlabel(a)原原RGBRGB图像图像););subplot(1,2,2),imshow(hsi subplot(1,2,2),imshow(hsi xlabel(b)RGB xlabel(b)RGB转换为转换为HSIHSI后的图像后的图像););n 实验结果:第9页,此课件共29页哦6.2 转换至其他彩色空间转换至其他彩色空间l 彩色模型HSV 该彩色系统比该彩色系统比RGBRGB系统更接近于人们的经验和对彩色的感知。系统更接近于人们的经验和对彩色的感知。H:hue(H:hue(色调色调)、S:saturation(S:saturation(饱和度饱和度)、V:value(V:value(数值数值)hsv_image=rgb2hsv(rgb_image)hsv_image=rgb2hsv(rgb_image)将将RGBRGB转换为转换为HSVHSV 输入图像可以是输入图像可以是uint8uint8类、类、uint16uint16类、或者类、或者doubledouble类,输出为类,输出为doubledouble类类 rgb_image=hsv2rgb(hsv_image)rgb_image=hsv2rgb(hsv_image)将将HSVHSV转换为转换为RGBRGB 其中,输入和输出均为其中,输入和输出均为doubledouble类类 该彩色系统广泛应用于数字视频该彩色系统广泛应用于数字视频 Y:brightness(Y:brightness(亮度亮度)、CbCb:蓝色分量和一个参考值的差、:蓝色分量和一个参考值的差、CrCr:红色分量:红色分量 和一个参考值的差。和一个参考值的差。ycbcr_image=rgb2ycbcr(rgb_image)ycbcr_image=rgb2ycbcr(rgb_image)将将RGBRGB转换为转换为YCbCrYCbCr rgb_image=ycbcr2rgb(ycbcr_image)rgb_image=ycbcr2rgb(ycbcr_image)将将YCbCrYCbCr转换为转换为RGBRGBn 彩色模型YCbCr第10页,此课件共29页哦6.3 彩色变换彩色变换l 彩色图像处理研究分为两大类 分别处理每一个分量图像,然后合成彩色图像。分别处理每一个分量图像,然后合成彩色图像。直接对彩色像素处理:直接对彩色像素处理:3 3个颜色分量表示像素分量。个颜色分量表示像素分量。令令c c代表代表RGBRGB彩色空间中的任意向量:彩色空间中的任意向量:该公式表明该公式表明c c的分量是一幅彩色图像在一个点上的的分量是一幅彩色图像在一个点上的RGBRGB分量。分量。对一个大小为对一个大小为M*NM*N的图像来说,有的图像来说,有MNMN个向量个向量c(x,y),c(x,y),其中,其中,x=0,1x=0,1,2,.,2,.,M-1 M-1和和y=0,1,2y=0,1,2,.,N-1.,N-1。第11页,此课件共29页哦6.3 彩色变换彩色变换l彩色变换函数 g(x,y)=Tf(x,y)g(x,y)=Tf(x,y)f(x,y)f(x,y)是彩色输入图像是彩色输入图像 g(x,y)g(x,y)是变换或处理过的彩色输出图像是变换或处理过的彩色输出图像 T T是空间领域(是空间领域(x,yx,y)上对)上对f f的操作的操作 s si i=T=Ti i(r(r1 1,r,r2 2,.,r,.,rn n)i=1,2,.,n)i=1,2,.,n r ri i和和s si i是是f(x,y)f(x,y)和和g(x,y)g(x,y)在任何点处彩色分量的变量。在任何点处彩色分量的变量。T T1 1,T,T2 2,.,T,.,Tn n 是一个对是一个对r ri i操作产生操作产生s si i的变换或彩色映射函数集。的变换或彩色映射函数集。选择的彩色空间决定选择的彩色空间决定n n的值,如的值,如RGBRGB彩色空间,彩色空间,n=3,rn=3,r1 1,r,r2 2和和r r3 3表示红、表示红、绿、蓝分量;绿、蓝分量;CMYK,CMYK,则则n=4n=4n 彩色变换的简单形式第12页,此课件共29页哦6.3 彩色变换彩色变换l例:单色负片 f=imread(Fig0303(a).tif);f=imread(Fig0303(a).tif);g=ice(image,f);g=ice(image,f);%iceice为交互彩色编辑,为交互彩色编辑,将将f f由指定映射交互式进行变换由指定映射交互式进行变换n实验结果:(b)(b)负映射函数负映射函数第13页,此课件共29页哦6.3 彩色变换彩色变换l例:彩色补色的逆映射 f=imread(Fig0614(a)(Chalk Original).tif.tif);f=imread(Fig0614(a)(Chalk Original).tif.tif);g=ice(image,f);g=ice(image,f);%将将f f由指定映射交互式进行变换由指定映射交互式进行变换n实验结果:第14页,此课件共29页哦6.3 彩色变换彩色变换l补色:定义:在如图所示的彩色环上,与一种色调直接相对立的另一种色调定义:在如图所示的彩色环上,与一种色调直接相对立的另一种色调 作用:增强嵌在彩色图像暗区的细节。作用:增强嵌在彩色图像暗区的细节。第15页,此课件共29页哦6.3 彩色变换彩色变换l例:伪彩色映射 f=imread(Fig0616(a)(Weld Original).tif.tif);f=imread(Fig0616(a)(Weld Original).tif.tif);g=ice(image,f);g=ice(image,f);k=ice(image,g);k=ice(image,g);%将将f f由指定映射交互式进行变换由指定映射交互式进行变换n伪彩色 定义:伪彩色定义:伪彩色(pseudo-color)(pseudo-color)图像的每个像素值实际上是一个索引值图像的每个像素值实际上是一个索引值 或代码,该代码值作为色彩查找表或代码,该代码值作为色彩查找表CLUT(Color Look-Up Table)CLUT(Color Look-Up Table)中某一中某一 项的入口地址,根据该地址可查找出包含实际项的入口地址,根据该地址可查找出包含实际R R、G G、B B的强度值。这种的强度值。这种 用查找映射的方法产生的色彩称为伪彩色。用查找映射的方法产生的色彩称为伪彩色。n总结:伪彩色映射可以用来细微地改变灰度以便人眼更易察觉或者突出重伪彩色映射可以用来细微地改变灰度以便人眼更易察觉或者突出重 要的灰度级区域。要的灰度级区域。对于一幅黑白图像在对于一幅黑白图像在RGBRGB彩色空间中显示且单独对产生的分量进行映彩色空间中显示且单独对产生的分量进行映 射,变换结果就是一幅伪彩色图像。射,变换结果就是一幅伪彩色图像。第16页,此课件共29页哦6.3 彩色变换彩色变换n实验结果:第17页,此课件共29页哦6.3 彩色变换彩色变换l实验结果:n例:彩色校正 f=imread(Fig0617(a)(JLK Magenta).tif.tif);f=imread(Fig0617(a)(JLK Magenta).tif.tif);f1=ice(image,f,space,CMY);%f1=ice(image,f,space,CMY);%交互式地修改交互式地修改RGBRGB图像图像f f的的CMYCMY分量分量(c)(c)用于校正不平衡的映射函数用于校正不平衡的映射函数第18页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波l使用线性空间滤波器平滑RGB彩色图像fc的步骤 提取三幅分量图像:提取三幅分量图像:fR=fc(:,:,1);fG=fc(:,:,2);fB=fc(:,:,3);fR=fc(:,:,1);fG=fc(:,:,2);fB=fc(:,:,3);分别对每幅分量图像滤波:分别对每幅分量图像滤波:fR_filter=imfilter(fR,w);fR_filter=imfilter(fR,w);此处为平滑红分量图像此处为平滑红分量图像 重建滤波后的重建滤波后的RGBRGB图像:图像:fc_filter=cat(3,fR_filter,fG_filter,fB_filter);fc_filter=cat(3,fR_filter,fG_filter,fB_filter);注:以上三个步骤可以合并为:fc2_filter=imfilter(fc,w);第19页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波l例:彩色图像平滑 fc=imread(Fig0619(a)(RGB_iris).tif);fc=imread(Fig0619(a)(RGB_iris).tif);w=fspecial(average,25);%w=fspecial(average,25);%构造一个构造一个25*2525*25的平均滤波器的平均滤波器 fc_filter=imfilter(fc,w);%fc_filter=imfilter(fc,w);%对对RGBRGB图像所有分量进行平滑滤波图像所有分量进行平滑滤波 h=rgb2hsi(fc);%h=rgb2hsi(fc);%将将RGBRGB转换为转换为HSIHSI H=h(:,:,1);S=h(:,:,2);I=h(:,:,3);%H=h(:,:,1);S=h(:,:,2);I=h(:,:,3);%提取提取HSIHSI各分量各分量 I_filtered=imfilter(I,w,replicate);%I_filtered=imfilter(I,w,replicate);%平滑平滑HSIHSI图像中的亮度分量图像中的亮度分量 h1=cat(3,H,S,I_filtered);%h1=cat(3,H,S,I_filtered);%级联即将分量图像组合成彩色图像级联即将分量图像组合成彩色图像 f1=hsi2rgb(h1);f1=hsi2rgb(h1);f1=min(f1,1);%f1=min(f1,1);%保证元素值最大值为保证元素值最大值为1 1,因为按公式计算转换为,因为按公式计算转换为RGBRGB后,可能出现大于后,可能出现大于1 1的情况。的情况。h_filtered=imfilter(h,w,replicate);%h_filtered=imfilter(h,w,replicate);%平滑所有三个平滑所有三个HSIHSI分量分量 f=hsi2rgb(h_filtered);f=hsi2rgb(h_filtered);f=min(f,1);f=min(f,1);第20页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波l l 实验结果:实验结果:第21页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波 图图(b)(b)花杂顶部出现绿色边缘,是因为色调和饱和度分量没有变化,而平滑处理花杂顶部出现绿色边缘,是因为色调和饱和度分量没有变化,而平滑处理 使得亮度分量的值变化得以减少。使得亮度分量的值变化得以减少。图图(c)(c)用相同的滤波器去平滑所有三个分量,改变了色调和饱和度之间的相对关用相同的滤波器去平滑所有三个分量,改变了色调和饱和度之间的相对关 系,从而产生无意义的颜色。系,从而产生无意义的颜色。第22页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波l例:彩色图像锐化,此处使用拉普拉斯算子来使图像锐化 fc=imread(Fig0619(a)(RGB_iris).tif);fc=imread(Fig0619(a)(RGB_iris).tif);w=fspecial(average,25);w=fspecial(average,25);fc_filtered=imfilter(fc,w);fc_filtered=imfilter(fc,w);subplot(1,2,1),imshow(fc_filtered)subplot(1,2,1),imshow(fc_filtered)xlabel(a)xlabel(a)模糊图像模糊图像););lapmask=1 1 1;1-8 1;1 1 1;lapmask=1 1 1;1-8 1;1 1 1;%构造拉普拉斯滤波器构造拉普拉斯滤波器 fen=imsubtract(fc_filtered,imfilter(fc_filtered,lapmask,replicate);fen=imsubtract(fc_filtered,imfilter(fc_filtered,lapmask,replicate);subplot(1,2,2),imshow(fen)subplot(1,2,2),imshow(fen)xlabel(b)xlabel(b)用拉普拉斯算子增强之后的效果用拉普拉斯算子增强之后的效果););注:拉普拉斯对图像增强的基本方法:注:拉普拉斯对图像增强的基本方法:第23页,此课件共29页哦6.4 彩色图像的空间滤波彩色图像的空间滤波l实验结果第24页,此课件共29页哦6.5 在在RGB向量空间直接处理向量空间直接处理l使用梯度的彩色边缘检测 目的:标识数字图像中亮度变化明显的点目的:标识数字图像中亮度变化明显的点 VG,A,PPG=colorgrad(f,T)VG,A,PPG=colorgrad(f,T)实现实现RGBRGB图像的彩色梯度图像的彩色梯度 其中,其中,f f是一幅是一幅RGBRGB图像,图像,T T是范围是范围0 10 1内的可选阈值内的可选阈值(默认为默认为0)0);VGVG是是 RGB RGB向量梯度,向量梯度,A A是以弧度计的角度,用于实现是以弧度计的角度,用于实现RGBRGB图像的彩色梯度;图像的彩色梯度;PPG PPG是对单独彩色平面的二维梯度求和形成的梯度。是对单独彩色平面的二维梯度求和形成的梯度。注:注:T T值越小能够检测出的边线越多,越容易从图像中挑出不相关信息;值越小能够检测出的边线越多,越容易从图像中挑出不相关信息;T T 越大,会丢失细的或者短的线条。越大,会丢失细的或者短的线条。f=imread(Fig0624(d)(RGB2-fullcolor).tif);f=imread(Fig0624(d)(RGB2-fullcolor).tif);VG,A,PPG=colorgrad(f);VG,A,PPG=colorgrad(f);n例:彩色边缘检测第25页,此课件共29页哦6.5 在在RGB向量空间直接处理向量空间直接处理l l 实验结果:实验结果:l l 实验总结:实验总结:(c)(c)中的水平边缘比中的水平边缘比(b)(b)中的对应边缘弱。中的对应边缘弱。第26页,此课件共29页哦6.5 在在RGB向量空间直接处理向量空间直接处理lRGB向量空间中的图像分割 图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出 感兴趣目标的技术和过程。感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。它是由图像处理到图像分析的关键步骤。马氏距离马氏距离 其中,其中,C C是要分割的彩色的样值表示的协方差矩阵,当是要分割的彩色的样值表示的协方差矩阵,当 C C等于单位矩阵等于单位矩阵I I时,马氏距离约简为欧几里得距离。时,马氏距离约简为欧几里得距离。S=colorseg(method,f,T,parameters)S=colorseg(method,f,T,parameters)其中,其中,methodmethod不是不是euclideaneuclidean就是就是mahalanobismahalanobis,f f是待分割的是待分割的RGBRGB 图像,图像,T T是阈值,输出是阈值,输出S S是一幅二值图像,在未通过阈值测试的点包含是一幅二值图像,在未通过阈值测试的点包含0 0,在通过了阈值测试的点包含在通过了阈值测试的点包含1.1.第27页,此课件共29页哦6.5 在在RGB向量空间直接处理向量空间直接处理l例:RGB彩色图像分割 f=imread(Fig0627(a)(jupitermoon_original).tif);f=imread(Fig0627(a)(jupitermoon_original).tif);mask=roipoly(f);%mask=roipoly(f);%交互式选择的感兴趣区域二值掩膜交互式选择的感兴趣区域二值掩膜 red=immultiply(mask,f(:,:,1);red=immultiply(mask,f(:,:,1);green=immultiply(mask,f(:,:,2);green=immultiply(mask,f(:,:,2);blue=immultiply(mask,f(:,:,3);blue=immultiply(mask,f(:,:,3);g=cat(3,red,green,blue);%g=cat(3,red,green,blue);%构造的感兴趣区域的彩色图像构造的感兴趣区域的彩色图像 M,N,K=size(g);M,N,K=size(g);I=reshape(g,M*N,3);%I=reshape(g,M*N,3);%将指定的矩阵改变形状,但是元素个数不变将指定的矩阵改变形状,但是元素个数不变 idx=find(mask);idx=find(mask);I=double(I(idx,1:3);I=double(I(idx,1:3);C,m=covmatrix(I);%C,m=covmatrix(I);%计算协方差矩阵计算协方差矩阵C C和均值和均值mm d=diag(C);d=diag(C);sd=sqrt(d)sd=sqrt(d)sd=sd=24.6831 24.7892 15.4890 24.6831 24.7892 15.4890 E25=colorseg(euclidean,f,25,m);%T=25 E25=colorseg(euclidean,f,25,m);%T=25时的分割时的分割第28页,此课件共29页哦6.5 在在RGB向量空间直接处理向量空间直接处理l l 实验结果实验结果第29页,此课件共29页哦