数字图像处理第6章二值图像处理.ppt

上传人:max****ui 文档编号:14551504 上传时间:2020-07-23 格式:PPT 页数:58 大小:844.86KB
返回 下载 相关 举报
数字图像处理第6章二值图像处理.ppt_第1页
第1页 / 共58页
数字图像处理第6章二值图像处理.ppt_第2页
第2页 / 共58页
数字图像处理第6章二值图像处理.ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
第6章 二值图像处理,通过分割技术我们可以把感兴趣的目标区域从图像中分割出来。分割出来的目标区域往往不能令人满意,还需要对分割出来的目标区域进行二值化处理生成二值图像,在二值图像的基础上继续处理。 二值图像具有存储空间小,处理速度快等特点;可以方便地对图像进行布尔逻辑运算;可以比较容易地获取目标区域的几何特征或者其它特性,比如描述目标区域的边界,获取目标区域的位置和大小等等;在二值图像的基础上,还可以进一步地对图像进行处理,获取目标的更多特征,从而为进一步的进行图像分析和识别奠定基础。,本章内容,6.1 距离与连通 6.2 二值图像的几何特征描述 6.3 二值图像的常规处理 6.4 二值图像的形态学处理,6.1 距离与连通,二值图像只含有两个灰度级,一般用0来表示背景区域,1表示目标区域。对图像分割的结果如果目标区域像素标记为1而背景区域清零则会得到分割结果的二值图像,或者对边缘提取得结果边缘点取值为1而非边缘点取值为0则会得到图像的边缘二值图,这个获取二值图像的过程叫做二值化过程。,6.1.1 距离的定义 在二值图像处理中,往往需要计算两个像素点间的距离,比如在连通分量本身的尺寸大小相对于其它各个区域间的距离很小时,计算两个区域间的距离可以近似为计算两个区域间质心的位置距离。 满足下面三条性质的函数形式均可以作为距离的定义,假定图像中三点A, B, C: 非负性: ,当和点重合的时候,等号成立; 对称性: ; 三角不等式:,假设计算点P(a,b)与Q(c,d)间距离可以采取下面的几种定义形式: 欧几里德距离,用来De表示,如下式所示: (6-1) 街区距离,用Ds来表示: (6-2) 棋盘距离,用Dg表示如下: (6-3) 三者之间的关系为: ,如图6-1(a)、(b)和(c)所示。 ,考虑距离点P(a,b)小于t的所有像素点,将发现使用街区距离这些点组成一个菱形区域,使用棋盘距离这些点组成一个正方形区域。 点P(a,b)到连通区域R的距离定义为该点到中所有点之间距离的最小距离;R的直径定义为R中两点间的最大的距离。,(a) 欧氏距离 (b) 街区距离 (c) 棋盘距离 (d)2构成菱形 (e)2构成正方形 图6-1 三种距离示意图,(a) 8-近邻 (b) i近邻 (c) d近邻 图6-2 像素的近邻关系与编码方式,5.1.2 邻接与连通关系 d近邻:如果两个相邻像素单元有一条公共边,则这两个像素为直接近邻,简称d近邻,其它像素点为非直接近邻; i近邻:如果二者只有一个公共点邻接,这种近邻简称i近邻。,一般所指的近邻就是这两种近邻的总称,叫做n近邻。如果我们按照图6-2(a)中的方式对近邻进行编码,其中编号为奇数的为d近邻,编号为偶数的为i近邻,,通常我们使用的为4近邻和8近邻。,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中的象素点的集合。,区域就是一个像素点集合,这个集合中的任意两点都可以用包含在集合内的一条曲线连接起来;区域的边界点,就是指那些无论它的邻域有多小,它都包含有集合的内点和外点的点集。 区域的连通性具有互逆性和传递性,记区域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连通分量的顺序标注。,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-4 4连通分量的顺序标记,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.2.1 二值图像中曲线的描述 6.2.1.1 轮廓跟踪-甲虫算法 目标区域的边界轮廓是描述目标的重要特征,对于二值图像中的目标区域轮廓可以通过一种简单的轮廓跟踪算法来得到,这种方法也被称作甲虫算法。如图6-6所示的二值图像4连通分量,假定目标区域用1(黑色)表示,背景区域用0(白色)表示,给定甲虫起点p(i,j),遵循准则:,6.2 二值图像的几何特征描述,一直到甲虫爬回起始点为止。甲虫的爬行轨迹反映了目标区域的轮廓特征。在边界跟踪的过程中,会出现一些小循环,这些小循环则需要在后继的处理中除去;另外,不同的起点将会生成不同的甲虫轨迹,但是差别不是很大。甲虫算法可以方便的得到目标区域的轮廓,经过改进的甲虫算法可以方便的实现四连通链码。,(a)甲虫算法示例 (b) 不同起点将导致不同结果 图6-6 4连通甲虫算法,8连通区域的边界:这需要改变甲虫的爬行准则,假定当前甲虫位置为p(i,j),从该点的左边(垂直先前前进方向90o)开始顺时针顺序考察p(i,j)的8邻接像素点,如果发现有像素点不为0,则前进至该点,持续该过程,直至回到起始点。相对比8连通的甲虫算法产生的轨迹全部在区域内部,并且不会产生小环结构。 ,图6-7 8连通甲虫算法,6.2.1.2 链码(chain code) 链码(又称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 曲线的链码表示,链码的表示方法具有下面一些有趣的特性: 如果曲线上的像素数目为N,那么链码的长度则为N-1; 链码是和起点相关的,不同的起点可以得到不同的链码表示。 链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构; 曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。,6.2.2 区域简单特征描述 6.2.2.1 连通分量的面积 连通分量的面积实际上就是连通像素点集中像素的个数,也就是区域边界内包含像素点的数目。设二值图像f(x,y)的连通分量 的大小为 ,其中: 那么区域的面积为: 如果经过目标标记,区域占有的连通分量有k个,那么目标区域的面积则是k个连通分量的面积总和,即有:,6.2.2.2 连通分量的周长 连通分量的周长常用的定义一般有下面两种形式: 周长可以使采用8链码进行编码的曲线的长度: 其中N1表示指向方向为0,2,4,6的像素点数;N2为指向1,3,5,7的像素点数目; 将边界像素点所占的面积定义为周长,也即边界点所占的像素点数目。,6.2.2.3 连通分量的位置 连通区域在二值图像中一般除了是单像素外,一般都有自己的形状,因此也具有质心,通过对质心的定位,在目标识别中具有一定的实用意义。 假定二值图像f(x,y),连通区域的面积为S,则其质心坐标为:,6.2.2.4 区域的不变矩描述 用矩来描述图像具有旋转、比例缩放和平移具有不变性,因此可以用矩来刻划图像中的目标区域在很多场合得到广泛应用。连续的二维矩(第(p+q)阶矩)定义为: 只要f(x,y)在图像xy平面上有限区域有非零值,则其各阶矩都存在且唯一,同时可以通过其各阶矩可以实施对f(x,y)函数的重建,重建公式为:,零阶矩为: 零阶矩表述的是图像的总质量或者可以说是图像的面积。 一阶矩: 一阶矩则反映了图像质心的位置。对一阶矩归一化,于是可以得到图像的质心位置如下:,二阶矩: 二阶矩则描述了图像的对于直线和对轴与轴的转动惯量,因此常常也把物体的二阶矩称为惯性矩。 中心矩 :,低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应用中不一定十分准确。 对于离散的的数字图像f(i,j),矩定义为: 对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,j)=0,因此:,同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面积,也即区域中包含的点数;假设 为目标的质心位置,其中有: 则离散图像的中心矩为:,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=,在具体实现的时候,这些布尔操作实际上是对具体的每个像素进行布尔操作,比如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),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 细化准则,简单边界点:对于区域R的一个边界点p,如果属于区域R的邻域元素中只有一个与p邻接,则称p点为区域R的简单边界点。 细化的过程可以概述为在不破坏连通性且不减小区域形状长度的条件下消去R中不是端点的简单边界点,过程是按S的上(北)、下(南)、左(西)、右(东)四个方向顺序,反复进行扫描以消去可删除简单边界点,直到不存在可以消去的简单边界点为止。,采取图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-18 8连通示意图,下面介绍一种比较简单的细化算法,由E.S. Deutsch提出。该算法需要对图像进行两次扫描: 通过统计点8邻域内的像素数目依照一定的逻辑准则来对要消去的像素进行标记; 第二遍时采取另外一个逻辑准则处理点邻域内的像素,对要消去的像素进行标记; 扫描完毕之后去掉作了标记的像素,重复上述的操作,直到得到单像素宽的线条为止。,假定用N(p)表示p点邻域内目标像素的数目: T(p)表示p点邻域像素逆时针序列 中 变化的次数,那么逻辑准则和描述如下:,图6-20是针对一幅指纹图像采取上述细化方法的细化的结果。,(a) 指纹原图 (b) 二值化的结果 (c) 细化图 图6-20 对指纹图像细化的结果,6.4 二值图像的形态学处理 数学形态学(Mathematical Morphology)是一门建立在集合理论基础上的学科,它是几何形态分析和描述的有力工具。数学形态学可以方便地对二值图像进行噪声滤除、边界提取、区域填充、细化与骨架提取等算法,并且还可方便地推广到一般的灰度图像空间。,用数学形态学处理二值图像时,要设计一种搜集图像信息的“探针”,称为结构元素,结构元素通常是一些小的简单集合,如圆形,正方形等的集合。 观察者在图像中不断移动结构元素,便可以考察图像各个部分之间的关系,从而提取出有用的信息作结构分析和描述。 使用不同的结构元素和形态学算子可以获得关于目标的大小、形状、连通性和方向等信息,形态学处理的效果则取决于结构元素的大小、内容、逻辑运算的性质。,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击不中A,在引入上面的一些基本集合定义之后,我们给出明可夫斯基(Minkowski)集合运算的定义,对于集合A和B: Minkowski加: Minkowski减:,6.4.2 二值形态学基本运算 在实际运用数学形态学处理图像时,集合A和B并不视作对等关系,一个集合作为图像,另外一个集合为结构元素。在下面的分析中假定集合B为结构元素,集合A为待处理图像。 绝大多数的形态学运算都定义在两个基本运算的基础即:腐蚀和膨胀,在此基础上定义了其它常用的形态变换。 下面对二值图像的形态学基本运算作一介绍。,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-23(g)和(h)标有问号的点,(g)中被膨胀后原来属于集合A的元素现在没有了,(h)中原来不属于集合A的元素现在属于腐蚀后的结果,因此膨胀的结果或者腐蚀的结果与原集合没有任何包含或者被包含的关系。 ,(a) 集合A (b) 结构元素B (c) 膨胀结果 (d)腐蚀结果,腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体区域;膨胀则是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞部分。,(e) 集合 (f) 结构元素 (g) 膨胀结果 (h)腐蚀结果 图6-23 膨胀与腐蚀示例,结构元素在形态学算子中起的作用如同卷积核在线性滤波中起的作用一样重要,不同的结构元素将产生不同的图像膨胀和腐蚀结果,在实际应用中最常用的结构元素是如图6-24所示的4连通集合和8连通集合。 ,图6-24 常用的结构元素(N4和N8),膨胀和腐蚀算子的特性: 膨胀交换率: 膨胀结合率: 平移不变性: 膨胀分配率: 腐蚀分配率:, 若B为独点集x,则以B为结构元素作膨胀运算则相当于平移操作,此时:D(A,B)=Ax 膨胀和腐蚀是一对对偶算子,它们满足对偶率: 注意: 腐蚀不满足交换率,即有: ; 膨胀和腐蚀操作之间也不具有交换率,即: 因此也就意味着膨胀和腐蚀是不可逆的过程,同时也说明膨胀和腐蚀运算是可以级联使用的。,图6-25采用图6-23中的集合和图6-23(f)中的结构元素进行级联运算,结果说明:先膨胀后腐蚀的结果和先腐蚀后膨胀的结果是并不一样。一般定义对集合先腐蚀后膨胀为开启运算,对集合先膨胀后腐蚀为闭合运算,下面主要介绍这两个运算。,(a) 膨胀的结果 (b)膨胀后再腐蚀 (c) 腐蚀的结果 (d) 腐蚀后再膨胀 图6-25 膨胀和腐蚀的不可逆性,6.4.2.2 开启(Open)与闭合(Close) 假定集合A,B,A1和A2,其中A1是A2的子集。 开启运算:集合B对集合A先腐蚀后膨胀; 闭合运算:集合B对集合A先膨胀后腐蚀。,原来集合A是连通的,由于两个主要区域的连接部分宽度小于小球的直径,因此腐蚀后形成了两个部分; 集合A经过开启运算后集合中向外的突出角未变,但是所有向内的突出角被圆滑了; 经过闭合运算后集合中向内的突出角未变,但是所有向外的突出角被圆滑了。,(a) 集合A (b)结构元素B,(e) 被膨胀的结果 (f) 闭合运算的结果 图6-26 开运算和闭运算示例 ,(c) 被腐蚀的结果 (d) 开启运算的结果,观察图6-26的结果发现: 开运算有消除细小物体,在纤细点出分离物体,平滑物体边界,而又不明显改变其面积的功能; 闭运算则有填充物体内细小空洞,连接相邻物体,在不明显改变物体面积的情况下平滑边界的作用。 有时候把开启、闭合运算反复做多次,能起到满意的效果。例如有噪声的图像阈值二值化时,所得到的边界往往很不平滑,物体内部有孔,背景区域上有噪声。即需要开元素,也需要闭运算。有时要几次腐蚀,再做相同次数膨胀。,开启和闭合运算具有下面的特性: 对偶率: 平移不变性: 开运算具有非扩展性,闭合运算则具有扩展性,即有:, 单调增加性: 幂等性: 从概念上讲,一次闭合运算已经把的毛刺等细节去掉了,再做一次开启运算,没有更多的毛刺可消去,因此,第二次开启运算不再改变其形状,因此有等幂性。,6.4.5 形态学在二值图像中的应用 形态学在二值图像处理中应用非常广泛,通过对形态学算子的不同组合可以实现对二值图像的滤波、边界提取、细化、厚化、区域填充、骨架提取、剪枝等等运算。 比如形态学算子的开启和闭合运算就可以拿来对二值图像进行滤波运算,因此在介绍完形态学的基本概念和基本运算后,下面我们主要介绍几种形态学在二值图像处理中的应用。,(a) 二值图像 (b)结构元素 (c)腐蚀结果 (d)再膨胀结果 (e) 再膨胀 (f) 被腐蚀 图6-29 形态学滤波示例,比较(a)和(f)我们发现噪声被滤除了,除了四个角被圆滑,由于受到内部噪声的影响,边界在平滑的地方出现弯曲,但是叠加了噪声的边界部分是被平滑了。,(a) 二值图像A (b) 结构元素N8 (c) 腐蚀的结果 (d) 提取的边界 图 6-30 边界提取示例,6.4.5.2 边界提取 腐蚀是一种消除边界点,使边界向内部收缩的过程,为了获得目标区域的边界,可以用原集合A减去腐蚀后的结果。一般可以采用N4或者N8来作为结构元素。假定A的边界为l(A),这个过程可以用下式来表达:,6.4.5.3 细化(Thinning) 前面介绍了细化以及细化的几种方法。下面简单介绍以下用数学形态学来实现对二值图像的细化操作。数学形态学中细化的定义可以用击中-击不中变换来得到,定义细化操作如下:,图6-32 形态学细化示例,(a) Circle 原图 (b) 形态学提取边界 (c) 提取骨架 图6-33形态学算子提取骨架示例,6.4.6.4 抽骨架(Skeletonization) 用形态学理论提取骨架的的方法可以通过用腐蚀和开启运算来实现。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!