第九章 图像分割 (1)

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

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

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

资源描述

第九章图像分割9.1引言图像分割就是将一幅图像中的目标物分离出来。1)先通过看图理解图像分割的概念–将图像分解成构成它的部件和对象–有选择地定位感兴趣对象在图像中的位置和范围•图像分割的基本思路–从简到难,逐级分割–控制背景环境,降低分割难度–把焦点放在增强感兴趣对象,缩小不相干图像成分的干扰上2)概述数字图像处理按其技术特征可以分为三层结构:图像处理;图像分析;图像理解与识别;无论是图像处理、分析、理解与识别,其基础工作一般都建立在图像分割的基础上;将图像中有意义的特征或者应用所需要的特征信息提取出来;图像分割的最终结果是将图像分解成一些具有某种特征的单元,称为图像的基元;相对于整幅图像来说,这种图像基元更容易被快速处理。图像特征•图像特征是指图像中可用作标志的属性,它可以分为统计特征和视觉特征两类。•图像的统计特征是指一些人为定义的特征,通过变换才能得到,如图像的直方图、矩、频谱等;•图像的视觉特征是指人的视觉可直接感受到的自然特征,如区域的亮度、纹理或轮廓等。•图像分割是进行图像分析的关键步骤,也是进一步理解图像的基础;•不同种类的图像,不同的应用要求所需要提取的特征不相同,特征提取方法也就不同;•不存在一种所谓普遍适用的最优方法。图像分割设R代表整个图像区域,对R的分割可看作将R分成若干个满足以下5个条件的非空子集(子区域)R1,R2,…,Rn。(1)。即分割成的所有子区域的并应能构成原来的区域R。(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是连通的区域。即同一子区域内的像素应当是连通的。RRnii==U1f=jiRRI图像的边缘•图像的边缘对人类的视觉系统具有重要的意义,它是人类判别物体的重要依据,是图像的最基本特征。•所谓边缘(又称为边沿),是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。•边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。因此,它是图像分割所依赖的重要特征。图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。•如不同目标物体所占的图像区域、前景所占的图像区域等;•连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径;•对于离散图像而言,连通有4连通和8连通之分,如下图所示。3)图像分割的基本原理图4连通和8连通(a)(b)4连通指的是从区域上一点出发,可通过4个方向,即上、下、左、右移动的组合,在不越出区域的前提下,到达区域内的任意像素;8连通方法指的是从区域上一点出发,可通过左、右、上、下、左上、右上、左下、右下这8个方向的移动组合来到达区域内的任意像素。图像分割有三种不同的途径:其一是将各像素划归到相应物体或区域的像素聚类方法,即区域法;其二是通过直接确定区域间的边界来实现分割的边界方法;其三是首先检测边缘像素,再将边缘像素连接起来构成边界形成分割。在图像分割技术中,最常用的是利用阈值化处理进行的图像分割。本章主要介绍阈值法和边缘检测的方法。9.2阈值一、单阈值图像的二值化处理,一幅灰度图像,选择一阈值T,将图像转换为黑白二值图像,=TyxfTyxfyxg),(255),(0),(以上原理用MATLAB实现很简单,其实是将图像中所有的灰阶值与T相比较,大于T的返回1,小于T的返回0,我们得到一个只有0和1的矩阵,将其显示为图像,就是一幅二值图像。可以用函数im2bw来实现上述操作。p=im2bw(r,0.3);imshow(p)Im2bw中的参数第一个是图像,第二个level是一个介于0和1之间的数,此时阈值为T=M*level。还可以用阈值法获得图像中的隐藏信息。如图9.3所示,左图看上去是均匀的,但如果我们将阈值设为241则可以看到,产生右图的效果,有一些本来看不到的隐藏信息将显现出来。二、双阈值我们选择两个阈值T1和T2,21255(,)(,)0(,)TfxyTgxyfxy=其他[x,map]=imread('spine.tif');s=ind2gray(x,map);imshow(s),figure,imshow(s115&s125)imshow(im2bw(x,map,0.45)&~im2bw(x,map,0.5))这样的方法有点慢,这是因为当处理输入图像时计算比较复杂。9.3阈值法的应用1.去除不关心的细节,突出关心的内容。2.显示出隐藏的细节3.对随机的图像背景进行单一化的处理。r=rand(256)*128+127;t=imread('test1.tif');tr=uint8(r.*im2double(t));imshow(tr)imshow(tr100)9.4选取合适的阈值在图像的阈值化处理过程中,选用不同的阈值其处理结果差异很大;阈值过大,会提取多余的部分;阈值过小,又会丢失所需的部分;因此,阈值的选取非常重要。大津阈值,把直方图在某一阈值处分割成两组,当被分成的两组间方差为最大时,决定阈值.设一幅图像的灰度值为0~L-1级,灰度值i的像素数为ni,则像素总数各值的概率,用k将其分成两组C0={0~k}和C1={k+1~L-1},各组产生的概率如下:C0和C1产生的概率分别为和==10LiinNNnpii=1()kiiwkp==11Liikkp==10LTiiip==22()Tkkkkk=从0~L-1之间改变k,求上式为最大值时的k,既是最大方差阈值,也称为大津阈值。10()()1Liiwkkp===整幅图像的灰度平均值为实现过程:从T从0~L-1逐一改变,每变一次,对应一个,具有最大的k即是最佳阈值.讨论:*此方法可操作性强;*无论图像有无双峰都可得到较满意结果;*局部图像二值化效果更好*可推广到双阈值图像分割最大方差阈值选取法K2K2实现方法先用graythresh将图像的阈值求出来,得到的是一个介于0和1之间的数,而后利用im2bw得到阈值分割后的结果。9.5自适应阈值当前景内容和背景内容都具有多个灰阶时,这时不适用全局阈值,只能够进行局部阈值的操作,自适应阈值就可以应用在这样的场合。c=imread('circles.tif');x=ones(256,1)*[1:256];c2=double(c).*(x/2+50)+(1-double(c)).*x/2;c3=uint8(255*mat2gray(c2));imshow(c3)t=graythresh(c3)t=0.4275ct=im2bw(c3,t);imshow(ct)p1=c3(:,1:64);p2=c3(:,65:128);p3=c3(:,129:192);p4=c3(:,193:256);g1=im2bw(p1,graythresh(p1));g2=im2bw(p2,graythresh(p2));g3=im2bw(p3,graythresh(p3));g4=im2bw(p4,graythresh(p4));imshow([g1g2g3g4])fun=inline('im2bw(x,graythresh(x))');c4=blkproc(c3,[256,64],fun);imshow(c4)9.6边缘检测•图像的边缘对人的视觉具有重要意义。一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。•边缘是一个区域的结束,也是另一个区域的开始.利用边缘可以分割图像。一条边缘是一组相连的像素集合这些像素位于两个区域的边界上。边缘与边界的区别:边缘是一个“局部”概念,一个区域的边界是一个具有整体性的概念。理想边缘模型:边缘是一组相连的像素集合,每个像素都处在灰度级跃变的一个垂直的台阶上。理想边缘水平剖面图(1)光学系统和其他图像采集的不完善性使得到的边缘是模糊的,边缘被模拟成具有“类斜面”。斜坡部分与边缘的模糊程度成比例.(2)边缘点是包含于斜坡中的任意点,并且边缘成为一组彼此相连接的点集.(3)边缘的“宽度”取决于斜坡的长度.该长度取决于模糊程度.模糊的边缘使其变粗而清晰的边缘使其变得较细.边缘特点实际边缘水平剖面图边缘的剖面线边缘一阶导数边缘二阶导数xxxf”f’f9.7边缘和导数(1)在灰度级变化的区域一阶导数为正(2)在灰度级不变的区域一阶导数为零。(3)在边缘与黑色一边相关的跃变点二阶导数为正(4)在边缘与亮色一边相关的跃变点二阶导数为负(5)沿着斜坡和灰度为常数的区域二阶导数为零。在图4中导数的符号在从亮到暗的跃变中边缘处取反。沿着剖面线斜面的变化点从左到右进入和离开获得•一阶导数可以用于检测图像中的一个点是否是边缘的点(也就是判断一个点是否在斜坡上)。•二阶导数的符号可以用于判断一个边缘像素是在边缘亮的一边还是暗的一边。•二阶导数的附加性质:(1)对图像中的每条边缘二阶导数生成两个极值(一个不希望得到的特点)(2)一条连接极值点的虚构直线将在边缘中点附近穿过,该性质对于确定粗边线的中心非常有用。图象剖面一阶二阶边缘和导数阶跃边缘、脉冲边缘、屋顶边缘的灰度剖面线及其一阶、二阶导数。边缘点的判定判断一个点是否为边缘点的条件:该点的灰度变化(一阶导数)必须比指定的门限大。一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。如果选择使用二阶导数,则边缘点定义为它的二阶导数的零交叉点。分割的关键问题是如何将边缘线段组合成更长的边缘。应该注意到,这些定义并不能保证在一幅图像中成功地找到边缘。它们只是给了一个寻找边缘的形式体系。边缘检测基本步骤滤波:改善与噪声有关的边缘检测器的性能;一般滤波器降噪导致了边缘的损失;增强边缘和降低噪声之间需要折衷.锐化:将邻域灰度值有显著变化的点突显出来.一般是通过计算梯度幅值来完成的.检测:最简单的边缘检测判据是梯度幅值阈值定位:边缘的位置和方位在子像素分辨率上估计。一阶图象锐化算子算子运算时是采取类似卷积的方式,将模板在图像上移动并在每个位置计算对应中心像素的梯度值,所以对一幅灰度图求梯度所得的结果是一幅梯度图。1.梯度算子梯度对应一阶导数,对于一个连续图像函数f(x,y):TTyxyfxfGGyxf==),(2122)()),((),(yxGGyxfmagyxf==)arctan(),(xyGGyx=f梯度的幅度:梯度矢量定义:梯度的方向:用差分来近似梯度:j对应于x轴方向,i对应于y负轴方向,用简单卷积模板表示:],1[],[],[]1,[jifjifGjifjifGyx==2.Prewitt梯度算子-101-101-101111000-1-1-122xyMGG=234076012654()()()()xyGacaaacaaGacaaacaa==c=1ic=imread('peppers.tif');px=[-101;-101;-101];icx=filter2(px,ic);figure,imshow(icx/255)py=px';icy=filter2(py,ic);figure,imshow(icy/255)edge_p=sqrt(icx.^2+icy.^2);figure,imshow(edge_p/255)edge_t=im2bw(edge_p/255,0.3);figure,imshow(edge_t)3.Roberts算子梯度幅值计算近似方法用卷积模板表示:]1,[],1[]1,1[],[],[=jifjifjifjifjiG梯度交叉算子4.Sobel梯度算子权值2用于通过增加中心点的重要性而实现某种程度的平滑效果梯度幅值:其中的偏导数用下式计算:c=2

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

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

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

×
保存成功