《数字图像处理二值图像处理》由会员分享,可在线阅读,更多相关《数字图像处理二值图像处理(58页珍藏版)》请在金锄头文库上搜索。
1、第6章 二值图像处理 第6章 二值图像处理 通过分割技术我们可以把感兴趣的目标区域从图像中分割出来。分割出来的目标区域往往不能令人满意,还需要对分割出来的目标区域进行二值化处理生成二值图像,在二值图像的基础上继续处理。二值图像具有存储空间小,处理速度快等特点;可以方便地对图像进行布尔逻辑运算;可以比较容易地获取目标区域的几何特征或者其它特性,比如描述目标区域的边界,获取目标区域的位置和大小等等;在二值图像的基础上,还可以进一步地对图像进行处理,获取目标的更多特征,从而为 进一步的进行图像分析和识别奠定基础。 第6章 二值图像处理 本章内容6.1 距离与连通 6.2 二值图像的几何特征描述 6.
2、3 二值图像的常规处理6.4 二值图像的形态学处理第6章 二值图像处理 6.1 距离与连通 二值图像只含有两个灰度级,一般用0来表示背景区域,1表示目标区域。对图像分割的结果如果目标区域像素标记为1而背景区域清零则会得到分割结果的二值图像,或者对边缘提取得结果边缘点取值为1而非边缘点取值为0则会得到图像的边缘二值图,这个获取二值图像的过程叫做二值化过程。第6章 二值图像处理 6.1.1 距离的定义在二值图像处理中,往往需要计算两个像素点间的距离,比如在连通分量本身的尺寸大小相对于其它各个区域间的距离很小时,计算两个区域间的距离可以近似为计算两个区域间质心的位置距离。满足下面三条性质的函数形式均
3、可以作为距离的定义,假定图像中三点A, B, C: 非负性: ,当和点重合的时候,等号成立; 对称性: ; 三角不等式:第6章 二值图像处理 假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种定义形式: 欧几里德距离,用来De表示,如下式所示:(6-1) 街区距离,用Ds来表示:(6-2) 棋盘距离,用Dg表示如下:(6-3)三者之间的关系为: ,如图6-1(a)、(b)和(c)所示。 第6章 二值图像处理 考虑距离点P(a,b)小于t的所有像素点,将发现使用街区距离这些点组成一个菱形区域,使用棋盘距离这些点组成一 个正方形区域。点P(a,b)到连通区域R的距离定义为该点到中所有点之
4、 间距离的最小距离;R的直径定义为R中两点间的最大的距离。(a) 欧氏距离 (b) 街区距离 (c) 棋盘距离 (d)2构成菱形 (e)2构成正方形图6-1 三种距离示意图第6章 二值图像处理 (a) 8-近邻 (b) i近邻 (c) d近邻图6-2 像素的近邻关系与编码方式 5.1.2 邻接与连通关系d近邻:如果两个相邻像素单元有一条公共边,则这两个像素为直接近邻,简称d近邻,其它像素点为非直接近邻;i近邻:如果二者只有一个公共点邻接,这种近邻简称i近邻。 一般所指的近邻就是这两种近邻的总称,叫做n近邻。如果我们按照图6-2(a)中的方式对近邻进行编码,其中编号为奇数的为d近邻,编号为偶数的
5、为i近邻,通常我们使用的为4近邻和8近邻。第6章 二值图像处理 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中的象素点的集合。第6章 二值图像处理 区域就是一个像素点集合,这个集合中的任意两点都可以用包含在集合内的一条曲线连接起
6、来;区域的边界点,就是指那些无论它的邻域有多小,它都包含有集合的内点和外点的点集。区域的连通性具有互逆性和传递性,记区域R、S和T:(1) 自连通性:R与R连通;(2) 对称性:若R与S连通,那么S与R也连通;(3) 传递性:若R与S连通,S与T连通,则R与T也连通。第6章 二值图像处理 5.1.3 区域的连通分量标记图像经过分割后得到多个目标区域,有必要对每个目标区域进行标记和识别。一般在标记时把属于同一区域的不同连通分量标记为不同的标号。标记的方法通常采用顺序标记的方法。顺序标记法通过对图像做两次扫描来实现标记,扫描的方向是由左到右 ,由上到下。假定1表示目标区域像素点,0表示背景区域像素
7、点。下面分别介绍4连通分量和8连通分量的顺序标注。第6章 二值图像处理 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) 第二遍扫
8、描标记图6-4 4连通分量的顺序标记第6章 二值图像处理 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-5 8连通分量的顺序标记第6章 二值图像处理 6.2.1 二值图像中曲线的描述6.2.1.1 轮廓跟踪-甲虫算法目标区域的边界轮廓是描述目标的重要特征,对于二值图像中的目标区域轮廓可以通过一种简单的轮廓跟踪 算法来得到,这
9、种方法也被称作甲虫算法。如图6-6所示的二值图像4连通分量,假定目标区域用1(黑色)表示,背景区域用0(白色)表示,给定甲虫起点p(i,j),遵循准则: 6.2 二值图像的几何特征描述 第6章 二值图像处理 一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区域的轮廓特征。在边界跟踪的过程中,会出现一些小循环,这些小循环则需要在后继的处理中除去;另外,不同的起点将会生成不同的甲虫轨迹,但是差别不是很大。甲虫算法可以方便的得到目标区域的轮廓,经过改进的甲虫算法可以方便的实现四连通链码。(a)甲虫算法示例 (b) 不同起点将导致不同结果图6-6 4连通甲虫算法 第6章 二值图像处理 8连通区域的边
10、界:这需要改变甲虫的爬行准则,假定当前甲虫位置为p(i,j),从该点的左边(垂直先前前进方向 90o)开始顺时针顺序考察p(i,j)的8邻接像素点,如果发现有像素点不为0,则前进至该点,持续该过程,直至回到起始点。相对比8连通的甲虫算法产生的轨迹全部在区域内部,并且 不会产生小环结构。 图6-7 8连通甲虫算法 第6章 二值图像处理 6.2.1.2 链码(chain code)链码(又称Freeman链码)在二值图像中常常用来表示连通分量的边界或者线条。还可以计算出许多几何特征量(线条 的长度,闭合曲线的周长,所围面积等)。如图6-8(b)所示的曲线S从p点开始,形成的4链码为: 003003
11、33212232211011;图6-8(d)曲线S从q点开始,形成的8链 码为:1100776655443322。(a)4链码指向符 (b) 曲线的4链码表示 (c) 8链码指向符 (d) 边界的8链码表示图6-8 曲线的链码表示 第6章 二值图像处理 链码的表示方法具有下面一些有趣的特性: 如果曲线上的像素数目为N,那么链码的长度则为N-1; 链码是和起点相关的,不同的起点可以得到不同的链码表示。 链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构; 曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。第6章 二值图像处理 6.2.2 区域简单特征描述6.2.2.1 连通分量
12、的面积连通分量的面积实际上就是连通像素点集中像素的个数,也就是区域边界内包含像素点的数目。设二值 图像f(x,y)的连通分量 的大小为 ,其中: 那么区域的面积为:如果经过目标标记,区域占有的连通分量有k个,那么目标区域的面积则是k个连通分量的面积总和,即有: 第6章 二值图像处理 6.2.2.2 连通分量的周长连通分量的周长常用的定义一般有下面两种形式: 周长可以使采用8链码进行编码的曲线的长度:其中N1表示指向方向为0,2,4,6的像素点数;N2为指向1,3,5,7的像素点数目;将边界像素点所占的面积定义为周长,也即边界点所占的像素点数目。第6章 二值图像处理 6.2.2.3 连通分量的位
13、置连通区域在二值图像中一般除了是单像素外,一般都 有自己的形状,因此也具有质心,通过对质心的定位,在 目标识别中具有一定的实用意义。假定二值图像f(x,y),连通区域的面积为S,则其质心坐 标为:第6章 二值图像处理 6.2.2.4 区域的不变矩描述用矩来描述图像具有旋转、比例缩放和平移具有不变性 ,因此可以用矩来刻划图像中的目标区域在很多场合得到广 泛应用。连续的二维矩(第(p+q)阶矩)定义为:只要f(x,y)在图像xy平面上有限区域有非零值,则其各阶 矩都存在且唯一,同时可以通过其各阶矩可以实施对f(x,y)函 数的重建,重建公式为: 第6章 二值图像处理 零阶矩为:零阶矩表述的是图像的
14、总质量或者可以说是图像的面积。一阶矩:一阶矩则反映了图像质心的位置。对一阶矩归一化,于是可以得到图像的质心位置如下:第6章 二值图像处理 二阶矩:二阶矩则描述了图像的对于直线和对轴与轴的转动惯量, 因此常常也把物体的二阶矩称为惯性矩。 中心矩 :第6章 二值图像处理 低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应 用中不一定十分准确。 对于离散的的数字图像f(i,j),矩定义为:对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,
15、j)=0,因此: 第6章 二值图像处理 同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面积,也即区域中包含的点数;假设为目标的质心位置,其中有:则离散图像的中心矩为:第6章 二值图像处理 6.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章 二值图像处理 在具体实现的时候,这些布尔操作实际上是对具体的每个像素进行布尔操作,比如SUB操作可以描述为:= 具体的描述可以用图6-15的表格来说明:图6-15 布尔操作示意图 第6章 二值图像处理 (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