第八章二值图像处理与形状分析二值图像处理的流程如图所示。首先介绍二值图像的几何概念;其次是讲解二值图像连接成分的各种变形算法;最后简介二值图像特征提取与描述的各种方法。二值图像的连接性和距离在二值图像特征分析中最基础的概念是二值图像的连接性(亦称连通性)和距离。1.邻域和邻接对于任意像素(i,j),把像素的集合{(j+p,j+q)}(p,q是一对适当的整数)叫做像素(i,j)的邻域。直观上看,这是像素(i,j)附近的像素形成的区域。最经常采用的是4-邻域和8-邻域。①4-邻域与4-邻接②8-邻域与8-邻接连接1)四连接:当前像素为黑,其四个近邻像素中至少有一个为黑;2)八连接:当前像素为黑,其八个近邻像素中至少有一个为黑。四近邻八近邻连接域将相互连在一起的黑色像素的集合称为一个连通域。•四接连意义下为4个连通域。•八接连意义下为2个连通域。可以看到,通过统计连通域的个数,即可获得提取的目标物的个数。2.像素的连接对于二值图像中具有相同值的两个像素a和b,所有和a、b具有相同值的像素系列p0(=a),p1,p2,…,pn-1,pn(=b)存在,并且pi-1和pi互为4-/8-邻接,那么像素a和b叫做4-/8-连接,以上的像素序列叫4-/8-路径。如图3.连接成分在二值图像中,把互相连接的像素的集合汇集为一组,于是具有若干个0值的像素(0像素)和具有若干个1值的像素(1像素)的组就产生了。把这些组叫做连接成分。连接性矛盾示意图连接成分单重连接成分多重连接成分孔如果把1-像素看成8-连接,那么0-像素就必须用4-连接。像素的可删除性和连接数二值图像上改变一个像素的值后,整个图像的连接性并不改变(各连接成分既不分离、不结合,孔也不产生、不消失),则这个像素是可删除的。像素的可删除性可用像素的连接数来检测。二值图像中B(p)=1时,像素p的连接数Nc(p)为与p连接的连接成分数。SkkkkkcpBpBpBpBpN)()()()()(21)8(SkkkkkcpBpBpBpBpN)()()()()(21)4(计算像素p的4-/8-邻接的连接数公式分别为p2式中S={0,2,4,6},,当k+2=8时,p8=p0。像素p为边界点时,连接数N(c8)(p)表示为8-邻接(从像素P0到P7)像素的连接成分数。图(e)中N(c8)(p)由下式给出即连接成分数为1。如果是4-邻接,图(e)像素p的连接成分为{p0,p1,p2}和{p6}两个,那么连接数Nc(4)(p)=2。1)0100()0111()1100()0000()()()()()()()()()()()()()()()()()(8766654443222100)8(pBpBpBpBpBpBpBpBpBpBpBpBpBpBpBpBpNcpp1p3p4p5p6p7p0同一图像的像素,在4-或8-邻接的情况下,该像素的连接数是不同的。按连接数Nc(p)大小可将像素分为以下几种:⑴孤立点:B(p)=1的像素p,在4-/8-邻接的情况下,当其4-/8-邻接的像素全是0时,像素p叫做孤立点。其连接数Nc(p)=0。⑵内部点:B(p)=1的像素p,在4-/8-邻接的情况下,当其4-/8-邻接的像素全是1时,叫做内部点。内部点的连接数Nc(p)=0。⑶边界点:在B(p)=1的像素中,把除了孤立点和内部点以外的点叫做边界点。在边界点上,1≤Nc(p)≤4。Nc(p)=1的1像素为可删除点或端点;Nc(p)=2的1像素为连接点;Nc(p)=3的1像素为分支点;Nc(p)=4的1像素为交叉点。⑷背景点:把B(p)=0的像素叫做背景点。p7p5p3p2p4p6p1图中:p1表示孤立点;p2表示内部点;p3~p6表示边界点[Nc(8)(p3)=1,Nc(8)(p4)=2,Nc(8)(p5)=3,Nc(8)(p6)=4)];p7表示背景点。6.距离对于集合S中的两个元素p和q,当函数D(p,q)满足下式的条件时,把D(p,q)叫做p和q的距离,也称为距离函数。计算点(i,j)和(h,k)间距离常用的方法有:欧几里德距离de[(i,j),(h,k)]=((i-h)2+(j-k)2)1/2),(),(),(),(),(0),(rqDqpDrpDpqDqpDqpD4-邻点距离d4[(i,j),(h,k)]=|i-h|+|j-k|8-邻点距离d8[(i,j),(h,k)]=max(|i-h|,|j-k|)8角形距离d0[(i,j),(h,k)]=max{|i-h|,|j-k|,[2(|i-h|+|j-k|+1)/3]}二值图像连接成分的变形操作对二值图像进行增强处理,称为二值图像连接成分的变形操作。以便从二值图像中准确提取有关特征,连接成分的标记为区分二值图像中的连接成分,求得连接成分个数,对属于同一个1像素连接成分的所有像素分配相同的编号,对不同的连接成分分配不同的编号的操作,叫做连接成分的标记。膨胀和收缩膨胀就是把连接成分的边界扩大一层的处理。收缩则是把连接成分的边界点去掉从而缩小一层的处理。若输出图像为g(i,j),则它们的定义式为其他邻域的一个像元为或其像元收缩:其他邻域的一个像素为或其为像元膨胀:10-/8-4j)(i,0j)g(i,01-/8-41j)(i,1j)g(i,收缩和膨胀是数学形态学最基本的变换,数学令E=R2和E=Z2分别为二维欧几里德空间和欧几里德栅格。二值图像目标X是E的子集。用B代表结构元素,Bs代表结构元素B关于原点(0,0)的对称集合:即Bs是B旋转180°获得的。图给出了三种简单的结构元素。膨胀和腐蚀变换的定义式为:膨胀腐蚀BbbBs:XBEzXBXzBbbs:XBEzXBXzBbbs:··············+···+··+·············圆形方形菱形简单对称结构元素(圆形、方形和菱形)膨胀变换XBs是把结构元素B平移z后得到Bz,使Bz与X交集不为空集的所有点z构成的集合。膨胀是一个扩张的过程。这种变换目标扩张,洞收缩。腐蚀变换XBs是把结构元素B平移z以后得到Bz,使Bz包含于X的所有点z构成的集合。腐蚀变换的结果是X的子集,因此是一种收缩变换。这种变换使目标收缩,使孔洞扩张。膨胀和腐蚀是明可夫斯基加XB和明可夫斯基减XB的特殊情况。腐蚀•腐蚀是一种消除连通域的边界点,使边界向内收缩的处理。例:腐蚀的基本设计思想•设计一个结构元素,结构元素的原点定位在待处理的目标像素上,通过判断是否覆盖,来确定是否该点被腐蚀掉。二值图像结构元素结果图像腐蚀算法1)扫描原图,找到第一个像素值为1的目标点;2)将预先设定好形状以及原点位置的结构元素的原点移到该点;3)判断该结构元素所覆盖范围内的像素值是否全部为1:如果是,则腐蚀后图像中的相同位置上的像素值为1;如果不是,则腐蚀后图像中的相同位置上的像素值为0;4)重复2)和3),直到所有原图中像素处理完成。腐蚀处理例例:注:图像画面上边框处不能被结构元素覆盖的部分可以保持原来的值不变,也可以置为背景。腐蚀处理的应用•腐蚀处理可以将粘连在一起的不同目标物分离,并可以将小的颗粒噪声去除。膨胀•膨胀是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理。例:膨胀的基本设计思想•设计一个结构元素,结构元素的原点定位在背景像素上,判断是否覆盖有目标点,来确定是否该点被膨胀为目标点。二值图像结构元素结果图像膨胀算法1)扫描原图,找到第一个像素值为0的背景点;2)将预先设定好形状以及原点位置的结构元素的原点移到该点;3)判断该结构元素所覆盖范围内的像素值是否存在为1的目标点:如果是,则膨胀后图像中的相同位置上的像素值为1;如果不是,则膨胀后图像中的相同位置上的像素值为0;4)重复2)和3),直到所有原图中像素处理完成。膨胀处理例例:膨胀处理的应用•膨胀处理可以将断裂开的目标物进行合并,便于对其整体的提取。开运算与闭运算•前面介绍的膨胀与腐蚀运算,对目标物的后处理有着非常好的作用。但是,腐蚀和膨胀运算的一个缺点是,改变了原目标物的大小。•为了解决这一问题,考虑到腐蚀与膨胀是一对逆运算,将膨胀与腐蚀运算同时进行。由此便构成了开运算与闭运算。开运算•开运算是对原图先进行腐蚀处理,后再进行膨胀的处理。•开运算可以在分离粘连目标物的同时,基本保持原目标物的大小。腐蚀膨胀闭运算•闭运算是对原图先进行膨胀处理,后再进行腐蚀的处理。•闭运算可以在合并断裂目标物的同时,基本保持原目标物的大小。膨胀腐蚀开、闭运算的变形•如果当按照常规的开运算不能分离粘连,或者是闭运算不能合并断裂:•对于开运算可以先进行N次腐蚀,再进行N次膨胀;•对于闭运算可以先进行N次膨胀,再进行N次腐蚀。闭运算的变形例2次膨胀1次膨胀1次腐蚀2次腐蚀膨胀和腐蚀的反复使用就可检测或清除二值图像中的小成分或孔。线图形化(1).距离变换和骨架距离变换是求二值图像中各1像素到0像素的最短距离的处理。在经过距离变换得到的图像中,最大值点的集合就形成骨架,即位于图像中心部分的线像素的集合,也可以看作是图形各内接圆中心的集合。它反映了原图形的形状。给定距离和骨架就能恢复该图形,但恢复的图形不能保证原始图形的连接性。常用于图形压缩、提取图形幅宽和形状特征等。(2).细化细化是从二值图像中提取线宽为1像素的中心线的操作。(3)边界跟踪为了求得区域间的连接关系,必须沿区域的边界点跟踪像素,称之为边界(或边缘)跟踪。边界跟踪是在图像边缘连接明确的假设下进行的。但实际上很多图像的边缘连接并不是明显的,这时可以采用浓淡图像直接跟踪边缘的方法。直接跟踪浓淡图像边缘的时候,必须同时进行边缘检出。边缘检出算法之一,就是根据图像斜率的大小和方向跟踪边缘的像素。当边缘是直线时,这种方法比较简单。形状特征提取与分析形状分析是指用计算机图像处理与分析系统对图像中的诸目标提取形状特征,对图像进行识别和理解。区域形状特征的提取有三类方法:区域内部(包括空间域和变换域)形状特征提取;区域外部(包括空间域和变换域)形状特征提取;利用图像层次型数据结构,提取形状特征。区域内部形状特征提取与分析1)凹凸性2)区域的测量区域的大小及形状描述量:①面积:区域内像素的总和②周长:常用的有两种:一种计算方法是在区域的边界像素中,设某像素与其上下左右像素间的距离为1,与斜方向像素间的距离为2。周长就是这些像素间距离的总和。另一种计算方法将边界的像素总和作为周长。③圆形度:此外,常用的特征量还有区域的幅宽、占有率和直径等。)23.8()()(42周长面积R2.区域外部形状特征提取与分析区域的边界、骨架空间域分析1)方向链码描述边界的方向链码表示既便于有关形状特征的提取,又节省存储空间。从链码可以提取一系列的几何形状特征。如周长、面积某方向的宽度、矩、形心、两点之间的距离等。2)结构分析法利用二值图像的四叉树表示边界,可以提取如欧拉数、区域面积、矩、形心、周长等区域的形状特征。3.区域外形变换法区域外形变换是指对区域的边界作各种变换,包括区域边界的付立叶描述算子、Hough变换和广义Hough变换、区域边界和骨架的多项式逼近等。这样将区域的边界或骨架转换成向量或数量,并把它们作为区域的形状特征。第九章纹理分析提到纹理,人们自然会立刻想到木制家俱上的木纹、花布上的花纹等。木纹为天然纹理,花纹为人工纹理,它们反映了物体表面颜色和灰度的某种变化。这些变化与物体本身的属性相关。有些图像在局部区域内呈现不规则性,而在整体上表现出某种规律性。习惯上,把这种局部不规则而宏观有规律的特性称之为纹理;以纹理特性为主导的图像,常称为纹理图像;以纹理特性为主导特性的区域,常称为纹理区域。纹理作为一种区域特性,在图像的一定区域上才能反映或测量出来。为了定量描述纹理,多年来人们建立了许多纹理算法以测量纹理特性。这些方法大体可以分为两大类:统计分析法和结构分析法。前