基于阈值的分割.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于阈值的分割

对于给定的一幅含有多个物体的数字图像,模式识别的过程由三个阶段组成,如图所示 模式识别的一个例子 图像分割方法 基于阈值的分割-通过阈值对不同物体进行分割 基于区域的分割-把各象素划归到各个物体或区域中 基于边缘的分割-先确定边缘象素,并把它们连接在一起,以构成所需的边界 7.1 基于阈值的分割 图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域(目标和背景)的组合,选取一个合适的阈值,以确定图像中每个象素点应该属于目标还是背景区域,从而产生相应的二值图像 阈值选取方法 直方图阈值分割法 迭代确定法 类间方差阈值法(Otsu) 动态阈值分割法 1、直方图分割法 图示区域分裂与合并方法分割图像的步骤 举例: 分裂的一致性准则:灰度方差不大于1.5; 合并的一致性准则:相邻子区域的灰度值相差不大于2.5。 7.3 图像的边缘检测 边缘检测是基于灰度不连续性进行的分割方法。前面,我们讨论了用差分、梯度、拉普拉斯算子及各种高通滤波处理方法对图像边缘进行增强 ,只要再进行一次门限化的处理,便可以将边缘增强的方法用于边缘检测。 7.3.2 梯度算子 第四章介绍了梯度对应于一阶导数,相应的梯度算子就对应于一阶导数算子。对于一个连续函数f(x,y) ,其在(x,y)处的梯度定义如下: 在实际应用中常常采用小型模板,然后利用卷积运算来近似,Gx和Gy各自使用一个模板。 完成上述检测的实现程序如下: I = imread(blood1.tif); imshow(I); BW1 = edge(I,roberts); %进行Roberts算子边缘检测,门限值采用matlab默认值 BW2 = edge(I,prewitt); %进行Prewitt算子边缘检测,门限值采用matlab默认值 BW3 = edge(I,sobel); %进行Sobel算子边缘检测,门限值采用matlab默认值 figure,imshow(BW1,[]); figure,imshow(BW2,[]); figure,imshow(BW3,[]); 7.3.3 拉普拉斯算子 拉普拉斯(Laplacian)是一种二阶导数算子,也是借助模板来实现的。这里对模板有一些基本要求:模板中心的系数为正,其余相邻系数为负,且所有的系数之和为零。 H = fspecial(log) H = 0.0448 0.0468 0.0564 0.0468 0.0448 0.0468 0.3167 0.7146 0.3167 0.0468 0.0564 0.7146 -4.9048 0.7146 0.0564 0.0468 0.3167 0.7146 0.3167 0.0468 0.0448 0.0468 0.0564 0.0468 0.0448 实现的MATLAB程序如下: I = imread(blood1.tif); imshow(I); BW4 = edge(I,log); figure,imshow(BW4,[]); 7.3.3 方向算子 方向算子是利用一组模板对图像中的同一像素求卷积,然后选取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。它相对于梯度算子的优点是不仅仅只考虑水平和垂直方向,还可以检测其他方向上的边缘,但计算量将大大增加。 常用的有8方向Kirsch(3×3)模板,如图7.7所示,方向间的夹角为45o。 7.3.5 Canny边缘检测算子 Canny的主要工作是推导了最优边缘检测算子。他考核边缘检测算子的指标是:低误判率,即尽可能少地把边缘点误认为是非边缘点;高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘。 判断一个像素是否为边缘点的条件为: (1)像素(i, j)的边缘强度大于沿梯度方向的两个相邻像素的边缘强度; (2)与该像素梯度方向上相邻两点的方向差小于45o; (3)以该像素为中心的3×3邻域中的边缘强度的极大值小于某个阈值 。 I=imread(rice.png); imshow(I); BW1=edge(I,log); BW2=edge(I,canny); figure,imshow(BW1); figure,imshow(BW2); 结论 Canny算子的检测比较优越,它可以减少小模板检测中边缘中断,有利于得到较完整的边缘。 Bobert算子是2×2算子,对边缘比较陡峭的低噪声图像效果较好。 3×3的算子对灰度渐变和噪声较多的图像处理较好。 使用两个

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档