Matlab图像处理与应用(第7章)
更新时间:2024-06-11 18:48:01 阅读量: 综合文库 文档下载
第7章 图像分割与特征提取及MATLAB实现
图像分割:是指将图像中有意义的对象与其背景分离,并把这些对象按照不同的含义分割开来,也就是说,把图像中具有不同含义的对象提取出来。
图像分割的方法:大致可以分为基于边缘检测的方法和基于区域生成的方法两大类。 边缘检测技术:是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析。
图像特征:是指图像的原始特性或属性。其中有些是视觉直接感受到的自然特征,如区域的亮度、边缘的轮廓、纹理或色彩等;有些是需要通过变换或测量才能得到的人为特征,如变换频谱、直方图、矩等。图像特征提取工作的结果给出了某一具体的图像中与其他图像相区别的特征。如:描述物体表面灰度变化的纹理特征,描述物体外形的形状特征等。这些特征提取的结果需要一定的表达方式,要让计算机能懂得,这就是本章的任务。
7.1边缘检测方法
图像边缘对图像识别和计算机分析十分有用,边缘能勾画出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等),是图像识别中重要的图像特征之一。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反映,它标志着一个区域的终结和另一个区域的开始。为了计算方便起见,通常选择一阶和二阶导数来检测边界,利用求导方法可以很方便地检测到灰度值的不连续效果。边缘的检测可以借助空域微分算子利用卷积来实现。常用的微分算子有梯度算子和拉普拉斯算子等,这些算子不但可以检测图像的二维边缘,还可检测图像序列的三维边缘。下面分别进行介绍。
7.1.1边缘算子法
(1)差分算子
图7.1是最常见的边缘,其灰度变化可能呈阶梯状,也可能呈脉冲状,对于图7. 1(a)和(d)所示的一阶差分和二阶差分如图7.1(b)、(c)和(e)、(f)。由图可知,差分图像中能够较精确地获得这两种类型的边缘。
边缘与差分值的关系归纳如下:边缘发生在差分最大值(如图7. 1(b))或最小值处(如图(f));边缘发生在过零点处(如图(c)、(e))。
图7.1常见边缘的一阶差分和二阶差分
(a)阶梯状边缘 (b)阶梯状边缘的一阶差分(c)阶梯状边缘的二阶差分 (d)脉冲状边缘 (e)脉冲状边缘的一阶差分(f)脉冲状边缘的二阶差分
1)梯度算子
在前面章节曾经讨论,在点f(m,n)处,梯度G[f(m,n)]的幅度为:
12???f???f??G?????? (7.1.1) ?f?m,n????????n?????m???22对于数字图像,式(7.1.1)可改写为:
1G??f?m,n???????mf其中:?mf?f?m,n??f?m?1,n?222??nf?? (7.1.2)
?nf?f?m,n??f?m,n?1? (7.1.3)
有时为了避免平方和运算,可将幅度用两个分量的绝对值之和或最大绝对值来表示,即
G??f?m,n?????mf??nf
或 G??f?m,n????ma?x?mf?,nf? (7.1.4)
取适当的门限T,如果G[f(m,n) ] > T,则(m,n)为阶跃状边缘点。
2)罗伯特(Robert)梯度
前面,在计算(m,n)点的梯度时只用到f(m,n), f(m-1,n)及f(m, n-1)的值。但实际上,任意一对相互垂直方向上的差分都可用来估计梯度。Robert梯度采用对角方向相邻两像素之差,即
?mf?f?m,n??f?m?1,n?1??nf?f?m?1,n??f?m,n?1? (7.1.5)
??12,n?1??2?有了?mf,?nf,很容易地算出Robert梯度的幅值。Robert梯度实际上是以?m?为中心的,应当把它们看成在这个中心点上连续梯度的近似。从图像处理的实际效果看,用式(7.1.5)的Robert梯度比用式(7.1.3)的梯度计算式来检测边缘要好。
3)拉普拉斯(Laplacian)算子
拉普拉斯(Laplacian)算子是一种二阶微分算子,也可用来提取图像的边缘。在数字图像处理中,其一般表示形式为:
?f2?m,n???u,v?s??f?u,v??f?m,n??? (7.1.6)
其中S是以f(m,n)为中心的邻点的集合,可以是上、下、左、右4邻点或8邻点的集合,或
者是对角线4邻点的集合(如图7.2所示),与其相对应的表达式分别为:
?f?m,n??f?m?1,n??f?m?1,n??f?m,n?1??f?m,n?1??4f?m,n? (7.1.7)
2?f?m,n??f?m?1,n?1??f?m?1,n??f?m?1,n?1??f?m,n?1??2f?m,n?1??f?m?1,n?1??f?m?1,n??f?m?1,n?1??8f?m,n?2 (7.1.8)
?f?m,n??f?m?1,n?1??f?m?1,n?1??f?m?1,n?1??f?m?1,n?1??4f?m,n? (7.1.9)
图7.2 Laplacian算子集合
下面以图7.3所示的图像边缘灰度分布,运用式(7.1.8)进行计算,以了解Laplacian算子用于边缘提取的特性。处理结果如图7.4。在图7.3和图7.4中,中心的点用作比较输人和输出图案的参考值,线框为处理范围。由图可知,
孤立点(图7.3(a))的输出是一个略为扩大或略带模糊的点,其输出幅度是该点灰度值的4倍(图7.4(a));
对于线结构(图7.3(b)),输出宽度加粗,外观仍呈线型,组成初始线的各位置上的?2f值是原来幅度的2倍(图7.4(b));
对阶跃边缘(图7.3(c)),其检测结果是线(图7.4(c))。
(a) (b) (c)
图7.3灰度分布
图7. 4 ?2f
以上是直接以?2f?m,n?作为边缘像素灰度,实际工作中也可以把?f?m,n??THg2或f?m,n???f?m,n?的像素作为边缘元。不同的定义方法其边缘检测出所获得的目标图
2像,在使用中可通过试验选择与实际图像相匹配的算法。
(2) Laplacian-Gauss算子
梯度算子和Laplacian算子对噪声比较敏感。对此,一方面可在运用这两种算子作边缘提取前,先用邻域平均法等作平滑处理,另一方面可先用高斯形二维低通滤波器对图像f(m,n)进行滤波,然后再对图像作Laplacian边缘提取,这种方法被称为Laplacian-Gauss算子法。具体是令g(m,n)为高斯低通滤波后的图像,?2g?m,n?表示边缘提取后图像,则有
?g?m,n??2?f?m22??f?n22?m2?n2??m2?n2???2?exp??? (7.1.10) ?2222?2???m?n2?????exp???22???g?m,n?式中,??W22,参数W为正瓣宽度(如图7.5)。
图7.5 ?g?m,n?算子的截面图
2
图7.5描述了函数?2g?m,n?的截面情况。它以坐标原点中心全方位对称,并带有与主瓣相反的拖尾。也可用Laplacian-Gauss算子对f(m,n)作卷积计算,所用窗口不宜太小,窗口尺寸与主瓣宽度有关,窗口模板内的系数之和为零。边缘与卷积计算 后的零交叉点对应。
7.1.2模板匹配法
模板是为了检测某些区域特征而设计的阵列。设有一个3×3模板窗口W,其元素Wi,j的位置如图7. 6(a)所示,一幅图像F的各元素f(m,n)的位置如图7.6(b)所示。模板匹配的过程是求乘积和的过程
lli,jg?m,n????f?m?i,n?j?Wi??lj??l (7.1.11)
其中,以g(m,n)为边缘检测模板输出,l = L/2 , L为窗口宽度,对于3×3模板窗口l=-1,0,1。在上述3×3模板例子中,可以分别把模板阵列W和局部图像堆叠成9维向量W=(W-1,-1, W0,-1,?, W1,1,)T以及F=(f(m-1,n-1), f(m,n-1),?, f(m+1,n+1))T,则式(7.1.1)的运算相当于计算两个向量W和F的内积FTW,即为
?F,W??FW?FWcos? (7.1.12)
T其中θ为两处向量之间的夹角,若|W| =1,内积就等于投影。因此,可以将式(7.1.11)的运算称作计算F在W上投影。下面分别讨论点、线条和边缘的模板。
图7.6 模板W及图像F的各元素
(1)点模板
图7.7所示为点模板,通常用于背景强度恒定、目标图像 灰度相同或基本相同的图像(如二值图像)。在检测区域时, 点模板通常是拖动模板在图像域移动,横向移动间隔取1个像
素,纵向移动间隔取1个扫描行。在每一个位置上,将模板元 图7.7匹配滤波器点模板 素分别与相应的图像灰度级相乘并求和(当和小于零时,可作 取绝对值和零对待两种处理)。
当g(m,n)=0时,说明模板位于均衡背景或目标区域内部; 当g(m,n)≠0时,表明当前窗口内既有背景也有目标;
当g(m,n) =max时,表明模板中心正好是目标和背景的交界处; 当g(m,n)值减少时,表明模板中心离开目标和背景的交界处。 图7.8所示的结果正好与之结论相吻合。其中,
图7. 8(a)是背景灰度为1、目标灰度为4的二值图像;图7. 8(b)是点模板中间计算结果;图7.8(c)是点模板最后匹配输出。
(2)线模板
图7.9所示为线模板,它能够有效地检出线型类型图像结构。其中W1、W2、W3、W4分别为00,450,900,-450四个方向的线模板。当W1、W2、W3、W4在图像域内自上而下、自左向右移动时,在背景灰度级不变、线宽度为1个像素的情况下,W1、W2、W3、W4模板分别对水平线、450方向线、垂直线与斜线(\)响应最佳。
图7.8点模板应用示例
(a)初始灰度级分布 (b)点模板中间计算结果 (c)点模板匹配输出
图7.9 匹配滤波器线模板
利用线模板对图像作线检测的过程为:对某一给定的窗口,分别计算模板W1、W2、W3、W4的匹配输出g l (m,n),l =1,2,3,4,窗口输出为
g?m,n??max?gl(m,n)? (7.1.13)
lli,j其中 g?m,n??
???i??lj??lf?m?i,n?j? (7.1.14)
图7.10初始图像灰度分布
式中ωi,j是线模板系数,对3×3窗口,i,j=-1,0,1。图7.10(a),(b),(c)为初始图像灰度分布,分别表示垂直、倾斜、水平三种线型图像结构(线框内)。图7.9中的线模板作匹配检测,其结果如图7.11(a) ,(b) ,(c)所示,可见线结构获得明显加强。
1 4 1 1 1 4 1 0 1 0 6 0 1 6 1 4 6 4 1 4 1 4 1 1 1 0 1
(a) (b) (c)
图7.11线模板示例
(3)边缘模板
边缘与区域间变化相对应。提取边缘经常采用的方法之一是使用某种形式的算子,如上面介绍的基于3×3样本的Laplacian算子和基于2×2样本的梯度。现在,将梯度的概念扩展到3×3子集,便可得到简便的Sobel梯度模板(如图7.12所示)。
-1 0 1 1 2 1 -2 0 2 0 0 0 -1 0 1 -1 -2 -1
(a) (b)
图7. 12 Sobel梯度模板
( a ) j方向模板(h'i,j) (b) k方向模板(h2i,j)
由此可得
Gj?[f?m?1,n?1??2f?m,n?1??f?m?1,n?1?]?[f?m?1,n?1??2f?m,n?1??f?m?1,n?1?ll (7.1.15)
???i??lj??lhi,jf?m?i,n?j?1Gk?[f?m?1,n?1??2f?m?1,n??f?m?1,n?1?]?[f?m?1,n?1??2f?m?1,n??f?m?1,n?1?ll (7.1.16)
???i??lj??lhi,jf?m?i,n?j?2即像点f(m,n)处的边缘提取输出为
22?g?m,n???G?Gk??j或g?m,n??Gj?Gk或g?m,n??maxGj,Gk??
(7.1.17)
由此可见,Gj为第1列和第3列的差;Gk为第1行和第3行的差;像点f(m,n)的4邻点((f(m ,n+1)、f(m,n-1)、f(m-1,n)、f(m +1,n))位置上的权重等于角隅上像点的2倍。当Gj>Gk时,在f(m,n)处的垂直方向的边缘通过;反之,则由水平方向的边缘通过。
7.1.3曲面拟合法
曲面似合法的边缘检测基本思路是用一个面或曲面去逼近一个图像面积元,然后用这个平面或曲面的梯度代替点的梯度,从而实现边缘检测。此方法在完成边缘检测的同时,能够较好地抑制噪声的干扰。下面介绍两种常用的曲面拟合法。
(1)一次平面拟合
假设图像面积元由f(m,n+1)、f(m+l,n+1)、f(m,n)、f(m+l,n)4个相邻像素组成,若用一次平面ax+by+c去拟合该面积元△s上4个相邻像素,则有
g(x,y)=ax+by+c (7.1.18)
若用此去逼近f(x,y),则两者之间存在均方误差为
???x,y?s??g?m,n??f?m,n????222??am?bn?c?f?m,n??????a?m?1??bn?c?f?m?1,n??????am?b?n?1??c?f?m,n?1??????a?m?1??b?n?1??c?f?m?1,n?1???22
(7.1.19)
为达到最佳吻合,应使均方误差最小,即上式对a,b,c分别求导并令其等于零,由此可求得
a?f?m?1,n??f?m?1,n?1?2f?m,n?1??f?m?1,n?1?2?f?m,n??f?m,n?1?2f?m,n??f?m?1,n?2 (7.1.21) (7.1.20)
b??c???3f?m,n??f?m?1,n??f?m,n?1??f?m?1,n?1??ma?nb?? (7.1.22)
41根据梯度定义,平面ax+by+c上的梯度幅度为
11???g?2??g??2222G?gx,y???a?b??????? (7.1.23) ???????x????y?????2即为
G??g?x,y????a?bG??g?x,y????max?a,b? (7.1.24)
由此可知:a是两列的平均值的差分;b是两行的平均值的差分。由于差分是建立在平滑基础
上,故对噪声就不像直接使用微分算子那样敏感。因为这个平面是对已知2×2邻域内的图像灰度级的最好近似,故可合理地把平面的梯度看作是该邻域的中心(m+1/2,n+1/2)点处图像 梯度的近似值。
(2)二次平面拟合
设检测像素所在面积元(如图7.13)为:
?s?{f?m?1,n?1?,f?m,n?1?,f?m?1,n?1?,f?m?1,n?,f?m,n?,f?m?1,n?,f?m?1,n?1?,f?m,n?1?,f?m?1,n?1?} (7.1.25)
如同一次曲面拟合那样,用二次曲面:g(x,y)=ax2+bxy+cy2+dx+ey+g拟合面积元△s,由此产
生均方误差为
???x,y?s??ax?bxy?cy?dx?ey?g??f?x,y???? (7.1.26)
222同样,若使均方误差最小,即ε分别对a,b,c,d,e,g求偏导,并令其分别为零,即有
???a?0???b?0???c?0???d?0???e?0???g?0 (7.1.27)
1???g?2??g?2?2?? 求得曲面梯度幅度。由此可求a,b,c,d,e,g。然后再根据G? ????g?x,y???????x?y????????f(m-1,n-1) f(m-1,n) f(m-1,n+1) f(m,n-1) f(m,n) f(m,n+1) f(m+1,n-1) f(m+1,n) f(m+1,n+1)
图7.13 9点面积元示意图
7.1.4 边缘检测的MATLAB实现方法
(1) MATLAB提供的用于灰度图像边缘的函数
在MATLAB中edge函数用于灰度图像边缘的提取,他支持6种不同的边缘提取方法,即Sobel方法、Prewitt方法、Roberts方法、Laplacian-Gaussian方法、过零点方法和Canny方法,其语法结构如下:
BW=edge(I, 'sobel')——指定Sobel边缘提取方法;
BW =edge( I, 'sobel', thresh)——指定具有阈值thresh的Sobel方法,即强度小于阈值的边缘被省略掉了,缺省时自动选取阈值。
BW=edge(I ,' sobel' , thresh, direction)——指定具有方向性的Sobel方法,为‘horizontal'(水平方向)或‘vertical'(垂直方向)或‘both'(两个方向),缺省时为‘both' ;
[BW,thresh]=edge(I, 'sobel' , - - - )——返回Sobel方法的阈值。 下面的调用与Sobel方法类似: BW=edge(I, 'prewitt')
BW=edge(I,'prewitt',thresh)
BW=edge(I,’prewitt',thresh,direction) [BW,thresh]=edge(I,'prewitt',?) BW=edge(I,'roberts')
BW=edge(I,'roberts',thresh) [BW,thresh]]=edge(I,'roberts',?) BW=edge(I,'log')
BW=edge(I,'log',thresh)
BW=edge(1,'log', thresh, sigma)——sigma是Laplacian-Gaussian函数的标准偏差 [BW,threshold]=edge{I,'log',?}
BW = edge (1,'zerocross',thresh,h)——h是用户指定的滤波函数 [BW,thresh]=edge(I,'zerocross',?) BW=edge(I,’canny')
BW=edge(I,'canny',thresh)
BW=edge(I,'canny',thresh,direction) [BW,threshold]=edge (I,'canny',?)
其中I为灰度图像,BW为黑白二值边缘图像。 (2)边缘检测的MATLAB实现方法
下面给出的是针对同一种图像的Sobel和Canny两种边缘检测器的不同效果的程序清单: I=imread('rice.tif'); BW1=edge(I,'sobel'); BW2=edge(I,'canny'); figure(1),imshow(I); figure(2),imshow(BW1); figure(3),imshow(BW2);
I=imread('rice.png'); BW1=edge(I,'sobel'); BW2=edge(I,'canny'); figure(1),imshow(I); figure(2),imshow(BW1); figure(3),imshow(BW2);
下面给出的是用“prewitt\”算法对图像rice.tif进行边缘检测程序清单: I=imread('rice.tif'); BW1=edge(I,'prewitt'); BW2=edge(I,'log');
subplot(2,2,1),imshow(I),title('原图');
subplot(2,2,2),imshow(BW1),title('prewitt算法'); subplot(2,2,3),imshow(BW2),title('log算法');
I=imread('rice.png'); BW1=edge(I,'prewitt'); BW2=edge(I,'log');
subplot(2,2,1),imshow(I),title('原图');
subplot(2,2,2),imshow(BW1),title('prewitt算法'); subplot(2,2,3),imshow(BW2),title('log算法');
7.2 灰度阂值分割法
在灰度图像中分离出有意义区域的最基本的方法是设置阈值的分割方法。
若图像中存在背景S0和n个不同意义的部分S1,S2,?,Sn(见图7. 16),或者说该图像有(n+1)个区域组成,各个区域内的灰度值相近,而各区域之间的灰度特性有明显差异,并设背景的灰度值最小,则可在各区域的灰度差异设置n个阈值T0,T1,?,Tn-1(T0 图7.16 图像中的区域(n=4) ?g0?g?1?g?i,j?????g?n?1??gnf?i,j??T0T0?f?i,j??T1?Tn?2?f?i,j??Tn?1f?i,j??Tn?1 (7.2.1) 式中,f(i,j)为原图像像素的灰度值;g(i,j)为区域分割处理后图像上像素的输出结果;g0,g1, g2,?,gn分别为处理后背景S0,区域S1,,区域S2,?,区域Sn中像素的输出值或某种标记。图像各点经以上灰度阈值法处理后,各个有意义区域就从图像背景中分离出来。 在简单图像中常常只出现背景和一个有意义部分两个区域(如图7.17(a)),这时只需要设置一个阈值,就能完成分割处理,并形成仅有两种灰度值的二值图像。有时,同一类型的有意义区域在图像中重复出现多个(如图7.17(b)),它们的灰度特性相同,属于同一种景物,此时,一种区域由多个子区域组成。 图像中区域的范围常常是模糊的,因此如何选取阈值便成为区域分割处理中的关键问题。 (e)(f) 图7.17简单图像中的区域和双峰法阂值分割 (a) 两区域图像 (b)有子区域的两区域图像 (c)图(a)的直方图 (d)图(b)的直方图 (e) T0为160时图(a)的区域分割结果 (f) T0为110时图(b)的区域分割结果 7.2.1 双峰法 在一些简单图像中,对象物的灰度分布较有规律,背景和各个对象物在图像的灰度直方图上各自形成一个波峰,即区域和波峰一一对应。由于每个波峰间形成一个低谷,因而选择双峰间低谷处所对应的灰度值为阈值,可将两个区域分离。依此类推,可在图像背景中分离出各类有意义的区域。图7.17(c),图7.17(d)为两个区域的简单图像的灰度直方图,当分别取
正在阅读:
Matlab图像处理与应用(第7章)06-11
高一年级“数理化”三科竞赛数 学 试 题及答案20131704-25
西部开发应当知识先行08-07
露天矿爆破作业的施工程序、设计及方案08-18
新北师大版(2016)三年级上册语文全册教学设计(课后反思和备课资03-08
中国诗歌发展史概述09-05
电梯施工方案11-17
高坝店镇中心幼儿园项目绩效评价报告03-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 图像处理
- 应用
- Matlab
- 陕西省师大附中、西工大附中2010-2011学年高三数学第一次模拟考
- 九年级物理《电流做功的快慢》同步练习2 沪科版
- 债券交易价格波动研究的数学问题
- 6章:现场查勘与人伤
- 2018安顺市最新重点中学小升初数学模拟试题(9)附答案
- 集体制时期中国农民的日常劳动策略
- 塔里木油田试油井控实施细则(发布稿) - 图文
- 关于发布社会保障费费用标准(2012年度)的通知
- 2011年中央电大《资产评估》期末复习练习及参考答案
- 语言学概论试题(9)
- 2018高考语文各地模拟卷实用类非连续性文本阅读60篇(附答案解释)
- 火灾自动报警系统毕业论文中英文资料外文翻译文献
- 我国房地产市场的现状、问题及对策分析
- 临沧生物制药的调查报告
- 拒绝零食倡议书
- 全国计算机等级考试二级笔试试卷基础部分和C语言程序设计1998年4
- 德育是教育教学中的一个永恒主题1
- 文件系统实验报告
- 自动售报机的设计-毕业设计
- 地方立法中部门利益之消解路径探析