《二值图像处理ppt课件.ppt》由会员分享,可在线阅读,更多相关《二值图像处理ppt课件.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1/49二值图像分析二值图像分析2/49二值图像分析二值图像分析 问题的提出问题的提出n经过图像分割之后,获得了目标物与非目标经过图像分割之后,获得了目标物与非目标物两种不同的对象。但是提取出的目标物存物两种不同的对象。但是提取出的目标物存在以下的问题:在以下的问题:1 1)提取的目标中存在)提取的目标中存在伪目标物伪目标物;2 2)多个目标物中,)多个目标物中,存在粘连或者是断裂存在粘连或者是断裂;3 3)多个目标物)多个目标物存在形态的不同存在形态的不同。 3/49二值图像分析的目的二值图像分析的目的n二值图像的分析首先是区分所提取出的二值图像的分析首先是区分所提取出的不同的目标物,之后,
2、对不同的目标物不同的目标物,之后,对不同的目标物特征差异进行描述与计算,最后获得所特征差异进行描述与计算,最后获得所需要的分析结果。需要的分析结果。 4/49二值图像分析的基本概念二值图像分析的基本概念n连接连接n连通域连通域 多个目标物的情况多个目标物的情况为讨论方便起见,这里,假设目标为黑色,背景为白为讨论方便起见,这里,假设目标为黑色,背景为白色。色。5/49连接n四连接:当前像素为黑,其四个近邻像素中至四连接:当前像素为黑,其四个近邻像素中至少有一个为黑;少有一个为黑;n八连接:当前像素为黑,其八个近邻像素中至八连接:当前像素为黑,其八个近邻像素中至少有一个为黑。少有一个为黑。四近邻四
3、近邻八近邻八近邻6/49连通域n将相互连在一起的黑色像素的集合称为一个连通域。 四连接意义下为6个连通域。 八连接意义下为2个连通域。可以看到,通过统计连通域的个数连通域的个数,即可获得提取的目标物的个数目标物的个数。7/49二值图像的分析方法n贴标签n腐蚀n膨胀n开运算与闭运算8/49贴标签 基本思路n因为不同的连通域代表了不同的目标,为了因为不同的连通域代表了不同的目标,为了加以区别,需要对不同的连通域进行标识。加以区别,需要对不同的连通域进行标识。例:下图,八接连意义下为例:下图,八接连意义下为2 2个连通域个连通域= “1”号标签= “2”号标签25525502550255002550
4、025525525525525525525525525525502552552550025502552552552552550255f002020220220000000000100011010000010g9/49贴标签 算法步骤n设一个二值矩阵表示一个黑白图像,为讨设一个二值矩阵表示一个黑白图像,为讨论方便起见,令论方便起见,令“黑黑=1”=1”,“白白=0”=0”。例:010000010110001000000000011011010100f10/49贴标签 算法步骤1.1.初始化:设标签号为初始化:设标签号为Lab=0,Lab=0,已贴标签数已贴标签数N=0N=0,标签矩阵,标签矩阵g
5、 g为全为全0 0阵,按照从上到下,阵,按照从上到下,从左到右的顺序寻找未贴标签的目标点;从左到右的顺序寻找未贴标签的目标点;例:000000000000000000000000000000000000g010000010110001000000000011011010100f11/49贴标签 算法步骤2. 检查相邻像素的状态:根据模板中的相检查相邻像素的状态:根据模板中的相邻像素的状态进行相应的处理;邻像素的状态进行相应的处理;例:010000010110001000000000011011010100f模板模板 =“已经扫描过的像素已经扫描过的像素” *=“当前像素当前像素” =“未处理的
6、像素未处理的像素”12/49贴标签 算法步骤l如果扫描过的像素均为如果扫描过的像素均为0 0,则,则Lab=Lab+1, Lab=Lab+1, g(i,j)=Lab,N=N+1;g(i,j)=Lab,N=N+1;例:010000010110001000000000011011010100f010000000000000000000000000000000000g Lab=0+1=1; N=0+1=113/49贴标签 算法步骤l如果扫描过的像素标签号相同如果扫描过的像素标签号相同,则,则g(i,j)=Lab;g(i,j)=Lab;例:0100000101100010000000000110110
7、10100f010000000000000000000000000000000000g010000010000000000000000000000000000g14/49010000010200000000000000000000000000g贴标签 算法步骤例:010000010110001000000000011011010100f010000010110001000000000011011010100f010000010220000000000000000000000000g15/49010000010220000000000000000000000000g010000010110001
8、000000000011011010100f贴标签 算法步骤l如果扫描过的像素标签号不相同,例如:如果扫描过的像素标签号不相同,例如:Lab2 Lab1, Lab2 Lab1, 则则g(i,j)=Lab1g(i,j)=Lab1,N=N-1N=N-1,修改所有为,修改所有为Lab2Lab2的像素值,使之为的像素值,使之为Lab1;Lab1;例:010000010220001000000000000000000000g010000010110001000000000000000000000g16/49贴标签 算法步骤3.将全部的像素进行将全部的像素进行2.2.的处理,直到所有的像素的处理,直到所有
9、的像素全部处理完成全部处理完成; ;例:例:010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000020000000000g010000010110001000000000022000000000g010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000011011010100f0100000101100010000
10、00000011011010100f010000010110001000000000022030000000g010000010110001000000000022033000000g010000010110001000000000022033020000g010000010110001000000000022033020200g010000010110001000000000022022020200g17/49贴标签 算法步骤4. 判断最终的判断最终的LabLab是否满足是否满足Lab=NLab=N, 如果是,则贴标签处理完成;如果是,则贴标签处理完成; 如果不是,则表明已贴标签存在不连号情
11、如果不是,则表明已贴标签存在不连号情况。这时,将进行一次编码整理,消除不连续况。这时,将进行一次编码整理,消除不连续编号的情况。编号的情况。18/49贴标签 应用示例19/49腐蚀 基本概念l腐蚀腐蚀 是一种消除连通域的边界点,使边界是一种消除连通域的边界点,使边界向内收缩的处理。向内收缩的处理。例:例:20/49腐蚀 设计思想n设计一个结构元素,结构元素的原点定位在设计一个结构元素,结构元素的原点定位在待处理的待处理的目标像素目标像素上,通过判断是否覆盖,上,通过判断是否覆盖,来确定是否该点被腐蚀掉。来确定是否该点被腐蚀掉。结构元素21/49腐蚀 算法步骤1)扫描原图,找到第一个像素值为扫描
12、原图,找到第一个像素值为1 1的目标点;的目标点;2 2)将预先设定好形状以及原点位置的结构元素)将预先设定好形状以及原点位置的结构元素的原点移到该点;的原点移到该点;3 3)判断该结构元素所覆盖的像素值是否全部为)判断该结构元素所覆盖的像素值是否全部为1 1: 如果是如果是,则腐蚀后图像中的相同位置上的像素值为,则腐蚀后图像中的相同位置上的像素值为1 1; 如果不是如果不是,则腐蚀后图像中的相同位置上的像素值为,则腐蚀后图像中的相同位置上的像素值为0 0;4 4)重复)重复2 2)和)和3 3),直到所有原图中像素处理完),直到所有原图中像素处理完成。成。22/49腐蚀 例题注:图像画面上边
13、框处不能被结构元素覆盖的部分注:图像画面上边框处不能被结构元素覆盖的部分可以保持原来的值不变,也可以置为背景。可以保持原来的值不变,也可以置为背景。23/49腐蚀 应用n 腐蚀处理腐蚀处理可以将粘连在一起的不同目标物可以将粘连在一起的不同目标物 分离,并可以将小的颗粒噪声去除。分离,并可以将小的颗粒噪声去除。24/49腐蚀举例lI = imread(cameraman.tif);lse = strel(ball,5,5);%定义椭圆形结构元素lI2 = imerode(I,se);lsubplot(1,2,1),imshow(I), title(Original)lsubplot(1,2,2)
14、, imshow(I2), title(Eroded)25/4926/49膨胀 基本概念n膨胀是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理。例:例:27/49膨胀 设计思想n设计一个结构元素,结构元素的原点定位在设计一个结构元素,结构元素的原点定位在背背景像素景像素上,判断是否覆盖有目标点,来确定是上,判断是否覆盖有目标点,来确定是否该点被膨胀为目标点。否该点被膨胀为目标点。结构元素28/49膨胀 算法步骤1 1)扫描原图,找到第一个像素值为)扫描原图,找到第一个像素值为0 0的背景点;的背景点;2 2)将预先设定好形状以及原点位置的结构元素的)将预先设定好形状以及原点
15、位置的结构元素的原点移到该点;原点移到该点;3 3)判断该结构元素所覆盖的像素值是否存在为)判断该结构元素所覆盖的像素值是否存在为1 1的目标点:的目标点: 如果是,则膨胀后图像中的相同位置上的像素值为如果是,则膨胀后图像中的相同位置上的像素值为1 1; 如果不是,则膨胀后图像中的相同位置上的像素值为如果不是,则膨胀后图像中的相同位置上的像素值为0 0;4 4)重复)重复2 2)和)和3 3),直到所有原图中像素处理完成。),直到所有原图中像素处理完成。29/49膨胀 例题30/49膨胀 应用n 膨胀处理膨胀处理可以将断裂开的目标物进行合可以将断裂开的目标物进行合 并,便于对其整体的提取。并,
16、便于对其整体的提取。31/49膨胀举例lbw = imread(cameraman.tif);lse = strel(line,11,90);lbw2 = imdilate(bw,se);lsubplot(1,2,1),imshow(bw), title(Original)lsubplot(1,2,2),imshow(bw2), title(Dilated)32/4933/49开运算与闭运算的提出背景n前面介绍的膨胀与腐蚀运算,对目标物的后前面介绍的膨胀与腐蚀运算,对目标物的后处理有着非常好的作用。但是,腐蚀和膨胀处理有着非常好的作用。但是,腐蚀和膨胀运算的一个缺点是,改变了原目标物的大小。运
17、算的一个缺点是,改变了原目标物的大小。n为了解决这一问题,考虑到腐蚀与膨胀是一为了解决这一问题,考虑到腐蚀与膨胀是一对逆运算,将膨胀与腐蚀运算同时进行。由对逆运算,将膨胀与腐蚀运算同时进行。由此便构成了开运算与闭运算。此便构成了开运算与闭运算。 34/49l开运算思路:先腐蚀,再膨胀定义:B S = (B S) S结果:1)消除细小对象2)在细小粘连处分离对象3)在不改变形状的前提下,平滑对象的边缘35/49开运算 算法原理n开运算是对原图开运算是对原图先先进行进行腐蚀腐蚀处理,处理,后后再进再进行行膨胀膨胀的处理。的处理。n开运算开运算可以在分离粘连目标物的同时,基可以在分离粘连目标物的同时
18、,基本保持原目标物的大小。本保持原目标物的大小。36/49开运算 运算示例腐蚀腐蚀膨胀膨胀37/49闭运算 算法原理n闭运算是对原图闭运算是对原图先先进行进行膨胀膨胀处理,处理,后后再进再进行行腐蚀腐蚀的处理。的处理。n闭运算闭运算可以在合并断裂目标物的同时,基可以在合并断裂目标物的同时,基本保持原目标物的大小。本保持原目标物的大小。38/49l闭运算思路:先膨胀、再腐蚀定义:B S =(B S) S结果:1)填充对象内细小空洞。2)连接邻近对象3)在不明显改变面积前提下,平滑对象的边缘39/49闭运算 运算示例问题:本例未能将分裂成两个连通域的目标合并,问题:本例未能将分裂成两个连通域的目标
19、合并,怎么办?怎么办?膨胀膨胀腐蚀腐蚀40/49开、闭运算的变形n如果当按照常规的开运算不能分离粘连,如果当按照常规的开运算不能分离粘连,或者是闭运算不能合并断裂:或者是闭运算不能合并断裂:n对于开运算可以先进行对于开运算可以先进行N N次腐蚀,再进行次腐蚀,再进行N N次膨胀;次膨胀;n对于闭运算可以先进行对于闭运算可以先进行N N次膨胀,再进行次膨胀,再进行N N次腐蚀。次腐蚀。41/49变形闭运算的示例一次膨胀一次膨胀二次膨胀二次膨胀一次腐蚀一次腐蚀二次腐蚀二次腐蚀42/49l变体1)细化结果:在不破坏连通性的前提下,细化图像。算法实现:1)做腐蚀操作,但不立刻删除像素,只打标记2)将不
20、破坏连通性的标记点删掉。3)重复执行,将产生细化结果43/49l变体2)粗化结果:在不合并对象的前提下,粗化图像。算法实现:1)做膨胀操作,但不立刻添加像素,只打标记2)将不产生对象合并的标记点添加进来。3)重复执行,将产生粗化结果另一方案:将图像求反,执行细化,结果再求反44/49作业1.设一个二值图像为111000100101100001001011010010000100f分别在八连通和四连通意义下对该图贴标签。45/49作业2.用结构元素S对上图分别作一次腐蚀处理和一次膨胀处理。1011S原点为S的左上角元素,即S(1,1)46/49目标提取示例 伪目标物47/49目标提取示例 伪目标物48/49多目标提取示例 粘连或断裂49/49多目标提取示例 不同形态50/49腐蚀应用示例(a) 原图 (b)腐蚀两次51/49膨胀应用示例 (a) 原图 (b) 膨胀一次52/49开运算应用示例 (a) (a) 原图原图 (b)(b)开运算结果开运算结果 (c) (c) 腐蚀运算结果腐蚀运算结果53/49闭运算应用示例 (a) (a) 原图原图 (b)(b)闭运算结果闭运算结果 (c) (c) 膨胀运算结果膨胀运算结果