1、本章重点:本章重点:图像特征及特征提取的基本概念。图像特征及特征提取的基本概念。常见的图像特征提取与描述方法,如颜色常见的图像特征提取与描述方法,如颜色特征、纹理特征和几何形状特征提取与描特征、纹理特征和几何形状特征提取与描述方法。述方法。第第8 8章章 图像特征提取与分析图像特征提取与分析 8.1 8.1 基本概念基本概念 8.2 8.2 颜色特征描述颜色特征描述 8.3 8.3 形状特征描述形状特征描述 8.4 8.4 图像的纹理分析技术图像的纹理分析技术8.5 8.5 小结小结8.1 8.1 基本概念基本概念 目的目的 让计算机具有认识或者识别图像的能力,即图像识别。让计算机具有认识或者
2、识别图像的能力,即图像识别。特征选择是图像识别中的一个关键问题。特征选择和特征选择是图像识别中的一个关键问题。特征选择和提取的基本任务是如何从众多特征中找出最有效的特提取的基本任务是如何从众多特征中找出最有效的特征。征。 特征形成特征形成 根据待识别的图像,通过计算产生一组原始特征,称之根据待识别的图像,通过计算产生一组原始特征,称之为特征形成。为特征形成。特征提取特征提取原始特征的数量很大,或者说原始样本处于一个高维空间中,通原始特征的数量很大,或者说原始样本处于一个高维空间中,通过映射或变换的方法可以将高维空间中的特征描述用低维空间的过映射或变换的方法可以将高维空间中的特征描述用低维空间的
3、特征来描述,这个过程就叫特征提取特征来描述,这个过程就叫特征提取 。特征选择特征选择从一组特征中挑选出一些最有效的特征以达到降低特征空间维数从一组特征中挑选出一些最有效的特征以达到降低特征空间维数的目的,这个过程就叫特征选择。的目的,这个过程就叫特征选择。 选取的特征应具有如下特点:选取的特征应具有如下特点:可区别性可区别性可靠性可靠性独立性好独立性好数量少数量少8.2 8.2 颜色特征描述颜色特征描述 8.2.1 8.2.1 颜色矩颜色矩 8.2.2 8.2.2 颜色直方图颜色直方图 8.2.3 8.2.3 颜色集颜色集8.2.4 8.2.4 颜色相关矢量颜色相关矢量 8.2.1 8.2.1
4、 颜色矩颜色矩 颜色矩是以数学方法为基础的,通过计算矩来颜色矩是以数学方法为基础的,通过计算矩来描述颜色的分布。描述颜色的分布。 颜色矩通常直接在颜色矩通常直接在RGBRGB空间计算空间计算 颜色分布的前三阶矩表示为:颜色分布的前三阶矩表示为:8.2.2 8.2.2 颜色直方图颜色直方图 设一幅图像包含设一幅图像包含MM个像素,图像的颜色空间被个像素,图像的颜色空间被量化成量化成N N个不同颜色。颜色直方图个不同颜色。颜色直方图H H定义为:定义为: (8-48-4) 为第为第i i种颜色在整幅图像中具有的像素数。种颜色在整幅图像中具有的像素数。归一化为:归一化为: (8-5)(8-5)ih由
5、于由于RGBRGB颜色空间与人的视觉不一致,可将颜色空间与人的视觉不一致,可将RGBRGB空间空间转换到视觉一致性空间。除了转换到前面提及的转换到视觉一致性空间。除了转换到前面提及的HSIHSI空空间外,还可以采用一种更简单的颜色空间:间外,还可以采用一种更简单的颜色空间: 这里,这里,max=255max=255。 彩色图像变换成灰度图像的公式为:彩色图像变换成灰度图像的公式为: 其中其中R,G,BR,G,B为彩色图像的三个分量,为彩色图像的三个分量,g g为转换后的灰度值。为转换后的灰度值。8.2.3 8.2.3 颜色集颜色集 颜色直方图和颜色矩只是考虑了图像颜色的整体分布,颜色直方图和颜
6、色矩只是考虑了图像颜色的整体分布,不涉及位置信息。不涉及位置信息。颜色集表示则同时考虑了颜色空间的选择和颜色空间颜色集表示则同时考虑了颜色空间的选择和颜色空间的划分的划分 使用颜色集表示颜色信息时,通常采用颜色空间使用颜色集表示颜色信息时,通常采用颜色空间HSLHSL定义:定义:设设B BMM是是MM维的二值空间,在维的二值空间,在BMBM空间的每个轴对应唯空间的每个轴对应唯一的索引一的索引m m。一个颜色集就是一个颜色集就是BMBM二值空间中的一个二值空间中的一个二维矢量,它对应着对颜色二维矢量,它对应着对颜色 mm的选择,即颜色的选择,即颜色m m出现时,出现时,cm=1,cm=1,否则,
7、否则,cm=0cm=0。实现步骤:实现步骤:对于对于RGBRGB空间中任意图像,它的每个像素可以表示空间中任意图像,它的每个像素可以表示为一个矢量为一个矢量 。变换变换T T将其变换到另一与人视觉一致的颜色空将其变换到另一与人视觉一致的颜色空间间 ,即,即 。采用量化器采用量化器QMQM对对 重新量化,使得视觉上明显不重新量化,使得视觉上明显不同的颜色对应着不同的颜色集,并将颜色集映射成同的颜色对应着不同的颜色集,并将颜色集映射成索引索引m m。 颜色集可以通过对颜色直方图设置阈值直接生成,如对颜色集可以通过对颜色直方图设置阈值直接生成,如对于一颜色于一颜色m m,给定阈值给定阈值 ,颜色集与
8、直方图的关系如下:,颜色集与直方图的关系如下: 因此,颜色集表示为一个二进制向量因此,颜色集表示为一个二进制向量 8.2.4 8.2.4 颜色相关矢量颜色相关矢量 颜色相关矢量颜色相关矢量CCV(Color Correlation Vector) CCV(Color Correlation Vector) 表示方法与表示方法与颜色直方图相似,但它同时考虑了空间信息颜色直方图相似,但它同时考虑了空间信息。设设H H是颜色直方图矢量,是颜色直方图矢量,CCVCCV的计算步骤:的计算步骤: 图像平滑:目的是为了消除邻近像素间的小变化的图像平滑:目的是为了消除邻近像素间的小变化的影响。影响。 对颜色空
9、间进行量化,使之在图像中仅包含对颜色空间进行量化,使之在图像中仅包含n n个不个不同颜色。同颜色。在一个给定的颜色元内,将像素分成相关或不相关在一个给定的颜色元内,将像素分成相关或不相关两类。两类。 根据各连通区的大小,将像素分成相关和不相关两根据各连通区的大小,将像素分成相关和不相关两部分部分 。8.3 8.3 形状特征描述形状特征描述 8.3.1 8.3.1 几个基本概念几个基本概念8.3.2 8.3.2 区域内部空间域分析区域内部空间域分析 8.3.3 8.3.3 区域内部变换分析区域内部变换分析 8.3.4 8.3.4 区域边界的形状特征描述区域边界的形状特征描述8.3.18.3.1几
10、个基本概念几个基本概念 邻域与邻接邻域与邻接 对于任意像素对于任意像素( (i,j),(s,t)i,j),(s,t)是一对适当的整数,则把像素的集合是一对适当的整数,则把像素的集合( (i+s,j+t)i+s,j+t)叫做像素叫做像素( (i,j)i,j)的邻域的邻域. .直观上看,这是像素直观上看,这是像素( (i,j)i,j)附近的像素形成的区域附近的像素形成的区域. .最经常采用的是最经常采用的是4- 4-邻域和邻域和8- 8-邻域邻域 (a)(b)4-邻域和8-邻域邻域与邻接邻域与邻接 互为互为4- 4-邻域的两像素叫邻域的两像素叫4- 4-邻接。邻接。 互为互为8- 8-邻域的两像素
11、叫邻域的两像素叫8- 8-邻接。邻接。 对于图像中具有相同值的两个像素对于图像中具有相同值的两个像素A A和和B B,如果所有和如果所有和A A、B B具具有相同值的像素序列有相同值的像素序列 存在,并且存在,并且 和和 互为互为4- 4-邻接或邻接或8- 8-邻接,那么像素和叫做邻接,那么像素和叫做4- 4-连接或连接或8- 8-连接,以连接,以上的像素序列叫上的像素序列叫4- 4-路径或路径或8- 8-路径。路径。像素的连接像素的连接 像素的连接像素的连接 在图像中,把互相连接的像素的集合汇集为一组,于是具有若干个在图像中,把互相连接的像素的集合汇集为一组,于是具有若干个0 0值的像素和具
12、有若干个值的像素和具有若干个l l值的像素的组就产生了。把这些组叫做连接值的像素的组就产生了。把这些组叫做连接成分,也称作连通成分。成分,也称作连通成分。 在研究一个图像连接成分的场合,若在研究一个图像连接成分的场合,若1 1像素的连接成分用像素的连接成分用4- 4-连接或连接或8- 8-连接,而连接,而0 0像素连接成分不用相反的像素连接成分不用相反的8- 8-连接或连接或4- 4-连接就会产生矛盾。连接就会产生矛盾。假设各个假设各个1 1像素用像素用8- 8-连接,则其中的连接,则其中的0 0像素就被包围起来。如果对像素就被包围起来。如果对0 0像像素也用素也用8- 8-连接,这就会与左下
13、的连接,这就会与左下的0 0像素连接起来,从而产生矛盾。因像素连接起来,从而产生矛盾。因此此0 0像素和像素和1 1像素应采用互反的连接形式,即如果像素应采用互反的连接形式,即如果1 1像素采用像素采用8- 8-连接,连接,则则0 0像素必须采用像素必须采用4- 4-连接。连接。连接成分连接成分 连接性矛盾示意图连接性矛盾示意图在在0- 0-像素的连接成分中,如果存在和图像外围的像素的连接成分中,如果存在和图像外围的1 1行或行或1 1列的列的0- 0-像像素不相连接的成分,则称之为孔。不包含有孔的素不相连接的成分,则称之为孔。不包含有孔的1 1像素连接成分像素连接成分叫做单连接成分。含有孔的
14、叫做单连接成分。含有孔的l l像素连接成分叫做多重连接成分。像素连接成分叫做多重连接成分。 区域内部空间域分析是不经过变换而直接在图像的空间区域内部空间域分析是不经过变换而直接在图像的空间域,对区域内提取形状特征。域,对区域内提取形状特征。 1. 1.欧拉数欧拉数 图像的欧拉数是图像的拓扑特性之图像的欧拉数是图像的拓扑特性之,它表明了图像的连通性。下,它表明了图像的连通性。下图图 ( (a) a)的图形有一个连接成分和一个孔,所以它的欧拉数为的图形有一个连接成分和一个孔,所以它的欧拉数为0 0,而下图,而下图(b b)有一个连接成分和两个孔,所以它的欧拉数为有一个连接成分和两个孔,所以它的欧拉
15、数为-1 -1。 可见通过欧拉数可用于目标识别。可见通过欧拉数可用于目标识别。8.3.28.3.2区域内部空间域分析区域内部空间域分析具有欧拉数为具有欧拉数为0 0和和-1 -1的图形的图形 用线段表示的区域,可根据欧拉数来描述。如下图中的多边形网,把用线段表示的区域,可根据欧拉数来描述。如下图中的多边形网,把这多边形网内部区域分成面和孔。如果设顶点数为这多边形网内部区域分成面和孔。如果设顶点数为WW,边数为边数为Q Q,面面数为数为F F,则得到下列关系,这个关系称为欧拉公式。则得到下列关系,这个关系称为欧拉公式。 图中的多边形网,有图中的多边形网,有7 7个顶点、个顶点、1111条边、条边
16、、2 2个面、个面、1 1个连接区、个连接区、3 3个孔,个孔,因此,由上式可得到因此,由上式可得到 。 包含多角网络的区域 2312117E 一幅图像或一个区域中的连接成分数一幅图像或一个区域中的连接成分数C C和孔数和孔数H H不会受图像的伸不会受图像的伸长、压缩、旋转、平移的影响,但如果区域撕裂或折叠时,长、压缩、旋转、平移的影响,但如果区域撕裂或折叠时,C C和和H H就会发生变化。可见,区域的拓扑性质对区域的全局描述是很就会发生变化。可见,区域的拓扑性质对区域的全局描述是很有用的,欧拉数是区域一个较好的描述子。有用的,欧拉数是区域一个较好的描述子。2. 2.凹凸性凹凸性 凹凸性是区域
17、的基本特征之一,区域凹凸性可通过以下方法进行判凹凸性是区域的基本特征之一,区域凹凸性可通过以下方法进行判别:区域内任意两像素间的连线穿过区域外的像素,则此区域为凹别:区域内任意两像素间的连线穿过区域外的像素,则此区域为凹形。相反,连接图形内任意两个像素的线段,如果不通过这个图形形。相反,连接图形内任意两个像素的线段,如果不通过这个图形以外的像素,则这个图形称为是凸的。任何一个图形,把包含它的以外的像素,则这个图形称为是凸的。任何一个图形,把包含它的最小的凸图形叫这个图形的凸闭包。最小的凸图形叫这个图形的凸闭包。 凸图形的凸闭包就是它本身。从凸闭包除去原始图形的部分后,所凸图形的凸闭包就是它本身
18、。从凸闭包除去原始图形的部分后,所产生的图形的位置和形状将成为形状特征分析的重要线索。凹形面产生的图形的位置和形状将成为形状特征分析的重要线索。凹形面积可将凸封闭包减去凹形得到。积可将凸封闭包减去凹形得到。区域的凹凸性区域的凹凸性 3. 3.距离距离 距离在实际图像处理过程中往往是作为一个特征量出现,因此对其距离在实际图像处理过程中往往是作为一个特征量出现,因此对其精度的要求并不是很高。所以对于给定图像中三点精度的要求并不是很高。所以对于给定图像中三点A,B,CA,B,C,当函数当函数D(A,B)D(A,B)满足下式的条件时,把满足下式的条件时,把D(A,B)D(A,B)叫做叫做A A和和B
19、B的距离,也称为距离的距离,也称为距离函数。函数。 第一个式子表示距离具有非负性,并且当第一个式子表示距离具有非负性,并且当A A和和B B重合时,等号成立;重合时,等号成立; 第二个式子表示距离具有对称性第二个式子表示距离具有对称性 第三个式子表示距离的三角不等式。第三个式子表示距离的三角不等式。 计算点计算点( (i,j)i,j)和和( (h,k)h,k)间距离常采用的几种方法:间距离常采用的几种方法: (1 1)欧氏距离,用)欧氏距离,用 来表示。来表示。 (2 2) 4- 4-邻域距离,也称为街区距离。邻域距离,也称为街区距离。(3 3) 8- 8-邻域距离,也称为棋盘距离。邻域距离,
20、也称为棋盘距离。 这三种距离之间的关系:这三种距离之间的关系: ,如图所示。街区距离和棋、盘距离都,如图所示。街区距离和棋、盘距离都是欧式距离的一种近似。是欧式距离的一种近似。 下图中表示了以中心像素为原点的各像素的距离。从离开一个像素下图中表示了以中心像素为原点的各像素的距离。从离开一个像素的等距离线可以看出,在欧氏距离中大致呈圆形,在棋盘距离中呈的等距离线可以看出,在欧氏距离中大致呈圆形,在棋盘距离中呈方形,在街区距离中呈倾斜方形,在街区距离中呈倾斜4545度的正方形。街区距离是图像中两点度的正方形。街区距离是图像中两点间最短的间最短的4 4连通的长度,而棋盘距离则是两点间最短的连通的长度
21、,而棋盘距离则是两点间最短的8 8连通的连通的长度。长度。 此外,把此外,把4- 4-邻域距离和邻域距离和8- 8-邻域距离组合起来而得到的八角形距离有时邻域距离组合起来而得到的八角形距离有时也被采用,它的等距线呈八角形。也被采用,它的等距线呈八角形。4. 4.区域的测量区域的测量 区域的大小及形状表示方法主要包括以下几种:区域的大小及形状表示方法主要包括以下几种:(1 1)面积)面积S S:图像中的区域面积图像中的区域面积S S可以用同一标记的区域内像素的个可以用同一标记的区域内像素的个数总和来表示。数总和来表示。 按上述表示法区域按上述表示法区域R R的面积的面积S=41S=41。区域面积
22、可以通过扫描图像,区域面积可以通过扫描图像,累加同一标记像素得到,或者是直接在加标记处理时计数得到。累加同一标记像素得到,或者是直接在加标记处理时计数得到。区域的面积和周长 (2 2)周长)周长L L:区域周长区域周长L L是用区域中相邻边缘点间距离之和来表示。是用区域中相邻边缘点间距离之和来表示。采用不同的距离公式,关于周长采用不同的距离公式,关于周长L L的计算有很多方法。常用的有的计算有很多方法。常用的有两种:两种:一种计算方法是采用欧式距离,在区域的边界像素中,设某一种计算方法是采用欧式距离,在区域的边界像素中,设某像素与其水平或垂直方向上相邻边缘像素间的距离为像素与其水平或垂直方向上
23、相邻边缘像素间的距离为1 1,与倾斜,与倾斜方向上相邻边缘像素间的距离为方向上相邻边缘像素间的距离为 。周长就是这些像素间距离的。周长就是这些像素间距离的总和。这种方法计算的周长与实际周长相符,因而计算精度比较总和。这种方法计算的周长与实际周长相符,因而计算精度比较高。高。 另一种计算方法是采用另一种计算方法是采用8 8邻域距离,将边界的像素个数总和作为邻域距离,将边界的像素个数总和作为周长。也就是说,只要累加边缘点数即可得到周长,比较方便,周长。也就是说,只要累加边缘点数即可得到周长,比较方便,但是,它与实际周长间有差异。根据这两种计算周长的方式,以但是,它与实际周长间有差异。根据这两种计算
24、周长的方式,以区域的面积和周长图为例,区域的周长分别是区域的面积和周长图为例,区域的周长分别是 和和2222。(3 3)圆形度)圆形度R R0 0:圆形度圆形度R R0 0用来描述景物形状接近圆形的程度,它是用来描述景物形状接近圆形的程度,它是测量区域形状常用的量。其计算公式为:测量区域形状常用的量。其计算公式为: 式中为式中为S S区域面积;区域面积;L L为区域周长为区域周长R R0 0值的范围为值的范围为 ,R R0 0值的大小反值的大小反映了被测量边界的复杂程度,越复杂的形状取值越小。映了被测量边界的复杂程度,越复杂的形状取值越小。R R0 0值越大,值越大,则区域越接近圆形。则区域越
25、接近圆形。 (4 4)形状复杂性)形状复杂性e e:形状复杂性常用离散指数表示,其计算公式为:形状复杂性常用离散指数表示,其计算公式为: 该式描述了区域单位面积的周长大小,该式描述了区域单位面积的周长大小,e e值越大,表明单位面积值越大,表明单位面积的周长大,即区域离散,则为复杂形状;反之,则为简单形状。的周长大,即区域离散,则为复杂形状;反之,则为简单形状。e e值值最小的区域为圆形。最小的区域为圆形。 典型连续区域的计算结果为:圆形典型连续区域的计算结果为:圆形e=12.6e=12.6;正方形正方形e=16.0e=16.0;正三正三角形角形e=20.8e=20.8。 此外,常用的特征量还
26、有区域的幅宽、占有率和直径等。此外,常用的特征量还有区域的幅宽、占有率和直径等。8.3.3 8.3.3 区域内部变换分析区域内部变换分析 区域内部变换分析是形状分析的经典方法区域内部变换分析是形状分析的经典方法, ,它包括求区它包括求区域的各阶统计矩、投影和截口等。域的各阶统计矩、投影和截口等。 1. 1.矩法矩法 具有两个变元的有界函数具有两个变元的有界函数f(x,y)f(x,y)的的p+qp+q阶矩定义为阶矩定义为 这里这里p p和和q q可取所有的非负整数值。参数称为可取所有的非负整数值。参数称为p+qp+q矩的阶。矩的阶。 由于由于p p和和q q可取所有的非负整数值,它们产生一个矩的
27、无限可取所有的非负整数值,它们产生一个矩的无限集。而且,这个集合完全可以确定函数集。而且,这个集合完全可以确定函数f(x,y)f(x,y)本身。换句话说,本身。换句话说,集合集合 m mpqpq 对于函数是唯一的,也只有对于函数是唯一的,也只有f(x,y)f(x,y)才具有该特定的矩集。才具有该特定的矩集。 对于大小为对于大小为 的数字图像的数字图像f(i,j)f(i,j)的矩为的矩为: :(1 1)区域形心位置)区域形心位置 0 0阶矩阶矩m m0000是图像灰度是图像灰度f(i,j)f(i,j)的总和。二值图像的的总和。二值图像的m m0000则表示对象物的面积。则表示对象物的面积。如果用
28、如果用m m0000来规格化来规格化1 1阶矩阶矩m m1010及及m m0101,则得到一个物体的重心坐标,则得到一个物体的重心坐标 : (2 2)中心矩)中心矩 中心矩是以重心作为原点进行计算:中心矩是以重心作为原点进行计算: 中心矩具有位置无关性,利用中心矩可以提取区域的一些基本形状特征。中心矩具有位置无关性,利用中心矩可以提取区域的一些基本形状特征。 利用中心矩计算公式可以计算出三阶以下的中心矩:利用中心矩计算公式可以计算出三阶以下的中心矩: 把中心矩再用零阶中心矩来规格化,叫做规格化中心矩,记作把中心矩再用零阶中心矩来规格化,叫做规格化中心矩,记作 ,表达式为表达式为 :式中:式中:
29、 rpqpqMM00, 4 , 3 , 2 qp2qpr(3 3)不变矩)不变矩 为了使矩描述子与大小、平移、旋转无关,可以用二阶和三阶规格化为了使矩描述子与大小、平移、旋转无关,可以用二阶和三阶规格化中心矩导出七个不变矩组中心矩导出七个不变矩组。不变矩描述分割出的区域时,具有对平移、不变矩描述分割出的区域时,具有对平移、旋转和尺寸大小都不变的性质。旋转和尺寸大小都不变的性质。 利用二阶和三阶规格中心矩导出的利用二阶和三阶规格中心矩导出的7 7个不变矩组为个不变矩组为:2. 2.投影和截口投影和截口 对于区域为对于区域为 的二值图像和抑制背景的图像的二值图像和抑制背景的图像f f(i,j)(i
30、,j),它在它在i i轴上的投影轴上的投影为:为: 在在j j轴上的投影为轴上的投影为 : 由以上两式所绘出的曲线都是离散波形曲线。这样就把二维图像的形由以上两式所绘出的曲线都是离散波形曲线。这样就把二维图像的形状分析转化为对一维离散曲线的波形分析。状分析转化为对一维离散曲线的波形分析。nijifipnj, 2 , 1),()(1njjifjpni, 2 , 1),()(1 固定固定i i0 0,得到图像得到图像f f(i,j)(i,j)的过的过i i0 0而平行于轴的截口而平行于轴的截口 。固定。固定j j0 0 ,得到图像得到图像f(i,j)f(i,j)的过的过j j0 0而平行于而平行于
31、i i轴的截口轴的截口 。二值图像。二值图像f f(i,j)(i,j)的截口长度为的截口长度为以上公式均是区域的形状特征。以上公式均是区域的形状特征。 njjif, 2 , 1),(0njjif, 2 , 1),(0ninjjifjsjifis100100),()(),()(8.3.48.3.4区域边界的形状特征描述区域边界的形状特征描述 区域外部形状是指构成区域边界的像素集合。区域外部形状是指构成区域边界的像素集合。1. 1.链码描述链码描述通过边界的搜索等算法的处理,所获得的输出最直接的方式是通过边界的搜索等算法的处理,所获得的输出最直接的方式是各边界点像素的坐标,也可以用一组被称为链码的
32、代码来表示,各边界点像素的坐标,也可以用一组被称为链码的代码来表示,这种链码组合的表示既利于有关形状特征的计算,也利于节省这种链码组合的表示既利于有关形状特征的计算,也利于节省存储空间。存储空间。 用于描述曲线的方向链码法是由用于描述曲线的方向链码法是由FreemanFreeman提出的,该方法采用曲提出的,该方法采用曲线起始点的坐标和斜率线起始点的坐标和斜率( (方向方向) )来表示曲线。对于离散的数字图像来表示曲线。对于离散的数字图像而言,区域的边界轮廓可理解为相邻边界像素之间的单元连线逐而言,区域的边界轮廓可理解为相邻边界像素之间的单元连线逐段相连而成。对于图像某像素的段相连而成。对于图
33、像某像素的8-8-邻域,把该像素和其邻域,把该像素和其8-8-邻域的邻域的各像素连线方向按八链码原理图所示进行编码,用各像素连线方向按八链码原理图所示进行编码,用0 0,1 1,2 2,3 3,4 4, 5 5,6 6,7 7表示表示8 8个方向,这种代码称为方向码。个方向,这种代码称为方向码。八链码原理图 八链码例子 其中偶数码为水平或垂直方向的链码,码长为其中偶数码为水平或垂直方向的链码,码长为1 1;奇数码为对角线方;奇数码为对角线方向的链码,码长为向的链码,码长为 。八链码例子图为一条封闭曲线,若以。八链码例子图为一条封闭曲线,若以s s为起始为起始点,按逆时针的方向编码,所构成的链码
34、为点,按逆时针的方向编码,所构成的链码为556570700122333556570700122333,若按顺,若按顺时针方向编码,则得到链码与逆时针方向的编码不同。时针方向编码,则得到链码与逆时针方向的编码不同。 边界链码具有行进的方向性,在具体使用时必须加以注意。边界链码具有行进的方向性,在具体使用时必须加以注意。(1)(1)区域边界的周长区域边界的周长 假设区域的边界链码为假设区域的边界链码为 ,每个码段,每个码段a ai i所表示的线段长度所表示的线段长度为为 ,那么该区域边界的周长为,那么该区域边界的周长为 式中式中n ne e为链码序列中偶数码个数;为链码序列中偶数码个数;n n为链
35、码序列中码的总个数。为链码序列中码的总个数。 (2) (2) 计算区域的面积计算区域的面积 对对x x轴的积分轴的积分S S就是面积。就是面积。 naaa21il2)(1eeniinnnlPniiiiayaS1210)21( 式中式中 , 是初始点的纵坐标,是初始点的纵坐标,a ai0 i0和和a ai2 i2分别是链码第环的长度在分别是链码第环的长度在k=0k=0(水平),水平),k=2k=2(垂直)方向的分量。对于封闭链码(初始点坐垂直)方向的分量。对于封闭链码(初始点坐标与终点坐标相同),标与终点坐标相同),y y0 0能任意选择。按顺时针方向编码,根据面能任意选择。按顺时针方向编码,根
36、据面积计算公式得到链码所代表的包围区域的面积。积计算公式得到链码所代表的包围区域的面积。(3 3)对)对x x轴的一阶矩轴的一阶矩( (k=0)k=0)21iiiayy0yniiiiiixayayaM12122101)31(21(4) (4) 对对x x轴的二阶矩(轴的二阶矩(k=0k=0)(5) (5) 形心位置形心位置( (x xc c,y ,yc c) ) S, S, 是链码关于是链码关于y y轴的一阶矩。它的计算过程为:先将链码的每个方向轴的一阶矩。它的计算过程为:先将链码的每个方向码做旋转码做旋转9090o o的变换的变换,得得 然后利用然后利用(3)(3)中的公式进行计算。中的公式
37、进行计算。 niiiiiiiixayayayaM121222123102)412331SMySMxxcyc11niaaii, 2 , 1)8(mod2(6 6) 两点之间的距离两点之间的距离 如果链中任意两个离散点之间的码为如果链中任意两个离散点之间的码为 ,那么这两点间的,那么这两点间的距离是距离是 根据链码还可以计算其他形状特征。根据链码还可以计算其他形状特征。maaa2121212210)()(miimiiaad2. 2.傅里叶描述子傅里叶描述子 傅立叶描述子是区域外形边界变换的一种经典方法,在二维和三维的傅立叶描述子是区域外形边界变换的一种经典方法,在二维和三维的形状分析中起着重要的作
38、用。形状分析中起着重要的作用。 区域边界可以用简单曲线来表示。设封闭曲线在直角坐标系表示为区域边界可以用简单曲线来表示。设封闭曲线在直角坐标系表示为y=f(x)y=f(x),其中其中x x为横坐标,为横坐标,y y为纵坐标。若以为纵坐标。若以y=f(x)y=f(x)直接进行傅立叶变换,直接进行傅立叶变换,则变换的结果依赖于坐标则变换的结果依赖于坐标x x和和y y的值、不能满足平移和旋转不变性要求。的值、不能满足平移和旋转不变性要求。 为了解决上述问题,引入以封闭曲线弧长为自变量的参数表示形式为了解决上述问题,引入以封闭曲线弧长为自变量的参数表示形式傅立叶描述图解 若封闭曲线的全长为若封闭曲线
39、的全长为L L,则则 。若曲线的起始点。若曲线的起始点L=0L=0,则,则 是曲线是曲线上某点切线方向。设上某点切线方向。设 为曲线从起始点到弧长为的点曲线的旋转角度,为曲线从起始点到弧长为的点曲线的旋转角度, 随弧长随弧长l l而变化,显然它是平移和旋转不变的。则而变化,显然它是平移和旋转不变的。则 把把 化为化为 上的周期函数,用傅立叶级数展开,那么变换后的系上的周期函数,用傅立叶级数展开,那么变换后的系数可用来描述区域边界的形状特征。因此数可用来描述区域边界的形状特征。因此 的变化规律可以用来描述的变化规律可以用来描述封闭曲线封闭曲线r r的形状。的形状。 引入新的变量引入新的变量t t
40、,弧长弧长l l为:为: 则则 。定义。定义那么,那么, 为为 上的周期函数,且上的周期函数,且 。 在封闭曲线在封闭曲线r r平移平移和旋转条件下,均为不变,并且和旋转条件下,均为不变,并且 与与r r封闭曲线是一一对应的关系。封闭曲线是一一对应的关系。由于由于 为周期函数,可用傅立叶系数对它进行描述,在为周期函数,可用傅立叶系数对它进行描述,在 上展开上展开成傅立叶级数为成傅立叶级数为其中其中n=1,2n=1,2。 曲线曲线r r是由多边形折线的逼近构成的,假设曲线是由多边形折线的逼近构成的,假设曲线r r的折线由的折线由m m个顶个顶点点 ,且该多边形的边长,且该多边形的边长 的长度为的
41、长度为 ,则它,则它的周长的周长 。令令 ,那么在多边形的情况下,傅立叶级数的系数分别为,那么在多边形的情况下,傅立叶级数的系数分别为: : 式中:式中:1210,mvvvv), 2 , 1(milimkkkknmkkkkmkllLnmkkkkLLnlnbLnlndLnLLdLnLLalLdLdttakk111110011200*02sin)(12sin)(12cos2)(22cos2)(2)(1)(1)(211 3. 3. 骨架化骨架化 骨架化是一种将区域结构形状简化为图形的重要方法。骨架化是一种将区域结构形状简化为图形的重要方法。 距离变换是把任意图形转换成线划图的最有效方法之距离变换是把
42、任意图形转换成线划图的最有效方法之。它是求二值。它是求二值图像中各个图像中各个1 1像素到像素到0 0像素的最短距离的处理。像素的最短距离的处理。 对二值图像,图像中两个像素对二值图像,图像中两个像素p p和和q q间的距离可以用适当的距离函数来间的距离可以用适当的距离函数来测量。设测量。设P P为为B(p)B(p)1 1的像素区域,的像素区域,Q Q为为B(q)B(q)0 0的像素区域,求从的像素区域,求从P P中任中任意像素到意像素到Q Q的最小距离叫做二值图像的距离变换。的最小距离叫做二值图像的距离变换。 一个一个4- 4-邻接方式的例子邻接方式的例子 对二值图像对二值图像) )f(i,
43、j)f(i,j),距离变换距离变换k k次的图像为次的图像为g gk k(i,j)(i,j),当当(i,j)=1(i,j)=1时,时,g g0 0(i,j)=C (i,j)=C ( (非常大非常大) );f(i,j)=0f(i,j)=0时,时, g g0 0(i,j)=0(i,j)=0。对图像。对图像f(i,j)f(i,j)进行如下处理:进行如下处理: 对全部对全部i i,j j取取 时,时,g gk k便是所求的距离变换图像。便是所求的距离变换图像。 在经过距离变换得到的图像中,最大值点的集合就形成骨架,即位在经过距离变换得到的图像中,最大值点的集合就形成骨架,即位于图像中心部分的线状像素的
44、集合。也可以看作是图形各内接圆中于图像中心部分的线状像素的集合。也可以看作是图形各内接圆中心的集合,它反映了原图形的形状。给定距离和骨架就能恢复该图心的集合,它反映了原图形的形状。给定距离和骨架就能恢复该图形,但恢复的图形不能保证原始图形的连接性。该方法常用于图形形,但恢复的图形不能保证原始图形的连接性。该方法常用于图形压缩、提取图形幅宽和形状特征等。压缩、提取图形幅宽和形状特征等。 一个区域的骨架化还可以采用一个区域的骨架化还可以采用BlumBlum于于19671967年提出的中轴变换。年提出的中轴变换。 找出中轴的另找出中轴的另个方法是用腐蚀法,该方法通过依次一层一层的去除个方法是用腐蚀法
45、,该方法通过依次一层一层的去除外部周边点来找到中轴。外部周边点来找到中轴。 中轴变换对于找出细长而弯曲物体的中心轴线很有用。通常,它仅作中轴变换对于找出细长而弯曲物体的中心轴线很有用。通常,它仅作为一幅图使用,而忽略它所产生的值。其他的形状描述子,如物体具为一幅图使用,而忽略它所产生的值。其他的形状描述子,如物体具有的分支数和物体的总长,可以从中轴变换图本身计算出来。有的分支数和物体的总长,可以从中轴变换图本身计算出来。 对二值图像来说,中轴变换能够保持物体的原本形状。这意味着该变对二值图像来说,中轴变换能够保持物体的原本形状。这意味着该变换是可逆的,并且物体可以由它的中轴变换重建。对数字图像
46、用矩形换是可逆的,并且物体可以由它的中轴变换重建。对数字图像用矩形采样网格编程处理时,逆变换可能会与原来物体有细小的差别。下图采样网格编程处理时,逆变换可能会与原来物体有细小的差别。下图左边是一个染色体的数字图像,右边显示了它的中轴变换。中轴变换左边是一个染色体的数字图像,右边显示了它的中轴变换。中轴变换还可以对灰度图像进行计算。还可以对灰度图像进行计算。4. 4. 细化细化 从二值图像中提取线宽为从二值图像中提取线宽为1 1像素的中心线的操作称为细化。像素的中心线的操作称为细化。 细化从处理方法上分为顺序处理和并行处理,从连接性上分为细化从处理方法上分为顺序处理和并行处理,从连接性上分为8-
47、 8-邻接细化和邻接细化和4- 4-邻接细化。邻接细化。 像素像素( (i,j)i,j)记为记为p p,其其8- 8-邻域的像素用邻域的像素用p pk k表示,表示, 。二二值图像细化步骤如下:值图像细化步骤如下: (1 1) 按光栅扫描顺序研究二值图像的像素,当完全满足以下按光栅扫描顺序研究二值图像的像素,当完全满足以下6 6个个条件时,把置换成条件时,把置换成1 1。但是,条件。但是,条件2 2、3 3、5 5是在并行处理方式中是在并行处理方式中所用的各像素的值。条件所用的各像素的值。条件4 4及及6 6是在顺序处理方式中所用的各像素是在顺序处理方式中所用的各像素的值。对已置换成的值。对已
48、置换成11的像素,在不用当前处理结果的并行处理的像素,在不用当前处理结果的并行处理方式中,把该像素的值复原到方式中,把该像素的值复原到1 1,而在用当前处理结果的顺序处,而在用当前处理结果的顺序处理方式中,仍为一理方式中,仍为一l l。 条件条件1 1: B(p)=1B(p)=1条件条件2 2:p p是边界像素的条件,即是边界像素的条件,即 ,式中,式中 ,因为像,因为像素是素是8-8-邻接,所以对于像素邻接,所以对于像素p p,假如假如 中至少有一个是中至少有一个是0 0时,则时,则p p就是边界像素。就是边界像素。条件条件3 3:不删除端点的条件,即:不删除端点的条件,即 ,对像素,对像素
49、p p来说,来说,从从p p0 0到到p p7 7中只有一个像素为中只有一个像素为1 1时,则把时,则把p p叫做端点。这时叫做端点。这时 。 条件条件4 4:保存孤立点的条件,即:保存孤立点的条件,即 ,当,当p p0 0到到p p7 7 全部像素都不是全部像素都不是1 1时,时,p p是孤立点,这时是孤立点,这时 。条件条件5 5:保持连接性的条件,即:保持连接性的条件,即像素连接性改变的例子条件条件6 6:对于线宽为:对于线宽为2 2的线段,只单向消除的条件的线段,只单向消除的条件 是是 时,像素时,像素p p的连接数的连接数 。 线图形5. 5.区域边界的区域边界的HoughHough
50、变换和广义变换和广义HoughHough变换变换 HoughHough变换和广义变换和广义HoughHough变换的目的是寻找一种从区域边界到参数空变换的目的是寻找一种从区域边界到参数空间的变换,用大多数边界点满足的对应的参数来描述这个区域的边间的变换,用大多数边界点满足的对应的参数来描述这个区域的边界。界。HoughHough变换方法是利用图像全局特性直接检测目标轮廓,即可将边缘变换方法是利用图像全局特性直接检测目标轮廓,即可将边缘像素连接起来组成区域封闭边界的一种常见方法。在预先知道区域像素连接起来组成区域封闭边界的一种常见方法。在预先知道区域形状的条件下,利用形状的条件下,利用Hough