1、数字图像处理数字图像处理浙江大学浙江大学/1、图像的读取和显示/2、图像的点运算/4、空间域图像增强/5、频率域图像增强/6、彩色图像处理/7、形态学图像处理/8、图像分割/9、特征提取/3、图像的几何变换/1、图像的读取和显示一、图像的读取一、图像的读取A=imread() 指定图像文件的完整路径和文件名。如果在work工作目录下只需提供文件名。FMT为图像文件的格式对应的标准扩展名。I_1=imread(D:10.06.08nirTTC10377.BMP);%读入图像二、图像的写入二、图像的写入imwrite(A,)参数指定文件名。FMT为保存文件采用的格式。imwrite(I6,nird
2、ilatedisk2TTC10373.bmp);/1、图像的读取和显示三、图像的显示三、图像的显示imshow(I,low high)I为要显示的图像矩阵。low high为指定显示灰度图像的灰度范围。高于high的像素被显示成白色;低于low的像素被显示成黑色;介于High和low之间的像素被按比例拉伸后显示为各种等级的灰色。figure;imshow(I6);title(The Main Pass Part of TTC10373);figure;%创建一个新的窗口figure;subplot(m,n,p);imshow(I);Subplot(m,n,p)含义为:打开一个有m行n列图像位置
3、的窗口,并将焦点位于第p个位置上。/1、图像的读取和显示四、图像的格式转换四、图像的格式转换im2bw(I,LEVEL);rgb2gray;从RGB图创建灰度图,存储类型不变。im2uint8 将图像转换成uint8类型阈值法从灰度图、RGB图创建二值图。LEVEL为指定的阈值;(0,1)。im2double 将图像转换成double类型/2、图像的点运算 灰度直方图描述了一副图像的灰度级统计信息,主要应用于图像分割和图像灰度变换等处理过程中。从数学角度来说,图像直方图描述图像各个灰度级的统计特性,它是图像灰度值的函数,统计一幅图像中各个灰度级出现的次数或概率。归一化直方图可以直接反映不同灰度
4、级出现的比率。横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。imhist(I);%灰度直方图I=imread(red.bmp);%读入图像figure;%打开新窗口M,N=size(I);%计算图像大小counts,x=imhist(I,32);%计算有32个小区间的灰度直方图counts=counts/M/N;%计算归一化灰度直方图各区间的值stem(x,counts);%绘制归一化直方图一、图像直方图一、图像直方图图像直方图归一化图像直方图归一化/2、图像的点运算二、灰度的线性变换二、灰度的线性变换BAAABfDfDfDFa1时,输出图像的对
5、比度将增大;Fa1时,输出图像对比度将减小。Fa=1且Fb非零时,所有像素的灰度值上移或下移,使整个图像更暗或更亮。Fafreq) out(i,j)=0; end endend理想低通function out = imgaussflpf(I,sigma)%imgaussflpf函数 构造高斯频域低通滤波器M,N = size(I);out = ones(M,N);for i=1:M forj=1:N out(i,j) = exp(-(i-M/2)2+(j-N/2)2)/2/sigma2); endend高斯低通/6、彩色图像处理色彩模型:RGB模型、CMY模型、CMYK模型、HIS模型、 HS
6、V模型、YUV模型、YIQ模型。RGB模型国际照明委员会(CIE)规定以蓝(435.8nm)、绿(546.1nm)和红(700nm)作为主原色。RGB_image=cat(3,PR,PG,PB);%将PR、PG、PB三个矩阵在第3个维度上进行级联,进行图像合成PR=RGB_image(:,:,1);%提取红色分量PG=RGB_image(:,:,2);%提取绿色分量PB=RGB_image(:,:,3);%提取蓝色分量Matlab中一幅RGB图像可表示为一个M*N*3的3维矩阵。其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝3个分量。CMY模型CMY模型是采用(Cyan、Mage
7、nta、Yellow)青、品红、黄色3中基本原色按一定比例合成颜色。由于色彩的显示是由光线被物体吸收掉一部分之后反射回来的剩余光线产生,故CMY模型又称为减色法混色模型。当光都被吸收时成为黑色,都被反射时为白色。CMY模型主要用于彩色打印机和复印机等。CMYK模型CMY模型在实际使用中,青、品红和黄色等比例混合后的黑色并不纯,为产生真正的黑色,专门加入第四种颜色黑色。得到CMYK模型。用于四色打印。cmy=imcomplement(rgb);%rgb转成cmyrgb=imcomplement(cmy);cmy转成rgbBGRYMC111YMCBGR111HSI模型HIS模型是从人的视觉系统出发
8、,直接使用颜色三要素色调模型是从人的视觉系统出发,直接使用颜色三要素色调(Hue)、饱和度()、饱和度(Saturation)和亮度()和亮度(Intensity)来描述)来描述颜色。颜色。亮度指人眼感觉光的明暗程度。光的能量越大,亮度越大。色调由物体反射光线中占优势的波长决定。反映颜色的本质。饱和度指颜色的深浅和浓淡程度,饱和度越高,颜色越深。HIS色彩空间比色彩空间比RGB彩色空间更符合人的视觉特性。亮度和色彩色空间更符合人的视觉特性。亮度和色度具有可分离特性,使得图像处理和机器视觉中大量灰度处度具有可分离特性,使得图像处理和机器视觉中大量灰度处理算法都可在理算法都可在HIS彩色空间中方便
9、使用。彩色空间中方便使用。GBGBH,360,2/1221arccosBGGRGRBRGR),min()(31BGRBGRS)(31BGRI色调色调亮度亮度饱和度饱和度其中/7、形态学图像处理一、二值图像腐蚀一、二值图像腐蚀I2=imerode(I,SE);SE=strel(shape,parameters);I为原始图像,可以是二值或者灰度图像。shape指定了结构元素的形状。parameters是和输入shape有关的参数。/7、形态学图像处理二、二值图像膨胀二、二值图像膨胀I2=imdilate(I,SE);SE=strel(shape,parameters);I为原始图像,可以是二值或
10、者灰度图像。shape指定了结构元素的形状。parameters是和输入shape有关的参数。原图像腐蚀后膨胀后/7、形态学图像处理三、其他二值图像运算三、其他二值图像运算SE=strel(shape,parameters);I2=imopen(I,SE);%开运算I3=imclose(I,SE);%闭运算Ihm=bwhitmiss(I,SE1,SE2);%击中击不中变换四、连通分量提取四、连通分量提取L num=bwlabel(Ibw,conn);Ibw为一幅输入二值图像。conn为可选参数,指明提取连通分量是4连通还是8连通。默认为8。L为连通分量标注图像。num为二值图像Ibw中连通分量
11、个数。/7、形态学图像处理五、五、bwmorph函数函数Iout=bwmorph(I,operation,n)/7、形态学图像处理六、顶帽变换六、顶帽变换解决非均匀光照问题。顶帽变换定义为图像f与图像f的开运算之差。a=imread(red.bmp);I=rgb2gray(a);figure,surf(double(I(1:8:end,1:8:end),zlim(0 255),colormapgray;%显示图像I的三维可视化效果bg=imopen(I,strel(disk,15);%开运算Itophat=imsubtract(I,bg);%顶帽变换figure,imshow(Itophat)
12、;figure,surf(double(Itophat(1:8:end,1:8:end),zlim(0 255);I2=imadjust(Itophat);figure,imshow(I2);sffh原图像三维可视化效果顶帽变换后的三维可视化效果顶帽变换后图像对比度拉伸后效果/8、图像分割一、图像分割概述一、图像分割概述 图像分割一般采用的方法有边缘检测(edge detection)、边界跟踪(edge tracing)、区域生长(region growing)、区域分离和聚合等。 图像分割算法一般基于图像灰度值的不连续性或其相似性。 不连续性是基于图像灰度的不连续变化分割图像,如针对图像的
13、边缘有边缘检测、边界跟踪等算法。 相似性是依据事先制定的准则将图像分割为相似的区域,如阈值分割、区域生长等。二、边缘检测二、边缘检测 图像的边缘点是指图像中周围像素灰度有阶跃变化或屋顶变化的那些像素点,即灰度值导数较大或极大的地方。 边缘检测可以大幅度的减少数据量,并且剔除不相关信息,保留图像重要的结构属性。 边缘检测基本步骤:平滑滤波、锐化滤波、边缘判定、边缘连接。边缘检测算法边缘检测算法:基于一阶导数:Roberts算子、Sobel算子、Prewitt算子基于二阶导数:高斯-拉普拉斯边缘检测算子Canny边缘检测算法Matlab实现实现1)、基于梯度算子的边缘检测BW=edge(I,typ
14、e,thresh,direction,nothinning)thresh是敏感度阈值参数,任何灰度值低于此阈值的边缘将不会被检测到。默认值为空矩阵,此时算法自动计算阈值。direction指定了我们感兴趣的边缘方向,edge函数将只检测direction中指定方向的边缘,其合法值如下:可选参数nothinning,指定时可以通过跳过边缘细化算法来加快算法运行的速度。默认是thinning,即进行边缘细化。2)、基于高斯-拉普拉斯算子的边缘检测BW=edge(I,log,thresh,sigma)sigma指定生成高斯滤波器所使用的标准差。默认时,标准差为2。滤镜大小n*n,n的计算方法为:n=
15、ceil(sigma*3)*2+1。3)、基于Canny算子的边缘检测BW=edge(I,canny,thresh,sigma)thresh是敏感度阈值参数,默认值为空矩阵。此处为一列向量,为算法指定阈值的上下限。第一个元素为阈值下限,第二个元素为阈值上限。如果只指定一个阈值元素,则默认此元素为阈值上限,其0.4倍的值作为阈值下限。如阈值参数没有指定,则算法自行确定敏感度阈值上下限。b1=imread(nir.bmp);h58=fspecial(gaussian,5,0.8);b=imfilter(b1,h58);bw1=edge(b,sobel);%sobel算子bw2=edge(b,pre
16、witt);%prewitt算子bw3=edge(b,roberts);%roberts算子bw4=edge(b,log); %log算子bw5=edge(b,canny);%canny算子figure;imshow(bw1);imwrite(bw1,nirbwsobel.bmp);figure;imshow(bw2);imwrite(bw2,nirbwprewitt.bmp);figure;imshow(bw3);imwrite(bw3,nirbwroberts.bmp);figure;imshow(bw4);imwrite(bw4,nirbwlog.bmp);figure;imshow(b
17、w5);imwrite(bw5,nirbwcanny.bmp);Sobel算子roberts算子prewitt算子log算子canny算子分析分析1、边缘定位精度方面: Roberts算子和Log算子定位精度较高。Roberts算子简单直观,Log算子利用二阶导数零交叉特性检测边缘。但Log算子只能获得边缘位置信息,不能得到边缘方向信息。2、边缘方向的敏感性: Sobel算子、Prewitt算子检测斜向阶跃边缘效果较好,Roberts算子检测水平和垂直边缘效果较好。Log算子不具有边缘方向检测功能。Sobel算子能提供最精确的边缘方向估计。3、去噪能力: Roberts算子和Log算子虽然定位
18、精度高,但受噪声影响大。 Sobel算子和Prewitt算子模板相对较大因而去噪能力较强,具有平滑作用,能滤除一些噪声,去掉一部分伪边缘,但同时也平滑了真正的边缘,降低了其边缘定位精度。总体来讲,Canny算子边缘定位精确性和抗噪声能力效果较好,是一个折中方案。 三、三、Hough变换直线检测变换直线检测/8、图像分割步骤:步骤:利用hough()函数执行霍夫变换,得到霍夫矩阵;利用houghpeaks()函数在霍夫矩阵中寻找峰值点;利用houghlines()函数在之前两步结果的基础上得到原二值图像中的直线信息。H,theta,rho=hough(BW,param1,val1,param2,
19、val2)1、霍夫变换(针对二值图像)2、寻找峰值houghpeakspeaks=houghpeaks(H,numpeaks,param1,val1,param2,val2)peaks是一个Q*2的矩阵,每行的两个元素分别为某一峰值点在Hough矩阵中的行、列索引,Q为找到的峰值点的数目。3、提取直线段houghlineslines=houghlines(BW,theta,rho,peaks,param1,val1,param2,val2)返回值返回值lines的结构的结构I1=imread(004.jpg);I=rgb2gray(I1);%旋转图像并寻找边缘rotI=imrotate(I,3
20、3,crop);BW=edge(rotI,canny);%执行Hough变换并显示Hough矩阵H,T,R=hough(BW);figure;imshow(H,XData,T,YData,R,InitialMagnification,fit);xlabel(theta),ylabel(rho);axis on,axis normal,hold on;%在Hough矩阵中寻找前5个大于Hough矩阵中最大值0.3倍的峰值P=houghpeaks(H,5,threshold,ceil(0.3*max(H(:);x=T(P(:,2);y=R(P(:,1);%由行、列索引转换成实际坐标plot(x,y
21、,s,color,white);%在Hough矩阵图像中标出峰值位置%找出并绘制直线lines=houghlines(BW,T,R,P,FillGap,5,MinLength,7);%合并距离小于5的线段,丢弃所有长度小于7的直线段figure,imshow(rotI),hold onmax_len=0;for k = 1:length(lines)%依次标出各条直线段 xy=lines(k).point1;lines(k).point2; plot(xy(:,1),xy(:,2),x,LineWidth,2,Color,green); %绘制线段端点 plot(xy(1,1),xy(1,2)
22、,x,LineWidth,2,Color,yellow); plot(xy(2,1),xy(2,2),x,LineWidth,2,Color,red); %确定最长的线段 len=norm(lines(k).point1-lines(k).point2); if(lenmax_len) max_len=len; xy_long=xy; endend%高亮显示最长线段plot(xy_long(:,1),xy_long(:,2), LineWidth,2,Color,cyan);原图像Hough矩阵旋转并检测最长直线段/9、特征提取特征提取的一般原则:特征提取的一般原则:选择在同类图像之间差异较小
23、(较小的类内距),在不同类别的图像之间差异较大(较大的类间距)的图像特征。一、简单区域描绘子一、简单区域描绘子周长:区域边界上的像素数目。面积:区域中像素数目。致密性:(周长)2/面积。区域的质心。灰度均值:区域中所有像素的平均值。灰度中值:区域中所有像素的排序中值。包含区域的最小矩形。最小或最大灰度级。大于或小于均值的像素数。欧拉数:区域中的对象数减去这些对象的孔洞数。D=regionprops(L,properties);L为一个标记矩阵,通过连通1区域标注函数bwlabel得到。二、主成分分析(二、主成分分析(Principal Component Analysis,PCA)COEFF,
24、SCORE,latent=pincomp(X); X为原始样本组成n*d的矩阵,其每一行是一个样本特征向量,每一列表示样本特征向量的一维。 COEFF:主成分分量,也是样本协方差矩阵的本征向量。 SCORE:主成分,X的低维表示。 latent:一个包含着样本协方差矩阵本征值的向量。X=1,2;3,3;3,5;4,5;5,6;6,5;8,7;9,3;7,6;XCOEFF,SCORE,latent=princomp(X);%主成分分析COEFF%主成分分量SCORE%主成分latent%X样本协方差矩阵的本征值图像分割Contents 8.1 图像分割定义图像分割定义 8.2 使用阈值进行图像分
25、割使用阈值进行图像分割 8.3基于梯度的图像分割方法 8.4 边缘检测和连接 Contents 8.5 区域增长区域增长(Region Growing) 8.6 二值图像处理二值图像处理(Binary Image Processing) 8.7 分割图像的结构小结 8.1 图像分割定义图像分割定义 图像分割处理定义:将数字图像划分成互不相交(不重叠)区域的过程. 区域(region) 定义:像素的连通集。 连通(connectedness)定义 :在一个连通集中的任意两个像素之间,存住一条完全由这个集合的元素构成的连通路径。 8.2.1 全局阈值化思想:整个图像中将灰度阈值的值设置为常数。前提
26、条件:如果背景的灰度值在整个图像中可合理地看作为恒定,而且所有物体与背景都具有几乎相同的对比度,那么,只要选择了正确的阈值,使用一个固定的全局阈值一般会有较好的效果。 8.2.2 自适应阈值自适应阈值改进方法:在许多的情况下,背景的灰度值并不是常数,物件和背景的对比度在图像中也有变化,这时,一个在图像中某一区域效果良好的阈值在其它区域却可能效果很差。在这种情况下,把灰度阈值取成一个随图像中位置缓慢变化的函数值是适宜的。 8.2.3最佳阈值的选择最佳阈值的选择 除非图像中的物体有陡峭的边沿,否则灰度阈值的取值对所抽取物体的边界的定位和整体的尺寸有很大的影响。这意味着后续的尺寸(特别是面积)的测量
27、对于灰度阈值的选择很敏感。由于这个原因,我们需要一个最佳的,或至少是具有一致性的方法确定阈值。 1.直方图技术 含有一个与背景明显对比的物体的图像其有包含双峰的灰度直方图 直方图生成 a = imread(d:pici_boat_gray.bmp); imshow(a) figure imhist(a) 利用灰度阈值T对物体面积进行计算的定义是:TdDDHA)(TdDDHA)(TdDDHA)(TdDDHA)(TdDDHA)(2. 最大类间方差法最大类间方差法(OTSU)OTSU算法定义:该算法是在灰度直方图的基础上用最小二乘法原理推导出来的,具有统计意义上的最佳分割阈值。 OTSU基本原理:以
28、最佳阈值将图像的灰度直方图分割成两部分,是两部分之间的方差取最大值,即分离性最大。3. 迭代法求阈值迭代法求阈值 原理:图像中前景与背景之间的灰度分布为相互不重叠,在该前提下,实现对两类对象的阈值分割方法。 8.3基于梯度的图像分割方法基于梯度的图像分割方法思路对比: 区域分割方法:通过将图像划分为内部点集和外部点集来实现分割。边界方法:利用边界具有高梯度值的性质直接把边界找出来。 8.3.18.3.1边界跟踪边界跟踪 算法步骤 1:我们从一个梯度幅值图像着手进行处理, 这个图像是从一幅处于和物体具有反差的 背景中的单一物体的图像进行计算得来的。 2:搜索以边界起始点为中心的33邻域,找 出具
29、有最大灰度级的邻域点作为第2个边界点。 8.3.28.3.2梯度图像二值化梯度图像二值化 如果用适中的阈值对一幅梯度图像进行二值化,Kirsch的分割法利用了这种现象。 算法步骤 用一个中偏低的灰度阈值对梯度图像进行二值化从而检测出物体和背景,物体与背景被处于阈值之上的边界点带分开。随着阈值逐渐提高,就引起物体和背景的同时增长。当它们接触上而又不至于合并时,可用接触点来定义边界。这是分水岭算法在梯度图像中的应用。 Kirsch的分割算法 8.3.3拉普拉斯边缘检测 拉普拉斯算于是对二维函数进行运算的二阶导数标量算子。它定义为:),(),(),(22222yxfyyxfxyxf 一个无噪声图像具
30、有陡峭的边缘,可用拉普拉斯算子将它们找出来。对经拉普拉斯算子滤波后的图像用零灰度值进行二值化会产生闭合的、连通的轮廓并消除了所有的内部点。但是由于噪声的存在,在运用拉普拉斯算子之前需要先进行低通滤波。 选用高斯低通滤波器进行预先平滑是很合适的。由卷积的结合律可以将拉普拉斯算子和高斯脉冲响应组合成一个单一的高斯拉普拉斯核: 这个脉冲响应对x和y是可分离的,因此可以有效地加以实现。2222222222422221 121yxyxeyxe8.4 8.4 边缘检测和连接边缘检测和连接 边缘点 :确定图像中的物体边界的另一种方法是 先检测每个像素和其直接邻域的状态, 以决定该像素是否确实处于一个物体的
31、边界上。具有所需特性的像素被标为边 缘点。边缘图像:当图像中各个像素的灰度级用来反映各 像素符合边缘像素要求的程度时,这种 图像被称为边缘图像。 8.4.1边缘检测边缘检测 边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。有若干种方法可以使用,其中大多数是基于方向导数掩模求卷积的方法。Roherts边缘算子边缘算子 其中,f(x,y)是具有整数像素坐标的输入图像。其中的平方根运算使该处理类似于人类视觉系统中发生的过程。2 ) 1, 1(),(),(yxfyxfyxg212)1,(),1(yxfyxfSobel边缘算子边缘算子 两个卷积核形成了Sobel边缘算子。图像
32、中的每个点都用这两个核做卷积。一个核对通常的垂直边缘响应最大而另一个对水平边缘响应最大。两个卷积的最大值作为该点的输出值。运算结果是一幅边缘幅度图像。 Sobel边缘算子图边缘算子图Prewitt边缘算子边缘算子 Prewitr边缘算子Kirsch边缘算子边缘算子 图像中的每个点均与这8个模板进行卷积,每个掩模对某个特定边缘方向作出最大响应。所有8个方向中的最大值作为边缘幅度图像的输出。最大响应掩模的序号构成了对边缘方向的编码。Kirsch算子的梯度幅度值 ),max(),(87654321MMMMMMMMyxG Kirsch边缘算子 Kirsch边缘算子 边缘检测器性能边缘检测器性能:使用两
33、个掩模板组成边缘检测 器时,通常取较大得幅度作为输出值。这使 得它们对边缘的走向有些敏感。取它们的 平方和的开方可以获得性能更致的全方位 响应。这与真实的梯度值更接近。 边缘提取方法原图 边缘提取方法边缘提取后8.4.2边缘连接问题: 如果边缘很明显,而且噪声级低,那么可以将边缘图像二值化并将其细化为单像素宽的闭合连通边界图。然而在非理想条件下,这种边缘图像会有间隙出现,需要加以填充。 填充小的间隙可以简单地实现,通过搜索一个以某端点为中心的55或更大的邻域,在邻域中找出其它端点并填充上必要的边界像素,从而将它们连接起来。 对具有许多边缘点的复杂场景,这种方法可能会对图像过度分割。为了避免过度
34、的分割,可以规定:两个端点只有在边缘强度和走向相近的情况下才能连接。解决方法 启发式搜索 曲线拟合 Hough变换(1) 启发式搜索 假定在一幅边缘图像的某条边界上有一个像间隙的缺口,但是这 个缺口太长而不能仅用一条直线填充,它还可能不是同一条边界 上的缺口,可能在两条边界上。作为质量的度量,我们可以建立 一个可以在任意连接两端点(称为 A,B)的路径上进行计算的函数。 如果边缘质量函数很复杂而且要评价的缺口既多又长,启发式搜索技术的计算会很复杂。这样的技术在相对简单的图像中性能很好,但不一定能找出两端点间的全局最佳路径。(2) 曲线拟合 假定有一组散布在两个特定边缘点A和B之间的边缘点,我们
35、希望从中选取一个子集作为从A到B一条分段线性路径上的结点集。 首先:从A到B引一条直线。 其次:接着计算其它的每个边缘点到该直线的垂直距离。 (3) Hough变换 直线y=mx+b可用极坐标表示为 其中定义了一个从原点到线上最近点的向量。这个向量与该直线垂直。)sin()cos(yx 如果有一组位于由参数确定的直线上的边缘点,则每个边缘点对应了空间的一条正弦型曲线。所有这些曲线必交于点,因为这是它们共享的一条直线的参数。 建立一个在空间的二维直方图。对每个边缘点,我们将给所有与该点的Hough变换(正弦曲线)对应的空间的直方图方格一个增量。当对所有边缘点施行完这种操作后,包含的方格将具有局部
36、最大值。然后对空间的直方图进行局部最大值搜索可以获得边界线段的参数。hough直线检测结果 原图 直线检测结果8.5 区域增长区域增长 方法:从把一幅图像分成许多小区域开始的。这 些初始的区域可能是小的邻域甚至是单个 像素。在每个区域中,对经过适当定义的 能反映一个物体内成员隶属程度的性质 (度量)进行计算。用于区分不同物体内像 素的性质(度量)包括平均灰度值,纹 理,或颜色信息。 区域增长算法主要分成两类 (1)简单连接 这是基于单个像素的区域增长法,它从满足的 检测的点(连接核)开始,考察其周围(4邻域或8邻域)的不属于任何一个区域的点,如果其特性符合接收准则,就把它作为同一个区域加以合并
37、,形成连接核,继而检测周围的点,并把符合接入准则的点并入,产生新的核。重复上述过程,直到没有可并入的点时,生产过程结束。 (2)子区合并法 合并过程: 首先:将图像分割成个,大小为的小区域(简 称子区)。其次:从左上角第一个子区开始,分别计算子 区和相邻子区的灰度统计量,然后做相 似性判定。若两者的灰度分布相似且符 合接收准则。相邻子区并入当前子区, 形成下一轮判定合并时的当前子区。 如果某个相邻子区不符合接收准则,就打上“未分割标记”。继续新一轮判定,使当前子区不断“生长”,知道没有可归并的子区为止,一个区域分割完毕。最后:搜索图像全域,对凡具有“未分割标记” 的子区重复上述步骤。 相似性判
38、定准则一般是:121)()(maxTNFhFhN221)()(TNFhFhN8.6 二值图像处理二值图像处理 二值图像也就是只具有两个灰度级的图像,它是数字图像的一个重要子集。一个二值图像(例如,一个剪影像或一个轮廓图)通常是由一个图像分割操作产生的。如果初始的分割不够令人满意,对二值图像的某些形式的处理通常能提高其质量。 形态学图像处理术语 1. 集合论术语(Definition) 形态学处理语言中,二值图像B和结构元素S都是定义在二维笛卡儿网格上的集 合,“1”是这些集合中的元素。 当一个结构元素的原点位移到点(x,y)处时,我们将其记作。形态学运算的输出是另一个集合,这个运算可用一个集合
39、论方程来确定。 2. 腐蚀和膨胀(Dilation and Erosion)(1) 腐蚀 一般意义的腐蚀概念定义为: E =B S=x,y| B 如果S的原点位移到点(x,y),那么S将完全包含于B中。使用基本的33结构元素时,一般意义的腐蚀简化为简单腐蚀。(2) 膨胀 一般膨胀定义为: E =B S=x,y| B S对B膨胀产生的二值图像D是由这样的点(x,y)组成的集合,如果S的原点位移到(x,y),那么它与B的交集非空。采用基本的33结构造元素时,一般膨胀简化为简单膨胀。8.6.2开运算和闭运算 开运算 :先腐蚀后膨胀的过程称为开运算。它具有消除细小物体、在纤细点处分离物体、和平滑较大物
40、体的边界时又不明显改变其面积的作用。开运算定义为:SSBSB)( 闭运算 :先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。闭运算定义为: SSBSB)(8.6.3腐蚀和膨胀的变体腐蚀和膨胀的变体 通常反复施以腐蚀运算,将使一个物体变得不存在。类似地,反复膨胀将把一幅图像中的所有物体合并为一个。然而,这些过程可以改变一下,以便在一些应用中产生更合适的结果。(1) 收缩 定义: 当腐蚀以一种不触及单像素物件的方式执行时,这个过程称为收缩。 收缩可以迭代方式为一个包含近似圆形物体的二值图像生成物体尺寸的分布。 收缩时会使非常不圆的
41、物体(如哑铃状的物体)分解,因此这种技术存它的局限性。(2) 细化 定义:将一个曲线形物体细化为一条单像素宽的 线,从而图形化地显示出其拓扑性质。 腐蚀可编程过程: 第一步:足一个正常的腐蚀。 第二步:只将那些消除后并不破坏连通性的点消 除,否则保留。(3) 抽骨架 定义:一个与细化有关的运算,也称为中轴变 换(Medialaxis transform)或焚烧草地 技术(grass-fire technigue)。 抽骨架的实现与细化相似可采用一个两步有条件腐蚀实现,但是删除像素的规则略有不同。(4) 剪裁 细化和抽骨架过程会在所生成的阿中留下毛刺。 毛刺是由边界上单像素尺寸的起伏造成的,这些
42、起伏产生了小的分支。它们可通进一系列的消除端点的33运算(导致所有的分支缩短)除去,然后再重建那些留下的分支。 (5) 粗化 一些分割技术倾向于用紧贴的边界拟台物体以避免错误地合并它们。通常孤立物体的最佳边界太紧贴并不利于后续测量。粗化可在不合并彼此分离的物体的前提下扩大边界,从而修正了这种不足。 原图 腐蚀 膨胀 开操作 闭操作8.7 分割图像的结构 希望制作一幅新图像,以显示物体是如何调整的,或者用单独的图像显示每个物体。甚至还可能希望对单个物体逐个地进行进一步的测量或其它处理。在这些情况下,就需要抽取并以更方便的形式存储各个物体。 通常,每个物体在被检测时都应该标以一个序号。这个物体编号
43、可用来识别和跟踪景物中的物体。在这一节,我们讨论三种对分割图像进行结构化的方法。 8.7.1分水岭算法 分水岭算法 分水岭算法不是简单地将图像在最佳灰度级进行阈值处理,而是从一个偏低但仍然能正确分割各个物体的阈值开始。然后随着阈值逐渐上升到最佳值,使各个物体不会被合并。这个方法可以解决那些由于物体靠得太近而不能用全局阈值解决的问题。 如果初始的阈值太低,那么低对比度的物体开始时会被丢失,然后随着阈值的增加就会和相邻的物体合并。如果初始阈值太高,物体一开始便会被合并。最终的阈值决定了最后的边界与实际物体的吻合程度。分水岭方法和距离变换方法分割相互连接图像 二进制图像 距离变换方法 分水岭方法 8
44、.7.2 物体隶属关系图 在物体隶属关系图中,每个像素的灰度级按其在原始图像中所对应的像素所属的物体序号进行编码。 隶属关系图技术通用性很强,但它不是一种对保存分割信息特别紧凑的方法。它需要一幅附加的全尺寸的数字图像来描述甚至只包含一个小物体的场景。 如果仅对物体的大小和形状感兴趣,分割后可舍弃原始图像。如果仅有一个物体或物体不需要区分,还可以进一步减少数据量。 8.7.3边界链码 链码是从在物体边界上任意选取的某个起始点的(x,y)坐标开始的。这个起始点有8个邻接点,其中至少有一个是边界点。边界链码规定了从当前边界点走到下一个边界点这一步骤必须采用的方向。 生成边界链码时,由于必须在整幅图像
45、中跟踪边界,所叫常常需要对输入图像进行随机存取。采用图像分割中的边界跟踪技术时,链码的生成是一个自然的副产品。采用二值方法确定边界时,链码的生成不适于对存储在磁盘上的图像进行逐行处置。 小结(Chapter Summary) 图像分割是一个将一幅数字图像划分为不交叠的、连通的像素集的过程,其中一个对应于背景,其它的则对应于图像中的各个物体。利用为物体指定其像差或找出物体之间(或物体和背景之间)边界的方法来实现图像分割;在图像分割之间进行背景平滑和噪声消除,常常能改善分割时的性能。图像分割中采用自适应阈值方法较采用直方图分割具有较好的分割效果。针对较为复杂的图像我们则可以采用区域分割技术来实现,
46、针对图像分割结果我们则可以通过采用隶属关系图,边界链码,或线段编码来存储。第9章 彩色图像处理(Color Image Processing) 9.1 彩色基础(彩色基础(Fundamentals of Color and Vision) 9.2 彩色模型(彩色模型(Color Models)9.3 伪彩色处理(伪彩色处理(Pseudocolor Image ProcessingPseudocolor Image Processing)9.4 全彩色图像处理(全彩色图像处理(Full-Color Image Processing)9.5 彩色图像分割(彩色图像分割(Color Image Se
47、gmentation) 9.1 彩色基础(Fundamentals of Color and Vision) 白光白光 在在17世纪,牛顿通过三棱镜研究世纪,牛顿通过三棱镜研究对白光的折射就已发现:对白光的折射就已发现: 白光白光可被分解成一系列从紫到红的连可被分解成一系列从紫到红的连续光谱,从而证明白光是由不同颜色续光谱,从而证明白光是由不同颜色(而且这些颜色并不能再进一步被分解)(而且这些颜色并不能再进一步被分解)的光线相混合而组成的。的光线相混合而组成的。 可见光可见光 可见光可见光是由电磁波谱中相对较窄的波段是由电磁波谱中相对较窄的波段组成,如果一个物体比较均衡地反射各种组成,如果一个
48、物体比较均衡地反射各种光谱,则人看到的物体是白的;光谱,则人看到的物体是白的; 而如果一个物体对某些可见光谱反射的而如果一个物体对某些可见光谱反射的较多,则人看到的物体就呈现相对应的颜较多,则人看到的物体就呈现相对应的颜色。色。 例如,绿色物体反射具有例如,绿色物体反射具有500570nm(纳米)范围的光,吸收其他波长光的多(纳米)范围的光,吸收其他波长光的多数能量。数能量。9.1 彩色基础(Fundamentals of Color and Vision)图图9.1 可见范围电磁波谱的波长组成可见范围电磁波谱的波长组成9.1 彩色基础(Fundamentals of Color and Vi
49、sion) 人眼的吸收特性:人眼的吸收特性: 人眼的锥状细胞是负责彩色视觉的传感人眼的锥状细胞是负责彩色视觉的传感器,人眼的锥状细胞可分为三个主要的感器,人眼的锥状细胞可分为三个主要的感觉类别。觉类别。 大约大约65%65%的锥状细胞对红光敏感,的锥状细胞对红光敏感,33%33%对绿光敏感,只有对绿光敏感,只有2%2%对蓝光敏感。对蓝光敏感。 由于人眼的这些吸收特性,被看到的由于人眼的这些吸收特性,被看到的彩色是所谓的原色红(彩色是所谓的原色红(R R,redred)、绿)、绿(G(G,green)green)和蓝(和蓝(B B,blueblue)的各种组合。)的各种组合。 9.1 彩色基础(
50、Fundamentals of Color and Vision) 三原色原理三原色原理 其基本内容是:其基本内容是: 任何颜色都可以用任何颜色都可以用3种不同的基本颜色种不同的基本颜色按照不同比例混合得到,即按照不同比例混合得到,即 C=aC1+bC2+cC3 (9.1) 式中式中a,b,c =0 为三种原色的权值或者为三种原色的权值或者比例,比例,C1、C2、C3为三原色(又称为三为三原色(又称为三基色)。基色)。9.1 彩色基础(Fundamentals of Color and Vision) 三原色原理指出三原色原理指出 自然界中的可见颜色都可以用三种原色按自然界中的可见颜色都可以用