您好,欢迎访问三七文档
1/49二值图像分析2/49二值图像分析——问题的提出经过图像分割之后,获得了目标物与非目标物两种不同的对象。但是提取出的目标物存在以下的问题:1)提取的目标中存在伪目标物;2)多个目标物中,存在粘连或者是断裂;3)多个目标物存在形态的不同。3/49二值图像分析的目的二值图像的分析首先是区分所提取出的不同的目标物,之后,对不同的目标物特征差异进行描述与计算,最后获得所需要的分析结果。4/49二值图像分析的基本概念连接连通域多个目标物的情况为讨论方便起见,这里,假设目标为黑色,背景为白色。5/49连接四连接:当前像素为黑,其四个近邻像素中至少有一个为黑;八连接:当前像素为黑,其八个近邻像素中至少有一个为黑。四近邻八近邻6/49连通域将相互连在一起的黑色像素的集合称为一个连通域。•四连接意义下为6个连通域。•八连接意义下为2个连通域。可以看到,通过统计连通域的个数,即可获得提取的目标物的个数。7/49二值图像的分析方法贴标签腐蚀膨胀开运算与闭运算8/49贴标签——基本思路因为不同的连通域代表了不同的目标,为了加以区别,需要对不同的连通域进行标识。例:下图,八接连意义下为2个连通域=“1”号标签=“2”号标签25525502550255002550025525525525525525525525525525502552552550025502552552552552550255f002020220220000000000100011010000010g9/49贴标签——算法步骤设一个二值矩阵表示一个黑白图像,为讨论方便起见,令“黑=1”,“白=0”。例:010000010110001000000000011011010100f10/49贴标签——算法步骤1.初始化:设标签号为Lab=0,已贴标签数N=0,标签矩阵g为全0阵,按照从上到下,从左到右的顺序寻找未贴标签的目标点;例:000000000000000000000000000000000000g010000010110001000000000011011010100f11/49贴标签——算法步骤2.检查相邻像素的状态:根据模板中的相邻像素的状态进行相应的处理;例:010000010110001000000000011011010100f☻☻☻☻模板☻=“已经扫描过的像素”*=“当前像素”=“未处理的像素”12/49贴标签——算法步骤如果扫描过的像素均为0,则Lab=Lab+1,g(i,j)=Lab,N=N+1;例:010000010110001000000000011011010100f010000000000000000000000000000000000gLab=0+1=1;N=0+1=113/49贴标签——算法步骤如果扫描过的像素标签号相同,则g(i,j)=Lab;例:010000010110001000000000011011010100f010000000000000000000000000000000000g010000010000000000000000000000000000g14/49010000010200000000000000000000000000g贴标签——算法步骤例:010000010110001000000000011011010100f010000010110001000000000011011010100f010000010220000000000000000000000000g15/49010000010220000000000000000000000000g010000010110001000000000011011010100f贴标签——算法步骤如果扫描过的像素标签号不相同,例如:Lab2Lab1,则g(i,j)=Lab1,N=N-1,修改所有为Lab2的像素值,使之为Lab1;例:010000010220001000000000000000000000g010000010110001000000000000000000000g16/49贴标签——算法步骤3.将全部的像素进行2.的处理,直到所有的像素全部处理完成;例:010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000020000000000g010000010110001000000000022000000000g010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000011011010100f010000010110001000000000022030000000g010000010110001000000000022033000000g010000010110001000000000022033020000g010000010110001000000000022033020200g010000010110001000000000022022020200g17/49贴标签——算法步骤4.判断最终的Lab是否满足Lab=N,如果是,则贴标签处理完成;如果不是,则表明已贴标签存在不连号情况。这时,将进行一次编码整理,消除不连续编号的情况。18/49贴标签——应用示例19/49腐蚀——基本概念腐蚀是一种消除连通域的边界点,使边界向内收缩的处理。例:20/49腐蚀——设计思想设计一个结构元素,结构元素的原点定位在待处理的目标像素上,通过判断是否覆盖,来确定是否该点被腐蚀掉。结构元素21/49腐蚀——算法步骤1)扫描原图,找到第一个像素值为1的目标点;2)将预先设定好形状以及原点位置的结构元素的原点移到该点;3)判断该结构元素所覆盖的像素值是否全部为1:如果是,则腐蚀后图像中的相同位置上的像素值为1;如果不是,则腐蚀后图像中的相同位置上的像素值为0;4)重复2)和3),直到所有原图中像素处理完成。22/49腐蚀——例题注:图像画面上边框处不能被结构元素覆盖的部分可以保持原来的值不变,也可以置为背景。23/49腐蚀——应用腐蚀处理可以将粘连在一起的不同目标物分离,并可以将小的颗粒噪声去除。24/49腐蚀举例I=imread('cameraman.tif');se=strel(‘ball’,5,5);%定义椭圆形结构元素I2=imerode(I,se);subplot(1,2,1),imshow(I),title('Original')subplot(1,2,2),imshow(I2),title('Eroded')25/4926/49膨胀——基本概念膨胀是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理。例:27/49膨胀——设计思想设计一个结构元素,结构元素的原点定位在背景像素上,判断是否覆盖有目标点,来确定是否该点被膨胀为目标点。结构元素28/49膨胀——算法步骤1)扫描原图,找到第一个像素值为0的背景点;2)将预先设定好形状以及原点位置的结构元素的原点移到该点;3)判断该结构元素所覆盖的像素值是否存在为1的目标点:如果是,则膨胀后图像中的相同位置上的像素值为1;如果不是,则膨胀后图像中的相同位置上的像素值为0;4)重复2)和3),直到所有原图中像素处理完成。29/49膨胀——例题30/49膨胀——应用膨胀处理可以将断裂开的目标物进行合并,便于对其整体的提取。31/49膨胀举例bw=imread('cameraman.tif');se=strel(‘line’,11,90);bw2=imdilate(bw,se);subplot(1,2,1),imshow(bw),title('Original')subplot(1,2,2),imshow(bw2),title('Dilated')32/4933/49开运算与闭运算的提出背景前面介绍的膨胀与腐蚀运算,对目标物的后处理有着非常好的作用。但是,腐蚀和膨胀运算的一个缺点是,改变了原目标物的大小。为了解决这一问题,考虑到腐蚀与膨胀是一对逆运算,将膨胀与腐蚀运算同时进行。由此便构成了开运算与闭运算。34/49开运算思路:先腐蚀,再膨胀•定义:BS=(BS)S•结果:1)消除细小对象2)在细小粘连处分离对象3)在不改变形状的前提下,平滑对象的边缘35/49开运算——算法原理开运算是对原图先进行腐蚀处理,后再进行膨胀的处理。开运算可以在分离粘连目标物的同时,基本保持原目标物的大小。36/49开运算——运算示例腐蚀膨胀37/49闭运算——算法原理闭运算是对原图先进行膨胀处理,后再进行腐蚀的处理。闭运算可以在合并断裂目标物的同时,基本保持原目标物的大小。38/49闭运算思路:先膨胀、再腐蚀•定义:BS=(BS)S•结果:1)填充对象内细小空洞。2)连接邻近对象3)在不明显改变面积前提下,平滑对象的边缘39/49闭运算——运算示例问题:本例未能将分裂成两个连通域的目标合并,怎么办?膨胀腐蚀40/49开、闭运算的变形如果当按照常规的开运算不能分离粘连,或者是闭运算不能合并断裂:对于开运算可以先进行N次腐蚀,再进行N次膨胀;对于闭运算可以先进行N次膨胀,再进行N次腐蚀。41/49变形闭运算的示例一次膨胀二次膨胀一次腐蚀二次腐蚀42/49变体•1)细化•结果:在不破坏连通性的前提下,细化图像。•算法实现:1)做腐蚀操作,但不立刻删除像素,只打标记2)将不破坏连通性的标记点删掉。3)重复执行,将产生细化结果43/49变体•2)粗化•结果:在不合并对象的前提下,粗化图像。•算法实现:1)做膨胀操作,但不立刻添加像素,只打标记2)将不产生对象合并的标记点添加进来。3)重复执行,将产生粗化结果•另一方案:将图像求反,执行细化,结果再求反44/49作业1.设一个二值图像为111000100101100001001011010010000100f分别在八连通和四连通意义下对该图贴标签。45/49作业2.用结构元素S对上图分别
本文标题:二值图像处理
链接地址:https://www.777doc.com/doc-4442235 .html