版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章内容6.1距离与连通
6.2二值图像的几何特征描述
6.3二值图像的常规处理6.4二值图像的形态学处理本章内容6.1距离与连通6.1
距离与连通
二值图像只含有两个灰度级,一般用0来表示背景区域,1表示目标区域。对图像分割的结果如果目标区域像素标记为1而背景区域清零则会得到分割结果的二值图像,或者对边缘提取得结果边缘点取值为1而非边缘点取值为0则会得到图像的边缘二值图,这个获取二值图像的过程叫做二值化过程。6.1距离与连通二值图像只含有两个灰度级,一般用0来表示6.1.1距离的定义
在二值图像处理中,往往需要计算两个像素点间的距离,比如在连通分量本身的尺寸大小相对于其它各个区域间的距离很小时,计算两个区域间的距离可以近似为计算两个区域间质心的位置距离。满足下面三条性质的函数形式均可以作为距离的定义,假定图像中三点A,B,C:①非负性:,当和点重合的时候,等号成立;②对称性:;③三角不等式:6.1.1距离的定义假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种定义形式:
①欧几里德距离,用来De表示,如下式所示:
(6-1)
②街区距离,用Ds来表示:
(6-2)
③棋盘距离,用Dg表示如下:
(6-3)
三者之间的关系为:,如图6-1(a)、(b)和(c)所示。假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种
考虑距离点P(a,b)小于t的所有像素点,将发现使用街区距离这些点组成一个菱形区域,使用棋盘距离这些点组成一个正方形区域。点P(a,b)到连通区域R的距离定义为该点到中所有点之间距离的最小距离;R的直径定义为R中两点间的最大的距离。
(a)欧氏距离(b)街区距离(c)棋盘距离(d)≤2构成菱形(e)≤2构成正方形图6-1三种距离示意图考虑距离点P(a,b)小于t的所有像素点,将发现使用
(a)8-近邻(b)i近邻(c)d近邻
图6-2像素的近邻关系与编码方式
5.1.2邻接与连通关系d近邻:如果两个相邻像素单元有一条公共边,则这两个像素为直接近邻,简称d近邻,其它像素点为非直接近邻;i近邻:如果二者只有一个公共点邻接,这种近邻简称i近邻。
一般所指的近邻就是这两种近邻的总称,叫做n近邻。如果我们按照图6-2(a)中的方式对近邻进行编码,其中编号为奇数的为d近邻,编号为偶数的为i近邻,通常我们使用的为4近邻和8近邻。(a)8-近邻(b)i
i通路(简称通路)是一个像素序列,并且当
时像素Lk-1和Lk互为一个i近邻;d通路则是要求Lk-1和Lk必须为d近邻。如果对于一个像素集合R中任意两个象素点p1和p2,都存在一条首尾为p1和p2的i通路,并且这条通路上的其余像素都属于集合R,那么我们称这个像素集合R是i连通的。一个连通的像素集R的边界(i边界)定义为至少有一个i近邻不存在R内的所有R中的像素点的集合;R的d边界是至少有一个近邻不在R内的所有R中的象素点的集合。i通路(简称通路)是一个像素序列
区域就是一个像素点集合,这个集合中的任意两点都可以用包含在集合内的一条曲线连接起来;区域的边界点,就是指那些无论它的邻域有多小,它都包含有集合的内点和外点的点集。
区域的连通性具有互逆性和传递性,记区域R、S和T:(1)
自连通性:R与R连通;
(2)
对称性:若R与S连通,那么S与R也连通;
(3)
传递性:若R与S连通,S与T连通,则R与T也连通。区域就是一个像素点集合,这个集合中的任意两点都可以用5.1.3
区域的连通分量标记
图像经过分割后得到多个目标区域,有必要对每个目标区域进行标记和识别。一般在标记时把属于同一区域的不同连通分量标记为不同的标号。标记的方法通常采用顺序标记的方法。顺序标记法通过对图像做两次扫描来实现标记,扫描的方向是由左到右,由上到下。假定1表示目标区域像素点,0表示背景区域像素点。下面分别介绍4连通分量和8连通分量的顺序标注。5.1.3区域的连通分量标记图像经过分割后得到多个4连通分量的顺序标注:
假设扫描到像素点Ai,j,其灰度值为1,那么检查Ai-1,j和Ai,j-1,因为是顺序扫描,所以Ai-1,j和Ai,j-1一定是进行过标记处理。所以针对这两个邻接点的不同情况可以对Ai,j进行标记:
(1)Ai-1,j和Ai,j-1均未被标记,则分配Ai,j一个新的标记符;
(2)有一个被标记,标记符为a,则把Ai,j也标记为a;
(3)
均被标记(分别为a和b),那么把Ai,j标记为a,也就是和其左边的邻接点相同的标记;记下标识符a和b等价。
(a)原二值图像(b)第一遍扫描标记(c)第二遍扫描标记 图6-44连通分量的顺序标记4连通分量的顺序标注:(a)原二值图像8连通分量的顺序标注:
与4连通分量的标记方法类似,不同的是当扫描到像素点Ai,j时,需要检查Ai,j的左边i邻接点Ai-1,j,左上i邻接点Ai-1,j-1,上i邻接点Ai,j-1和右上i邻接点Ai+1,j-1的4个邻接点的标记情况来对其进行标记。
(a)原二值图像(b)第一遍扫描标记(c)第二遍扫描标记 图6-58连通分量的顺序标记8连通分量的顺序标注:(a)原二值图像6.2.1二值图像中曲线的描述6.2.1.1轮廓跟踪-甲虫算法
目标区域的边界轮廓是描述目标的重要特征,对于二值图像中的目标区域轮廓可以通过一种简单的轮廓跟踪算法来得到,这种方法也被称作甲虫算法。如图6-6所示的二值图像4连通分量,假定目标区域用1(黑色)表示,背景区域用0(白色)表示,给定甲虫起点p(i,j),遵循准则:
6.2二值图像的几何特征描述
6.2.1二值图像中曲线的描述6.2二值图像的几何特征描
一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区域的轮廓特征。在边界跟踪的过程中,会出现一些小循环,这些小循环则需要在后继的处理中除去;另外,不同的起点将会生成不同的甲虫轨迹,但是差别不是很大。甲虫算法可以方便的得到目标区域的轮廓,经过改进的甲虫算法可以方便的实现四连通链码。(a)甲虫算法示例(b)不同起点将导致不同结果图6-64连通甲虫算法
一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区
8连通区域的边界:这需要改变甲虫的爬行准则,假定当前甲虫位置为p(i,j),从该点的左边(垂直先前前进方向90o)开始顺时针顺序考察p(i,j)的8邻接像素点,如果发现有像素点不为0,则前进至该点,持续该过程,直至回到起始点。相对比8连通的甲虫算法产生的轨迹全部在区域内部,并且不会产生小环结构。图6-78连通甲虫算法
8连通区域的边界:这需要改变甲虫的爬行准则,假
6.2.1.2链码(chaincode)
链码(又称Freeman链码)在二值图像中常常用来表示连通分量的边界或者线条。还可以计算出许多几何特征量(线条的长度,闭合曲线的周长,所围面积等)。如图6-8(b)所示的曲线S从p点开始,形成的4链码为:00300333212232211011;图6-8(d)曲线S从q点开始,形成的8链码为:1100776655443322。(a)4链码指向符(b)曲线的4链码表示(c)8链码指向符(d)边界的8链码表示图6-8曲线的链码表示
6.2.1.2链码(chaincode)(a)4链码指链码的表示方法具有下面一些有趣的特性:
①如果曲线上的像素数目为N,那么链码的长度则为N-1;②链码是和起点相关的,不同的起点可以得到不同的链码表示。③链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构;④曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。链码的表示方法具有下面一些有趣的特性:6.2.2区域简单特征描述6.2.2.1连通分量的面积
连通分量的面积实际上就是连通像素点集中像素的个数,也就是区域边界内包含像素点的数目。设二值图像f(x,y)的连通分量的大小为,其中:那么区域的面积为:如果经过目标标记,区域占有的连通分量有k个,那么目标区域的面积则是k个连通分量的面积总和,即有:6.2.2区域简单特征描述6.2.2.2连通分量的周长
连通分量的周长常用的定义一般有下面两种形式:①周长可以使采用8链码进行编码的曲线的长度:
其中N1表示指向方向为0,2,4,6的像素点数;N2为指向1,3,5,7的像素点数目;
②将边界像素点所占的面积定义为周长,也即边界点所占的像素点数目。6.2.2.2连通分量的周长6.2.2.3连通分量的位置
连通区域在二值图像中一般除了是单像素外,一般都有自己的形状,因此也具有质心,通过对质心的定位,在目标识别中具有一定的实用意义。假定二值图像f(x,y),连通区域的面积为S,则其质心坐标为:6.2.2.3连通分量的位置6.2.2.4区域的不变矩描述
用矩来描述图像具有旋转、比例缩放和平移具有不变性,因此可以用矩来刻划图像中的目标区域在很多场合得到广泛应用。连续的二维矩(第(p+q)阶矩)定义为:只要f(x,y)在图像xy平面上有限区域有非零值,则其各阶矩都存在且唯一,同时可以通过其各阶矩可以实施对f(x,y)函数的重建,重建公式为:
6.2.2.4区域的不变矩描述零阶矩为:零阶矩表述的是图像的总质量或者可以说是图像的面积。一阶矩:
一阶矩则反映了图像质心的位置。对一阶矩归一化,于是可以得到图像的质心位置如下:
零阶矩为: 二阶矩:二阶矩则描述了图像的对于直线和对轴与轴的转动惯量,因此常常也把物体的二阶矩称为惯性矩。中心矩:二阶矩:
低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应用中不一定十分准确。
对于离散的的数字图像f(i,j),矩定义为:对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,j)=0,因此:
低阶矩主要描述区域的面积、转动惯量、质心等等,具有明
同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面积,也即区域中包含的点数;假设为目标的质心位置,其中有:则离散图像的中心矩为:同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m6.3二值图像的常规处理6.3.1二值图像的布尔(Boolean)操作
二值图像的基本的布尔操作有非(NOT),或(OR),与(AND),异或(XOR)和相减(SUB)操作,其它的布尔操作都可以由这些基本操作推论得出。假设二值图像a,b和结果二值图像c这些基本布尔操作描述如下:
NOT:c=;
OR: c=a+b;
AND:c=;
XOR:c=;
SUB:c=6.3二值图像的常规处理
在具体实现的时候,这些布尔操作实际上是对具体的每个像素进行布尔操作,比如SUB操作可以描述为:
=具体的描述可以用图6-15的表格来说明:图6-15布尔操作示意图
在具体实现的时候,这些布尔操作实际上是对具体的每个像
(d)OR(a,b)(b)AND(a,b)(c)XOR(a,b)(d)SUB(a,b)图6-16各种二值图像布尔操作示例
如果二值图像中1用黑色表示,0用白色表示,图6-16给出了二值图像布尔操作的结果示例。
(a)图像a(b)图像b(c)NOT(b)(d)OR(a,b)(b)A6.3.2二值图像的黑白点噪声消除
对图像直接分割处理,在二值化后结果也可能会产生类似黑白点样的噪声,假定目标区域用黑色表示,背景为白色,这种噪声具体表现则为目标区域出现零星白色像素点或者背景区域出现少数的黑色像素点。为了提高对二值图像的特征提取准确性和后继处理的方便性,往往需要消除这些黑白点噪声。这里我们介绍一种去除黑白点噪声的简单方法。
6.3.2二值图像的黑白点噪声消除①消除孤立黑(白)像素点在4邻接的情况下,若黑(白)像素点p(i,j)的上下左右4个邻接像素点全部为白(黑)像素点,则将p(i,j)的值改为白(黑);如果是8邻接的情况下,则若黑(白)像素点p(i,j)的8个邻接像素全部为白(黑)时,把p(i,j)的值修改为白(黑)。
②消除黑白点噪声消除黑白点噪声可以通过对像素点进行邻域平均来判断是否清除该点。具体的实现方法如下,设像素点p(i,j)的8个邻接像素点平均灰度值为:其中-p(i,j)表示反转像素点p(i,j)的取值,即0变1,1变0。
①消除孤立黑(白)像素点6.3.3二值图像的细化(Thinning)
图像细化是在不改变图像像素拓扑连接性关系的前提下,连续地剥落图像的外层像素,使之最终成为单像素宽的过程。细化是一个迭代的过程,需要遵循下面的准则:①在去除区域边界点时,不能消除破坏区域的连通性的点,如图5-17(a)不能删除其中心像素。②不能减小区域形状的的长度,也就是说迭代的过程中不能去掉端点(只有一个邻接点的点)。
③如果把边界分为上下左右四个方向,那么每次的迭代只能消除一个方向上的边界点,为了保持细化的结果尽量靠近骨架,也即位于中线附近,需要交替的对四个方向进行细化,比如采用上、下、左、右、上…的顺序。(a)破坏连通性(b)减小形状长度图6-17细化准则
6.3.3二值图像的细化(Thinning)
简单边界点:对于区域R的一个边界点p,如果属于区域R的邻域元素中只有一个与p邻接,则称p点为区域R的简单边界点。细化的过程可以概述为在不破坏连通性且不减小区域形状长度的条件下消去R中不是端点的简单边界点,过程是按S的上(北)、下(南)、左(西)、右(东)四个方向顺序,反复进行扫描以消去可删除简单边界点,直到不存在可以消去的简单边界点为止。
简单边界点:对于区域R的一个边界点p,如果属于区域R
采取图6-18所示的8连通进行细化。准则可以演化为下面的四个公式,式中的乘和加为逻辑乘与加:①上边界点f00(f00=1且f0,-1=0)消除:②下边界点f00(f00=1且f0,1=0)消除:③左边界点f00(f00=1且f-1,0=0)消除:④右边界点f00(f00=1且f1,0=0)消除:图6-188连通示意图
采取图6-18所示的8连通进行细化。准则可以演化为下面
下面介绍一种比较简单的细化算法,由E.S.Deutsch提出。该算法需要对图像进行两次扫描:通过统计点8邻域内的像素数目依照一定的逻辑准则来对要消去的像素进行标记;第二遍时采取另外一个逻辑准则处理点邻域内的像素,对要消去的像素进行标记;扫描完毕之后去掉作了标记的像素,重复上述的操作,直到得到单像素宽的线条为止。
下面介绍一种比较简单的细化算法,由E.S.假定用N(p)表示p点邻域内目标像素的数目:
T(p)表示p点邻域像素逆时针序列中变化的次数,那么逻辑准则和描述如下:假定用N(p)表示p点邻域内目标像素的数目:图6-20是针对一幅指纹图像采取上述细化方法的细化的结果。
(a)指纹原图(b)二值化的结果(c)细化图图6-20对指纹图像细化的结果图6-20是针对一幅指纹图像采取上述细化方法的细化的结果。
6.4二值图像的形态学处理
数学形态学(MathematicalMorphology)是一门建立在集合理论基础上的学科,它是几何形态分析和描述的有力工具。数学形态学可以方便地对二值图像进行噪声滤除、边界提取、区域填充、细化与骨架提取等算法,并且还可方便地推广到一般的灰度图像空间。6.4二值图像的形态学处理
用数学形态学处理二值图像时,要设计一种搜集图像信息的“探针”,称为结构元素,结构元素通常是一些小的简单集合,如圆形,正方形等的集合。观察者在图像中不断移动结构元素,便可以考察图像各个部分之间的关系,从而提取出有用的信息作结构分析和描述。使用不同的结构元素和形态学算子可以获得关于目标的大小、形状、连通性和方向等信息,形态学处理的效果则取决于结构元素的大小、内容、逻辑运算的性质。用数学形态学处理二值图像时,要设计一种搜集图像信6.4.1基本概念(d)集合A和Ac(e)A的平移Ax
(f)A的映射(g)A,B的差集A-B图6-22集合定义的示例(a)B包含于A(b)B击中A(c)B击不中A6.4.1基本概念(d)集合A和Ac(
在引入上面的一些基本集合定义之后,我们给出明可夫斯基(Minkowski)集合运算的定义,对于集合A和B:
Minkowski加:
Minkowski减:
在引入上面的一些基本集合定义之后,我们给出明可
6.4.2二值形态学基本运算
在实际运用数学形态学处理图像时,集合A和B并不视作对等关系,一个集合作为图像,另外一个集合为结构元素。在下面的分析中假定集合B为结构元素,集合A为待处理图像。绝大多数的形态学运算都定义在两个基本运算的基础即:腐蚀和膨胀,在此基础上定义了其它常用的形态变换。下面对二值图像的形态学基本运算作一介绍。6.4.2二值形态学基本运算
6.4.2.1膨胀(Dilation)与腐蚀(Erosion)
膨胀运算D(A,B)为: (6-47)腐蚀运算E(A,B)为: (6-48)膨胀和腐蚀运算是明可夫斯基加和减运算的特例。式(6-47)描述的膨胀公式说明用B来膨胀A就是对于B中的每一个元素b来位移A并把结果“或(OR)”起来;式(6-48)描述的腐蚀公式说明用B来腐蚀A就是对于B中的每一个元素b来反向位移A并把结果“与(AND)”起来。6.4.2.1膨胀(Dilation)与腐蚀(Er
观察图6-23(g)和(h)标有问号的点,(g)中被膨胀后原来属于集合A的元素现在没有了,(h)中原来不属于集合A的元素现在属于腐蚀后的结果,因此膨胀的结果或者腐蚀的结果与原集合没有任何包含或者被包含的关系。(a)集合A(b)结构元素B(c)膨胀结果(d)腐蚀结果
腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体区域;膨胀则是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞部分。
(e)集合(f)结构元素(g)膨胀结果(h)腐蚀结果图6-23膨胀与腐蚀示例观察图6-23(g)和(h)标有问号的点,(g)中被
结构元素在形态学算子中起的作用如同卷积核在线性滤波中起的作用一样重要,不同的结构元素将产生不同的图像膨胀和腐蚀结果,在实际应用中最常用的结构元素是如图6-24所示的4连通集合和8连通集合。图6-24常用的结构元素(N4和N8)
结构元素在形态学算子中起的作用如同卷积核在线性膨胀和腐蚀算子的特性:①膨胀交换率:②膨胀结合率:③平移不变性:
④膨胀分配率:⑤腐蚀分配率:膨胀和腐蚀算子的特性:⑥若B为独点集{x},则以B为结构元素作膨胀运算则相当于平移操作,此时:D(A,B)=Ax⑦膨胀和腐蚀是一对对偶算子,它们满足对偶率:
注意:腐蚀不满足交换率,即有:;膨胀和腐蚀操作之间也不具有交换率,即:因此也就意味着膨胀和腐蚀是不可逆的过程,同时也说明膨胀和腐蚀运算是可以级联使用的。
⑥若B为独点集{x},则以B为结构元素作膨胀运算则相当于平
图6-25采用图6-23中的集合和图6-23(f)中的结构元素进行级联运算,结果说明:先膨胀后腐蚀的结果和先腐蚀后膨胀的结果是并不一样。一般定义对集合先腐蚀后膨胀为开启运算,对集合先膨胀后腐蚀为闭合运算,下面主要介绍这两个运算。(a)膨胀的结果(b)膨胀后再腐蚀(c)腐蚀的结果(d)腐蚀后再膨胀图6-25膨胀和腐蚀的不可逆性图6-25采用图6-23中的集合和图6-23(
6.4.2.2开启(Open)与闭合(Close)假定集合A,B,A1和A2,其中A1是A2的子集。开启运算:集合B对集合A先腐蚀后膨胀;闭合运算:集合B对集合A先膨胀后腐蚀。6.4.2.2开启(Open)与闭合(Close)原来集合A是连通的,由于两个主要区域的连接部分宽度小于小球的直径,因此腐蚀后形成了两个部分;集合A经过开启运算后集合中向外的突出角未变,但是所有向内的突出角被圆滑了;经过闭合运算后集合中向内的突出角未变,但是所有向外的突出角被圆滑了。
(a)集合A(b)结构元素B
(e)被膨胀的结果(f)闭合运算的结果图6-26开运算和闭运算示例
(c)被腐蚀的结果(d)开启运算的结果原来集合A是连通的,由于两个主要区域的连接部分宽度小于小球
观察图6-26的结果发现:开运算有消除细小物体,在纤细点出分离物体,平滑物体边界,而又不明显改变其面积的功能;闭运算则有填充物体内细小空洞,连接相邻物体,在不明显改变物体面积的情况下平滑边界的作用。有时候把开启、闭合运算反复做多次,能起到满意的效果。例如有噪声的图像阈值二值化时,所得到的边界往往很不平滑,物体内部有孔,背景区域上有噪声。即需要开元素,也需要闭运算。有时要几次腐蚀,再做相同次数膨胀。观察图6-26的结果发现:开启和闭合运算具有下面的特性:①对偶率: ②平移不变性:
③开运算具有非扩展性,闭合运算则具有扩展性,即有:
开启和闭合运算具有下面的特性:
④单调增加性:
⑤幂等性:
从概念上讲,一次闭合运算已经把的毛刺等细节去掉了,再做一次开启运算,没有更多的毛刺可消去,因此,第二次开启运算不再改变其形状,因此有等幂性。④单调增加性: 6.4.5形态学在二值图像中的应用
形态学在二值图像处理中应用非常广泛,通过对形态学算子的不同组合可以实现对二值图像的滤波、边界提取、细化、厚化、区域填充、骨架提取、剪枝等等运算。比如形态学算子的开启和闭合运算就可以拿来对二值图像进行滤波运算,因此在介绍完形态学的基本概念和基本运算后,下面我们主要介绍几种形态学在二值图像处理中的应用。6.4.5形态学在二值图像中的应用6.4.5.1滤波去噪
把数学形态学算子开启和闭合结合起来就可以构成形态学滤波器,记滤波操作为L(A,B),则有:
通过开启可以滤除目标区域外界的噪声,通过闭合操作则把目标区域内部的噪声消除了;因为闭合操作还具有平滑的作用,因此目标区域的边界也将得到平滑。这个过程可以通过图6-29来说明。6.4.5.1滤波去噪通过开启可以滤除目标区
(a)二值图像(b)结构元素(c)腐蚀结果(d)再膨胀结果(e)再膨胀(f)被腐蚀图6-29形态学滤波示例
比较(a)和(f)我们发现噪声被滤除了,除了四个角被圆滑,由于受到内部噪声的影响,边界在平滑的地方出现弯曲,但是叠加了噪声的边界部分是被平滑了。(a)二值图像(b)结构元素(c)腐蚀结果(d
(a)二值图像A(b)结构元素N8(c)腐蚀的结果(d)提取的边界图6-30边界提取示例
6.4.5.2边界提取
腐蚀是一种消除边界点,使边界向内部收缩的过程,为了获得目标区域的边界,可以用原集合A减去腐蚀后的结果。一般可以采用N4或者N8来作为结构元素。假定A的边界为l(A),这个过程可以用下式来表达:(a)二值图像A(b)结构元素N86.4.5.3细化(Thinning)
前面介绍了细化以及细化的几种方法。下面简单介绍以下用数学形态学来实现对二值图像的细化操作。数学形态学中细化的定义可以用击中-击不中变换来得到,定义细化操作如下:图6-32形态学细化示例6.4.5.3细化(Thinning)图6-32形态学细
(a)Circle原图(b)形态学提取边界(c)提取骨架图6-33形态学算子提取骨架示例6.4.6.4抽骨架(Skeletonization)
用形态学理论提取骨架的的方法可以通过用腐蚀和开启运算来实现。
(a)Circle原图本章内容6.1距离与连通
6.2二值图像的几何特征描述
6.3二值图像的常规处理6.4二值图像的形态学处理本章内容6.1距离与连通6.1
距离与连通
二值图像只含有两个灰度级,一般用0来表示背景区域,1表示目标区域。对图像分割的结果如果目标区域像素标记为1而背景区域清零则会得到分割结果的二值图像,或者对边缘提取得结果边缘点取值为1而非边缘点取值为0则会得到图像的边缘二值图,这个获取二值图像的过程叫做二值化过程。6.1距离与连通二值图像只含有两个灰度级,一般用0来表示6.1.1距离的定义
在二值图像处理中,往往需要计算两个像素点间的距离,比如在连通分量本身的尺寸大小相对于其它各个区域间的距离很小时,计算两个区域间的距离可以近似为计算两个区域间质心的位置距离。满足下面三条性质的函数形式均可以作为距离的定义,假定图像中三点A,B,C:①非负性:,当和点重合的时候,等号成立;②对称性:;③三角不等式:6.1.1距离的定义假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种定义形式:
①欧几里德距离,用来De表示,如下式所示:
(6-1)
②街区距离,用Ds来表示:
(6-2)
③棋盘距离,用Dg表示如下:
(6-3)
三者之间的关系为:,如图6-1(a)、(b)和(c)所示。假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种
考虑距离点P(a,b)小于t的所有像素点,将发现使用街区距离这些点组成一个菱形区域,使用棋盘距离这些点组成一个正方形区域。点P(a,b)到连通区域R的距离定义为该点到中所有点之间距离的最小距离;R的直径定义为R中两点间的最大的距离。
(a)欧氏距离(b)街区距离(c)棋盘距离(d)≤2构成菱形(e)≤2构成正方形图6-1三种距离示意图考虑距离点P(a,b)小于t的所有像素点,将发现使用
(a)8-近邻(b)i近邻(c)d近邻
图6-2像素的近邻关系与编码方式
5.1.2邻接与连通关系d近邻:如果两个相邻像素单元有一条公共边,则这两个像素为直接近邻,简称d近邻,其它像素点为非直接近邻;i近邻:如果二者只有一个公共点邻接,这种近邻简称i近邻。
一般所指的近邻就是这两种近邻的总称,叫做n近邻。如果我们按照图6-2(a)中的方式对近邻进行编码,其中编号为奇数的为d近邻,编号为偶数的为i近邻,通常我们使用的为4近邻和8近邻。(a)8-近邻(b)i
i通路(简称通路)是一个像素序列,并且当
时像素Lk-1和Lk互为一个i近邻;d通路则是要求Lk-1和Lk必须为d近邻。如果对于一个像素集合R中任意两个象素点p1和p2,都存在一条首尾为p1和p2的i通路,并且这条通路上的其余像素都属于集合R,那么我们称这个像素集合R是i连通的。一个连通的像素集R的边界(i边界)定义为至少有一个i近邻不存在R内的所有R中的像素点的集合;R的d边界是至少有一个近邻不在R内的所有R中的象素点的集合。i通路(简称通路)是一个像素序列
区域就是一个像素点集合,这个集合中的任意两点都可以用包含在集合内的一条曲线连接起来;区域的边界点,就是指那些无论它的邻域有多小,它都包含有集合的内点和外点的点集。
区域的连通性具有互逆性和传递性,记区域R、S和T:(1)
自连通性:R与R连通;
(2)
对称性:若R与S连通,那么S与R也连通;
(3)
传递性:若R与S连通,S与T连通,则R与T也连通。区域就是一个像素点集合,这个集合中的任意两点都可以用5.1.3
区域的连通分量标记
图像经过分割后得到多个目标区域,有必要对每个目标区域进行标记和识别。一般在标记时把属于同一区域的不同连通分量标记为不同的标号。标记的方法通常采用顺序标记的方法。顺序标记法通过对图像做两次扫描来实现标记,扫描的方向是由左到右,由上到下。假定1表示目标区域像素点,0表示背景区域像素点。下面分别介绍4连通分量和8连通分量的顺序标注。5.1.3区域的连通分量标记图像经过分割后得到多个4连通分量的顺序标注:
假设扫描到像素点Ai,j,其灰度值为1,那么检查Ai-1,j和Ai,j-1,因为是顺序扫描,所以Ai-1,j和Ai,j-1一定是进行过标记处理。所以针对这两个邻接点的不同情况可以对Ai,j进行标记:
(1)Ai-1,j和Ai,j-1均未被标记,则分配Ai,j一个新的标记符;
(2)有一个被标记,标记符为a,则把Ai,j也标记为a;
(3)
均被标记(分别为a和b),那么把Ai,j标记为a,也就是和其左边的邻接点相同的标记;记下标识符a和b等价。
(a)原二值图像(b)第一遍扫描标记(c)第二遍扫描标记 图6-44连通分量的顺序标记4连通分量的顺序标注:(a)原二值图像8连通分量的顺序标注:
与4连通分量的标记方法类似,不同的是当扫描到像素点Ai,j时,需要检查Ai,j的左边i邻接点Ai-1,j,左上i邻接点Ai-1,j-1,上i邻接点Ai,j-1和右上i邻接点Ai+1,j-1的4个邻接点的标记情况来对其进行标记。
(a)原二值图像(b)第一遍扫描标记(c)第二遍扫描标记 图6-58连通分量的顺序标记8连通分量的顺序标注:(a)原二值图像6.2.1二值图像中曲线的描述6.2.1.1轮廓跟踪-甲虫算法
目标区域的边界轮廓是描述目标的重要特征,对于二值图像中的目标区域轮廓可以通过一种简单的轮廓跟踪算法来得到,这种方法也被称作甲虫算法。如图6-6所示的二值图像4连通分量,假定目标区域用1(黑色)表示,背景区域用0(白色)表示,给定甲虫起点p(i,j),遵循准则:
6.2二值图像的几何特征描述
6.2.1二值图像中曲线的描述6.2二值图像的几何特征描
一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区域的轮廓特征。在边界跟踪的过程中,会出现一些小循环,这些小循环则需要在后继的处理中除去;另外,不同的起点将会生成不同的甲虫轨迹,但是差别不是很大。甲虫算法可以方便的得到目标区域的轮廓,经过改进的甲虫算法可以方便的实现四连通链码。(a)甲虫算法示例(b)不同起点将导致不同结果图6-64连通甲虫算法
一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区
8连通区域的边界:这需要改变甲虫的爬行准则,假定当前甲虫位置为p(i,j),从该点的左边(垂直先前前进方向90o)开始顺时针顺序考察p(i,j)的8邻接像素点,如果发现有像素点不为0,则前进至该点,持续该过程,直至回到起始点。相对比8连通的甲虫算法产生的轨迹全部在区域内部,并且不会产生小环结构。图6-78连通甲虫算法
8连通区域的边界:这需要改变甲虫的爬行准则,假
6.2.1.2链码(chaincode)
链码(又称Freeman链码)在二值图像中常常用来表示连通分量的边界或者线条。还可以计算出许多几何特征量(线条的长度,闭合曲线的周长,所围面积等)。如图6-8(b)所示的曲线S从p点开始,形成的4链码为:00300333212232211011;图6-8(d)曲线S从q点开始,形成的8链码为:1100776655443322。(a)4链码指向符(b)曲线的4链码表示(c)8链码指向符(d)边界的8链码表示图6-8曲线的链码表示
6.2.1.2链码(chaincode)(a)4链码指链码的表示方法具有下面一些有趣的特性:
①如果曲线上的像素数目为N,那么链码的长度则为N-1;②链码是和起点相关的,不同的起点可以得到不同的链码表示。③链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构;④曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。链码的表示方法具有下面一些有趣的特性:6.2.2区域简单特征描述6.2.2.1连通分量的面积
连通分量的面积实际上就是连通像素点集中像素的个数,也就是区域边界内包含像素点的数目。设二值图像f(x,y)的连通分量的大小为,其中:那么区域的面积为:如果经过目标标记,区域占有的连通分量有k个,那么目标区域的面积则是k个连通分量的面积总和,即有:6.2.2区域简单特征描述6.2.2.2连通分量的周长
连通分量的周长常用的定义一般有下面两种形式:①周长可以使采用8链码进行编码的曲线的长度:
其中N1表示指向方向为0,2,4,6的像素点数;N2为指向1,3,5,7的像素点数目;
②将边界像素点所占的面积定义为周长,也即边界点所占的像素点数目。6.2.2.2连通分量的周长6.2.2.3连通分量的位置
连通区域在二值图像中一般除了是单像素外,一般都有自己的形状,因此也具有质心,通过对质心的定位,在目标识别中具有一定的实用意义。假定二值图像f(x,y),连通区域的面积为S,则其质心坐标为:6.2.2.3连通分量的位置6.2.2.4区域的不变矩描述
用矩来描述图像具有旋转、比例缩放和平移具有不变性,因此可以用矩来刻划图像中的目标区域在很多场合得到广泛应用。连续的二维矩(第(p+q)阶矩)定义为:只要f(x,y)在图像xy平面上有限区域有非零值,则其各阶矩都存在且唯一,同时可以通过其各阶矩可以实施对f(x,y)函数的重建,重建公式为:
6.2.2.4区域的不变矩描述零阶矩为:零阶矩表述的是图像的总质量或者可以说是图像的面积。一阶矩:
一阶矩则反映了图像质心的位置。对一阶矩归一化,于是可以得到图像的质心位置如下:
零阶矩为: 二阶矩:二阶矩则描述了图像的对于直线和对轴与轴的转动惯量,因此常常也把物体的二阶矩称为惯性矩。中心矩:二阶矩:
低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应用中不一定十分准确。
对于离散的的数字图像f(i,j),矩定义为:对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,j)=0,因此:
低阶矩主要描述区域的面积、转动惯量、质心等等,具有明
同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面积,也即区域中包含的点数;假设为目标的质心位置,其中有:则离散图像的中心矩为:同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m6.3二值图像的常规处理6.3.1二值图像的布尔(Boolean)操作
二值图像的基本的布尔操作有非(NOT),或(OR),与(AND),异或(XOR)和相减(SUB)操作,其它的布尔操作都可以由这些基本操作推论得出。假设二值图像a,b和结果二值图像c这些基本布尔操作描述如下:
NOT:c=;
OR: c=a+b;
AND:c=;
XOR:c=;
SUB:c=6.3二值图像的常规处理
在具体实现的时候,这些布尔操作实际上是对具体的每个像素进行布尔操作,比如SUB操作可以描述为:
=具体的描述可以用图6-15的表格来说明:图6-15布尔操作示意图
在具体实现的时候,这些布尔操作实际上是对具体的每个像
(d)OR(a,b)(b)AND(a,b)(c)XOR(a,b)(d)SUB(a,b)图6-16各种二值图像布尔操作示例
如果二值图像中1用黑色表示,0用白色表示,图6-16给出了二值图像布尔操作的结果示例。
(a)图像a(b)图像b(c)NOT(b)(d)OR(a,b)(b)A6.3.2二值图像的黑白点噪声消除
对图像直接分割处理,在二值化后结果也可能会产生类似黑白点样的噪声,假定目标区域用黑色表示,背景为白色,这种噪声具体表现则为目标区域出现零星白色像素点或者背景区域出现少数的黑色像素点。为了提高对二值图像的特征提取准确性和后继处理的方便性,往往需要消除这些黑白点噪声。这里我们介绍一种去除黑白点噪声的简单方法。
6.3.2二值图像的黑白点噪声消除①消除孤立黑(白)像素点在4邻接的情况下,若黑(白)像素点p(i,j)的上下左右4个邻接像素点全部为白(黑)像素点,则将p(i,j)的值改为白(黑);如果是8邻接的情况下,则若黑(白)像素点p(i,j)的8个邻接像素全部为白(黑)时,把p(i,j)的值修改为白(黑)。
②消除黑白点噪声消除黑白点噪声可以通过对像素点进行邻域平均来判断是否清除该点。具体的实现方法如下,设像素点p(i,j)的8个邻接像素点平均灰度值为:其中-p(i,j)表示反转像素点p(i,j)的取值,即0变1,1变0。
①消除孤立黑(白)像素点6.3.3二值图像的细化(Thinning)
图像细化是在不改变图像像素拓扑连接性关系的前提下,连续地剥落图像的外层像素,使之最终成为单像素宽的过程。细化是一个迭代的过程,需要遵循下面的准则:①在去除区域边界点时,不能消除破坏区域的连通性的点,如图5-17(a)不能删除其中心像素。②不能减小区域形状的的长度,也就是说迭代的过程中不能去掉端点(只有一个邻接点的点)。
③如果把边界分为上下左右四个方向,那么每次的迭代只能消除一个方向上的边界点,为了保持细化的结果尽量靠近骨架,也即位于中线附近,需要交替的对四个方向进行细化,比如采用上、下、左、右、上…的顺序。(a)破坏连通性(b)减小形状长度图6-17细化准则
6.3.3二值图像的细化(Thinning)
简单边界点:对于区域R的一个边界点p,如果属于区域R的邻域元素中只有一个与p邻接,则称p点为区域R的简单边界点。细化的过程可以概述为在不破坏连通性且不减小区域形状长度的条件下消去R中不是端点的简单边界点,过程是按S的上(北)、下(南)、左(西)、右(东)四个方向顺序,反复进行扫描以消去可删除简单边界点,直到不存在可以消去的简单边界点为止。
简单边界点:对于区域R的一个边界点p,如果属于区域R
采取图6-18所示的8连通进行细化。准则可以演化为下面的四个公式,式中的乘和加为逻辑乘与加:①上边界点f00(f00=1且f0,-1=0)消除:②下边界点f00(f00=1且f0,1=0)消除:③左边界点f00(f00=1且f-1,0=0)消除:④右边界点f00(f00=1且f1,0=0)消除:图6-188连通示意图
采取图6-18所示的8连通进行细化。准则可以演化为下面
下面介绍一种比较简单的细化算法,由E.S.Deutsch提出。该算法需要对图像进行两次扫描:通过统计点8邻域内的像素数目依照一定的逻辑准则来对要消去的像素进行标记;第二遍时采取另外一个逻辑准则处理点邻域内的像素,对要消去的像素进行标记;扫描完毕之后去掉作了标记的像素,重复上述的操作,直到得到单像素宽的线条为止。
下面介绍一种比较简单的细化算法,由E.S.假定用N(p)表示p点邻域内目标像素的数目:
T(p)表示p点邻域像素逆时针序列中变化的次数,那么逻辑准则和描述如下:假定用N(p)表示p点邻域内目标像素的数目:图6-20是针对一幅指纹图像采取上述细化方法的细化的结果。
(a)指纹原图(b)二值化的结果(c)细化图图6-20对指纹图像细化的结果图6-20是针对一幅指纹图像采取上述细化方法的细化的结果。
6.4二值图像的形态学处理
数学形态学(MathematicalMorphology)是一门建立在集合理论基础上的学科,它是几何形态分析和描述的有力工具。数学形态学可以方便地对二值图像进行噪声滤除、边界提取、区域填充、细化与骨架提取等算法,并且还可方便地推广到一般的灰度图像空间。6.4二值图像的形态学处理
用数学形态学处理二值图像时,要设计一种搜集图像信息的“探针”,称为结构元素,结构元素通常是一些小的简单集合,如圆形,正方形等的集合。观察者在图像中不断移动结构元素,便可以考察图像各个部分之间的关系,从而提取出有用的信息作结构分析和描述。使用不同的结构元素和形态学算子可以获得关于目标的大小、形状、连通性和方向等信息,形态学处理的效果则取决于结构元素的大小、内容、逻辑运算的性质。用数学形态学处理二值图像时,要设计一种搜集图像信6.4.1基本概念(d)集合A和Ac(e)A的平移Ax
(f)A的映射(g)A,B的差集A-B图6-22集合定义的示例(a)B包含于A(b)B击中A(c)B击不中A6.4.1基本概念(d)集合A和Ac(
在引入上面的一些基本集合定义之后,我们给出明可夫斯基(Minkowski)集合运算的定义,对于集合A和B:
Minkowski加:
Minkowski减:
在引入上面的一些基本集合定义之后,我们给出明可
6.4.2二值形态学基本运算
在实际运用数学形态学处理图像时,集合A和B并不视作对等关系,一个集合作为图像,另外一个集合为结构元素。在下面的分析中假定集合B为结构元素,集合A为待处理图像。绝大多数的形态学运算都定义在两个基本运算的基础即:腐蚀和膨胀,在此基础上定义了其它常用的形态变换。下面对二值图像的形态学基本运算作一介绍。6.4.2二值形态学基本运算
6.4.2.1膨胀(Dilation)与腐蚀(Erosion)
膨胀运算D(A,B)为: (6-47)腐蚀运算E(A,B)为: (6-48)膨胀和腐蚀运算是明可夫斯基加和减运算的特例。式(6-47)描述的膨胀公式说明用B来膨胀A就是对于B中的每一个元素b来位移A并把结果“或(OR)”起来;式(6-48)描述的腐蚀公式说明用B来腐蚀A就是对于B中的每一个元素b来反向位移A并把结果“与(AND)”起来。6.4.2.1膨胀(Dilation)与腐蚀(Er
观察图6-23(g)和(h)标有问号的点,(g)中被膨胀后原来属于集合A的元素现在没有了,(h)中原来不属于集合A的元素现在属于腐蚀后的结果,因此膨胀的结果或者腐蚀的结果与原集合没有任何包含或者被包含的关系。(a)集合A(b)结构元素B(c)膨胀结果(d)腐蚀结果
腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体区域;膨胀则是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞部分。
(e)集合(f)结构元素(g)膨胀结果(h)腐蚀结果图6-23膨胀与腐蚀示例观察图6-23(g)和(h)标有问号的点,(g)中被
结构元素在形态学算子中起的作用如同卷积核在线性滤波中起的作用一样重要,不同的结构元素将产生不同的图像膨胀和腐蚀结果,在实际应用中最常用的结构元素是如图6-24所示的4连通集合和8连通集合。图6-24常用的结构元素(N4和N8)
结构元素在形态学算子中起的作用如同卷积核在线性膨胀和腐蚀算子的特性:①膨胀交换率:②膨胀结合率:③平移不变性:
④膨胀分配率:⑤腐蚀分配率:膨胀和腐蚀算子的特性:⑥若B为独点集{x},则以B为结构元素作膨胀运算则相当于平移操作,此时:D(A,B)=Ax⑦膨胀和腐蚀是一对对偶算子,它们满足对偶率:
注意:腐蚀不满足交换率,即有:;膨胀和腐蚀操作之间也不具有交换率,即:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《营业推广策略》课件
- 中医基础理论习题及答案
- 【教育】浙江省高校教师高等教育法规基础试题及答案
- 第一周幼儿园营养食谱
- 施工单位技术负责人述职报告
- 高考新课标语文模拟试卷系列之65
- 《特拉华州公司法》课件
- 交通运输行业安全意识培训总结
- 互联网行业客服工作总结
- 物流行业安全工作总结
- 【航空个性化服务浅析4700字(论文)】
- 保障农民工工资支付条例全文及解读课件
- 中国移动全面预算管理
- 【部编】小高考:2021年江苏普通高中学业水平测试历史试卷
- 公路隧道建设施工技术规范学习考试题库(400道)
- 新人教版七至九年级英语单词表 汉译英(含音标)
- 浅谈事业单位固定资产的折旧本科学位论文
- 食堂管理制度大全
- 爱普生机器人中级培训资料
- 2023-2024学年浙江省富阳市小学数学六年级上册期末模考试卷
- 2020-2021学年江苏省徐州市九年级(上)期末化学试卷
评论
0/150
提交评论