第08章 图像分割

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

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

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

资源描述

第8章图像分割知识要点•图像分割的定义及其在图像处理中的地位。•像素间的关系:–邻域和连通性。•阈值分割技术:–全局阈值分割和自适应阈值分割技术。•边缘检测法:–梯度算子、拉普拉斯算子、拉普拉斯-高斯算子、方向算子、坎尼算子和边缘跟踪。•区域检测法。•霍夫变换。8.1概述8.1.1图像分割的目的和任务图像处理的重要任务就是对图像中的对象进行分析和理解。在图像分析中,输出的结果是对图像的描述、分类或其他的某种结论。图像分析主要包括以下几部分内容:(1)把图像分割成不同的区域,或把不同的目标分开(分割)。即把图像分成互不重叠的区域并提取出感兴趣目标。(2)找出各个区域的特征(特征提取)。(3)识别图像中的内容,或对图像进行分类(识别与分类)。(4)给出结论(描述、分类或其他的结论)。图8.1目标为飞机的图像(a)原图像(b)分割后的图像8.1.2图像分割的集合定义•令集合R代表整个图像区域,对R的图像分割可以视为将R分成N个满足以下条件的非空子集:–(1)–(2)对于所有的i和j,i≠j,有;–(3)对于i=1,2,…,N,有P(Ri)=TRUE;–(4)对于i≠j,有P(Ri∪Rj)=FALSE;–(5)对于i=1,2,…,N,Ri是连通的区域。1;NiiRRijRR8.1.3图像分割的分类根据分割方法的不同,通常有两种分类方法:(1)根据图像的两种特性进行分割:根据各个像素点的灰度不连续性进行分割;根据同一区域具有相似的灰度进行分割。(2)根据分割的处理策略不同进行分割:并行算法,所有的判断和决策可以独立进行;串行算法,后期的处理依赖前期的运算结果。表8.1常见的图像分割算法分类边界(不连续性)区域(相似性)并行处理并行边界类(边缘检测等)并行区域类(阈值分割、聚类等)串行处理串行边界类(边缘跟踪等)串行区域类(区域生长、分裂合并等)8.2像素的邻域和连通性1.4邻域对一个坐标为的像素p,它可以有两个水平和两个垂直的近邻像素。它们的坐标分别是这四个像素称为p的4邻域。互为4邻域的像素又称为4连通的。2.8邻域取像素p四周的8个点作为相链接的邻域点,除掉p本身外,剩下的8个点就是p的8邻域。互为8邻域的像素又称为8连通的。),(yx)1,(),1,(),,1(),,1(yxyxyxyx目标和背景的连通性定义必须取不同,否则会引起矛盾。0000001110010100011000000图8.2目标和背景连通性【例8.1】根据4/8连通准则在二值图像中判断目标。解:应用函数bwlabel可以根据4连通或8连通准则,在给定的二值图像矩阵BW中寻找目标。程序:BW=[11100000;11101100;11101100;11100010;11100010;11100010;11100110;11100000];%给定的二值图像矩阵L4=bwlabel(BW,4)%根据4连通准则判定目标L8=bwlabel(BW,8)%根据8连通准则判定目标根据4连通准则,得到的目标是3个:L4=1110000011102200111022001110003011100030111000301110033011100000根据8连通准则,得到目标是2个:L8=11100000111022001110220011100020111000201110002011100220111000008.3图像的阈值分割技术8.3.1基本原理灰度阈值分割方法。若目标和背景具有不同的灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域。设图像为f(x,y),其灰度集范围是[Z1,ZK],在Z1和ZK之间选择一个合适的灰度阈值T。图像分割方法可由下式描述:这样得到的是一幅二值图像。图8.4给出了利用阈值分割图像的实例。(a)是原图(b)是对应的直方图(c)是选择分割阈值为110的结果图。TyxfTyxfyxg),(0),(1),((8.1)(a)原图像(b)直方图(c)已分割的图像图8.4阈值分割8.3.1全局阈值分割全局阈值是最简单的图像分割方法。根据不同的目标,选用最佳的阈值。1.实验法需要知道图像的某些特征2.直方图法适用于目标和背景的灰度差较大,直方图有明显谷底的情况。3.最小误差的方法图8.5直方图阈值分割示意图图8.6灰度级分布8.3.3局部阈值分割当照明不均匀、有突发噪声或者背景灰度变化比较大的时候,可以对图像进行分块处理,对每一块分别选定一个阈值进行分割,这种与坐标相关的阈值称为自适应阈值的方法。这类算法的时间复杂度和空间复杂度比较大,但是抗噪声的能力比较强。任何一种分割方法都有其局限性。实际的算法只能根据实际情况选择方法和阈值。8.4图像的边缘检测8.4.1边缘检测的基本原理基于灰度不连续性进行的分割方法。图8.9几种常见的边缘用差分、梯度、拉普拉斯算子及各种高通滤波处理方法对图像边缘进行增强,只要再进行一次门限化的处理,便可以将边缘增强的方法用于边缘检测。对于一个连续函数f(x,y),其在(x,y)处的梯度:常采用小型模板,然后利用卷积运算来近似,Gx和Gy各自使用一个模板。1.Roberts算子yfxfGGfyx(8.2)100101108.4.2梯度算子2.Prewitt算子3.Sobel算子通过算子检测后,还需作二值处理从而找到边界点。图8.9给出了利用这三个算子进行边缘检测的不同效果。这三种模板中,Sobel算子的检测效果最好。101101101111000111101202101121000121(a)原图像(b)Roberts算子检测(c)Prewitt算子检测(d)Sobel算子检测【例8.4】利用梯度算子对图像进行边缘检测。I=imread('blood1.tif');•imshow(I);•BW1=edge(I,'roberts');•%进行Roberts算子边缘检测,门限值采用默认值•BW2=edge(I,'prewitt');•%进行Prewitt算子边缘检测,门限值采用默认值•BW3=edge(I,'sobel');•%进行Sobel算子边缘检测,门限值采用默认值•figure,imshow(BW1,[]);•figure,imshow(BW2,[]);•figure,imshow(BW3,[]);8.4.3拉普拉斯算子Laplacian是二阶导数算子,也是借助模板来实现的。对模板有一些基本要求:模板中心的系数为正,其余相邻系数为负,且所有的系数之和为零。常用的模板有:010141010010151010图8.9二阶导数算子确定边缘位置(a)平滑边缘的二阶算子(b)斜坡边缘的二阶算子【例8.5】Robert、Sobel和Laplace算子的边缘检测。(a)Lena图像(b)Robert算子检测结果(c)Sobel算子检测结果(d)Laplace算子检测结果图8.10各种算子的检测结果8.4.4拉普拉斯-高斯算子•拉普拉斯-高斯算子(LaplacianofGaussian,LoG),也称Marr算子。•思想:–先用高斯函数g(x,y)对图像f(x,y)进行滤波,–再对滤波后的图像进行拉普拉斯运算(2),结果为零的位置即为边缘点的位置。–滤波提高了抗噪声的能力,但同时可能使原本比较尖锐的边缘平滑了,甚至无法检测到。图8.9不同微分算子的边缘检测效果(a)原图像(e)LoG算子检测8.4.5Canny边缘检测算子Canny的主要工作:推导了最优边缘检测算子。考核边缘检测算子的指标是:低误判率,即尽可能少地把边缘点误认为是非边缘点;高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘。图8.9不同微分算子的边缘检测效果(a)原图像(f)Canny算子检测判断一个像素是否为边缘点的条件为:(1)像素(i,j)的边缘强度大于沿梯度方向的两个相邻像素的边缘强度;(2)与该像素梯度方向上相邻两点的方向差小于45º;(3)以该像素为中心的3×3邻域中的边缘强度的极大值小于某个阈值。Canny算子的检测比较优越,可以减少小模板检测中边缘中断,有利于得到较完整的边缘。MATLAB程序:•I=imread('blood1.tif');•imshow(I);•BW5=edge(I,'canny');•figure,imshow(BW5,[]);Canny算子边缘检测的结果图8.4.6方向算子利用一组模板对图像中的同一像素求卷积,然后选取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。相对于梯度算子的优点:不仅仅只考虑水平和垂直方向,还可以检测其他方向上的边缘。但计算量将大大增加。常用的有8方向Kirsch(3×3)模板,如图8.8所示,方向间的夹角为45º。图8.133×3Kirsch算子的八方向模板8.4.8边缘跟踪上述方法仅得到处在边缘上的像素点。噪声和不均匀的照明而产生的边缘间断的影响,使得经过边缘检测后得到的边缘像素点很少能完整地描绘实际的一条边缘。可以在使用边缘检测算法后,接着使用连接方法将边缘像素组合成有意义的边缘。光栅扫描跟踪法:一种简单的利用局部信息、通过扫描的方式将边缘点连接起来的方法。该跟踪算法采用电视光栅行扫描顺序对遇到的像素进行分析,从而确定其是否为边缘。由于光栅扫描跟踪和扫描方向有关,因此最好沿其他方向再跟踪一次。图8.14光栅扫描跟踪(a)输入图像(b)阈值化处理(c)根据阈值进行跟踪【例8.6】利用函数对图像进行边缘跟踪。•BW=imread('blobs.png');•imshow(BW,[]);•s=size(BW);•forrow=2:55:s(1)•forcol=1:s(2)ifBW(row,col),break;end•end•contour=bwtraceboundary(BW,[row,col],'W',8,50,'counterclockwise');•if(~isempty(contour))holdon;•plot(contour(:,2),contour(:,1),'g','LineWidth',2);•holdon;plot(col,row,'gx','LineWidth',2);•else•holdon;plot(col,row,'rx','LineWidth',2);•end图8.16二值边缘跟踪(a)二值图像实例(b)顺时针边缘跟踪结果8.5霍夫变换霍夫(Hough)变换方法是利用图像全局特性而直接检测目标轮廓,将图像的边缘像素连接起来的常用方法。1.基本原理点——线的对偶性。当给定图像空间的一些边缘点,就可以通过霍夫变换确定连接这些点的直线方程。2.霍夫变换的实现实际进行霍夫变换时,要在上述基本方法的基础上根据图像的具体情况采用一些措施。使用极坐标直线方程用以提高精度和速度。8.5.1直角坐标系中的霍夫变换图8.17图像空间和参数空间中点和线的对偶性图8.1参数空间中的累加数组8.5.2极坐标系中的霍夫变换图8.19直线的极坐标表示图8.20参数空间对应的曲线图8.21采用霍夫变换提取图像中的直线(a)原图像(b)二值化图像(c)霍夫变换8.6区域生长法8.6.1原理和步骤将具有相似性质的像素集合起来构成区域。先对每个需要分割的区域找一个种子像素作为生长的起点然后将种子像素周围邻域中与种子像素具有相同或相似性质的像素合并到这一区域中。将这些新像素当做新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。这样一个区域就长成了。在实际应

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

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

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

×
保存成功