数字图像处理及MATLAB实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章图像分割Contents8.1图像分割定义8.2使用阈值进行图像分割8.3基于梯度的图像分割方法8.4边缘检测和连接Contents8.5区域增长(RegionGrowing)8.6二值图像处理(BinaryImageProcessing)8.7分割图像的结构小结8.1图像分割定义图像分割处理定义:–将数字图像划分成互不相交(不重叠)区域的过程.区域(region)定义:–像素的连通集。连通(connectedness)定义:–在一个连通集中的任意两个像素之间,存住一条完全由这个集合的元素构成的连通路径。8.2.1全局阈值化思想:整个图像中将灰度阈值的值设置为常数。前提条件:如果背景的灰度值在整个图像中可合理地看作为恒定,而且所有物体与背景都具有几乎相同的对比度,那么,只要选择了正确的阈值,使用一个固定的全局阈值一般会有较好的效果。8.2.2自适应阈值改进方法:在许多的情况下,背景的灰度值并不是常数,物件和背景的对比度在图像中也有变化,这时,一个在图像中某一区域效果良好的阈值在其它区域却可能效果很差。在这种情况下,把灰度阈值取成一个随图像中位置缓慢变化的函数值是适宜的。8.2.3最佳阈值的选择除非图像中的物体有陡峭的边沿,否则灰度阈值的取值对所抽取物体的边界的定位和整体的尺寸有很大的影响。这意味着后续的尺寸(特别是面积)的测量对于灰度阈值的选择很敏感。由于这个原因,我们需要一个最佳的,或至少是具有一致性的方法确定阈值。1.直方图技术含有一个与背景明显对比的物体的图像其有包含双峰的灰度直方图直方图生成a=imread('d:\pic\i_boat_gray.bmp');imshow(a)figureimhist(a)利用灰度阈值T对物体面积进行计算的定义是:TdDDHA)(TdDDHA)(TdDDHA)(TdDDHA)(TdDDHA)(2.最大类间方差法(OTSU)OTSU算法定义:该算法是在灰度直方图的基础上用最小二乘法原理推导出来的,具有统计意义上的最佳分割阈值。OTSU基本原理:以最佳阈值将图像的灰度直方图分割成两部分,是两部分之间的方差取最大值,即分离性最大。3.迭代法求阈值原理:图像中前景与背景之间的灰度分布为相互不重叠,在该前提下,实现对两类对象的阈值分割方法。8.3基于梯度的图像分割方法思路对比:区域分割方法:通过将图像划分为内部点集和外部点集来实现分割。边界方法:利用边界具有高梯度值的性质直接把边界找出来。8.3.1边界跟踪算法步骤1:我们从一个梯度幅值图像着手进行处理,这个图像是从一幅处于和物体具有反差的背景中的单一物体的图像进行计算得来的。2:搜索以边界起始点为中心的3×3邻域,找出具有最大灰度级的邻域点作为第2个边界点。8.3.2梯度图像二值化如果用适中的阈值对一幅梯度图像进行二值化,Kirsch的分割法利用了这种现象。算法步骤用一个中偏低的灰度阈值对梯度图像进行二值化从而检测出物体和背景,物体与背景被处于阈值之上的边界点带分开。随着阈值逐渐提高,就引起物体和背景的同时增长。当它们接触上而又不至于合并时,可用接触点来定义边界。这是分水岭算法在梯度图像中的应用。Kirsch的分割算法物体T1T2阈值梯度8.3.3拉普拉斯边缘检测拉普拉斯算于是对二维函数进行运算的二阶导数标量算子。它定义为:),(),(),(22222yxfyyxfxyxf一个无噪声图像具有陡峭的边缘,可用拉普拉斯算子将它们找出来。对经拉普拉斯算子滤波后的图像用零灰度值进行二值化会产生闭合的、连通的轮廓并消除了所有的内部点。但是由于噪声的存在,在运用拉普拉斯算子之前需要先进行低通滤波。选用高斯低通滤波器进行预先平滑是很合适的。由卷积的结合律可以将拉普拉斯算子和高斯脉冲响应组合成一个单一的高斯拉普拉斯核:这个脉冲响应对x和y是可分离的,因此可以有效地加以实现。22222222224222]21[121yxyxeyxe8.4边缘检测和连接边缘点:确定图像中的物体边界的另一种方法是先检测每个像素和其直接邻域的状态,以决定该像素是否确实处于一个物体的边界上。具有所需特性的像素被标为边缘点。边缘图像:当图像中各个像素的灰度级用来反映各像素符合边缘像素要求的程度时,这种图像被称为边缘图像。8.4.1边缘检测边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。有若干种方法可以使用,其中大多数是基于方向导数掩模求卷积的方法。Roherts边缘算子其中,f(x,y)是具有整数像素坐标的输入图像。其中的平方根运算使该处理类似于人类视觉系统中发生的过程。2])1,1(),({[),(yxfyxfyxg212}])1,(),1([yxfyxfSobel边缘算子两个卷积核形成了Sobel边缘算子。图像中的每个点都用这两个核做卷积。一个核对通常的垂直边缘响应最大而另一个对水平边缘响应最大。两个卷积的最大值作为该点的输出值。运算结果是一幅边缘幅度图像。Sobel边缘算子图Prewitt边缘算子Prewitr边缘算子Kirsch边缘算子图像中的每个点均与这8个模板进行卷积,每个掩模对某个特定边缘方向作出最大响应。所有8个方向中的最大值作为边缘幅度图像的输出。最大响应掩模的序号构成了对边缘方向的编码。Kirsch算子的梯度幅度值),,,,,,,max(),(87654321MMMMMMMMyxGKirsch边缘算子Kirsch边缘算子边缘检测器性能:使用两个掩模板组成边缘检测器时,通常取较大得幅度作为输出值。这使得它们对边缘的走向有些敏感。取它们的平方和的开方可以获得性能更‘致的全方位响应。这与真实的梯度值更接近。边缘提取方法原图边缘提取方法边缘提取后8.4.2边缘连接问题:如果边缘很明显,而且噪声级低,那么可以将边缘图像二值化并将其细化为单像素宽的闭合连通边界图。然而在非理想条件下,这种边缘图像会有间隙出现,需要加以填充。填充小的间隙可以简单地实现,通过搜索一个以某端点为中心的5×5或更大的邻域,在邻域中找出其它端点并填充上必要的边界像素,从而将它们连接起来。对具有许多边缘点的复杂场景,这种方法可能会对图像过度分割。为了避免过度的分割,可以规定:两个端点只有在边缘强度和走向相近的情况下才能连接。解决方法启发式搜索曲线拟合Hough变换(1)启发式搜索假定在一幅边缘图像的某条边界上有一个像间隙的缺口,但是这个缺口太长而不能仅用一条直线填充,它还可能不是同一条边界上的缺口,可能在两条边界上。作为质量的度量,我们可以建立一个可以在任意连接两端点(称为A,B)的路径上进行计算的函数。。如果边缘质量函数很复杂而且要评价的缺口既多又长,启发式搜索技术的计算会很复杂。这样的技术在相对简单的图像中性能很好,但不一定能找出两端点间的全局最佳路径。(2)曲线拟合假定有一组散布在两个特定边缘点A和B之间的边缘点,我们希望从中选取一个子集作为从A到B一条分段线性路径上的结点集。首先:从A到B引一条直线。其次:接着计算其它的每个边缘点到该直线的垂直距离。(3)Hough变换直线y=mx+b可用极坐标表示为其中定义了一个从原点到线上最近点的向量。这个向量与该直线垂直。)sin()cos(yx如果有一组位于由参数确定的直线上的边缘点,则每个边缘点对应了空间的一条正弦型曲线。所有这些曲线必交于点,因为这是它们共享的一条直线的参数。建立一个在空间的二维直方图。对每个边缘点,我们将给所有与该点的Hough变换(正弦曲线)对应的空间的直方图方格一个增量。当对所有边缘点施行完这种操作后,包含的方格将具有局部最大值。然后对空间的直方图进行局部最大值搜索可以获得边界线段的参数。hough直线检测结果原图直线检测结果8.5区域增长方法:从把一幅图像分成许多小区域开始的。这些初始的区域可能是小的邻域甚至是单个像素。在每个区域中,对经过适当定义的能反映一个物体内成员隶属程度的性质(度量)进行计算。用于区分不同物体内像素的性质(度量)包括平均灰度值,纹理,或颜色信息。区域增长算法主要分成两类(1)简单连接这是基于单个像素的区域增长法,它从满足的检测的点(连接核)开始,考察其周围(4邻域或8邻域)的不属于任何一个区域的点,如果其特性符合接收准则,就把它作为同一个区域加以合并,形成连接核,继而检测周围的点,并把符合接入准则的点并入,产生新的核。重复上述过程,直到没有可并入的点时,生产过程结束。(2)子区合并法合并过程:首先:将图像分割成个,大小为的小区域(简称子区)。其次:从左上角第一个子区开始,分别计算子区和相邻子区的灰度统计量,然后做相似性判定。若两者的灰度分布相似且符合接收准则。相邻子区并入当前子区,形成下一轮判定合并时的当前子区。如果某个相邻子区不符合接收准则,就打上“未分割标记”。继续新一轮判定,使当前子区不断“生长”,知道没有可归并的子区为止,一个区域分割完毕。最后:搜索图像全域,对凡具有“未分割标记”的子区重复上述步骤。相似性判定准则一般是:121)()(maxTNFhFhN221)()(TNFhFhN8.6二值图像处理二值图像也就是只具有两个灰度级的图像,它是数字图像的一个重要子集。一个二值图像(例如,一个剪影像或一个轮廓图)通常是由一个图像分割操作产生的。如果初始的分割不够令人满意,对二值图像的某些形式的处理通常能提高其质量。形态学图像处理术语1.集合论术语(Definition)形态学处理语言中,二值图像B和结构元素S都是定义在二维笛卡儿网格上的集合,“1”是这些集合中的元素。当一个结构元素的原点位移到点(x,y)处时,我们将其记作。形态学运算的输出是另一个集合,这个运算可用一个集合论方程来确定。2.腐蚀和膨胀(DilationandErosion)二值图像腐蚀膨胀(1)腐蚀一般意义的腐蚀概念定义为:E=BS={x,y|B}如果S的原点位移到点(x,y),那么S将完全包含于B中。使用基本的3×3结构元素时,一般意义的腐蚀简化为简单腐蚀。(2)膨胀一般膨胀定义为:E=BS={x,y|B}S对B膨胀产生的二值图像D是由这样的点(x,y)组成的集合,如果S的原点位移到(x,y),那么它与B的交集非空。采用基本的3×3结构造元素时,一般膨胀简化为简单膨胀。8.6.2开运算和闭运算开运算:先腐蚀后膨胀的过程称为开运算。它具有消除细小物体、在纤细点处分离物体、和平滑较大物体的边界时又不明显改变其面积的作用。开运算定义为:SSBSB)(闭运算:先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。闭运算定义为:SSBSB)(8.6.3腐蚀和膨胀的变体通常反复施以腐蚀运算,将使一个物体变得不存在。类似地,反复膨胀将把一幅图像中的所有物体合并为一个。然而,这些过程可以改变一下,以便在一些应用中产生更合适的结果。(1)收缩定义:当腐蚀以一种不触及单像素物件的方式执行时,这个过程称为收缩。收缩可以迭代方式为一个包含近似圆形物体的二值图像生成物体尺寸的分布。收缩时会使非常不圆的物体(如哑铃状的物体)分解,因此这种技术存它的局限性。(2)细化定义:将一个曲线形物体细化为一条单像素宽的线,从而图形化地显示出其拓扑性质。腐蚀可编程过程:第一步:足一个正常的腐蚀。第二步:只将那些消除后并不破坏连通性的点消除,否则保留。(3)抽骨架定义:一个与细化有关的运算,也称为中轴变换(Medialaxistransform)或焚烧草地技术(grass-firetechnigue)。抽骨架的实现与细化相似.可采用一个两步有条件腐蚀实现,但是删除像素的规则略有不同。(4)剪裁细化和抽骨架过程会在所生成的阿中留下毛刺。毛刺是由边界上单像素尺寸的起伏造成的,这些起伏产生了小的分支。它们可通进一系列的消除端点的

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功