收藏 分享(赏)

阈值的自动选取.doc

上传人:hwpkd79526 文档编号:7841622 上传时间:2019-05-27 格式:DOC 页数:8 大小:52KB
下载 相关 举报
阈值的自动选取.doc_第1页
第1页 / 共8页
阈值的自动选取.doc_第2页
第2页 / 共8页
阈值的自动选取.doc_第3页
第3页 / 共8页
阈值的自动选取.doc_第4页
第4页 / 共8页
阈值的自动选取.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、图像分割中阈值的自动选取的研究及其算法实现图像分割是图像处理这门学科中的基础难题,基于阈值的分割则又是图像分割的最基本的难题之一,其难点在于阈值的选取。事实证明,阈值的选择的恰当与否对分割的效果起着决定性的作用。由于阈值选取对图像分割的基础性,本文主要在【1】、【2】、【3】、【4】等的基础上,对一些当前流行的阈值选取算法做了探讨、实现和比较。多阈值分割虽然能进一步提高图像分割的质量,但由于它只是分割技巧的处理问题,而与单阈值分割并无本质的区别。因此本文并不对多阈值分割进行讨论,而只考虑单阈值分割的情形。1 双峰法双峰法的原理及其简单:它认为图像由前景和背景组成,在灰度直方图上,前后二景都形成

2、高峰,在双峰之间的最低谷处就是图像的阈值所在。根据这一原理,我们给出了它的实现,部分代码如下(Pascal 语言描述,以下同):/intPeak、intPeak2、intValley:峰值和直方图值/intIndx::相应的灰度值intPeak,intIndx,intPeak2,intIndx2,intValley,intValleyIndx:integer;/初始双峰值intPeak:=0;intPeak2:=0;/取得第一峰值for intLoop:=0 to 255 doif intPeakintIndx) thenbeginintPeak2:=intGrayLevelintLoop;i

3、ntIndx2:=intLoop;endend;/取得双峰之间的谷值intValley:=intSize;if intIndx2intGrayLevelintLoop thenbeginintValley:=intGrayLevelintLoop;intValleyIndx:=intLoop;end;从分割的效果来看,当前后景的对比较为强烈时,分割效果较好;否则基本无效。2 迭代法迭代法是基于逼近的思想,其步骤如下:1 求出图象的最大灰度值和最小灰度值,分别记为 ZMAX 和 ZMIN,令初始阈值 T0=(ZMAX+ZMIN)/2;2 根据阈值 TK 将图象分割为前景和背景,分别求出两者的平均

4、灰度值ZO 和 ZB;3 求出新阈值 TK+1=(ZO+ZB)/2;4 若 TK=TK+1,则所得即为阈值;否则转 2,迭代计算。以下给出迭代求阈值的部分实现:/阈值初始为 0intThresholdVal:=0;intThresholdVal2:=0;/总灰度值intTotalGrayLevel:=0;for intLoop:=0 to 255 doif intGrayLevelintLoop0 thenbeginintLGrayLevel:=intLoop;intThresholdVal:=intLoop;break;end;/求出初始最小灰度值和初始阈值for intLoop:=255

5、downto 0 doif intGrayLevelintLoop0 thenbeginintRGrayLevel:=intLoop;intThresholdVal:=(intThresholdVal+intLoop)div 2;break;end;/迭代求解while intThresholdVal0 thenbeginintCount:=intCount+intGrayLevelintLoop;intLGrayLevel:=intLGrayLevel+intLoop*intGrayLevelintLoop;end;intRGrayLevel:=intTotalGrayLevel-intLG

6、rayLevel;intLGrayLevel:=intLGrayLevel div intCount;intRGrayLevel:=intRGrayLevel div (intSize-intCount);intThresholdVal:=(intLGrayLevel+intRGrayLevel)div 2;end;迭代所得的阈值分割的图象效果良好。基于迭代的阈值能区分出图像的前景和背景的主要区域所在,但在图像的细微处(如图 1 中的浅色线条)还没有很好的区分度。但令人惊讶的是,对某些特定图象,微小数据的变化却会引起分割效果的巨大改变,两者的数据只是稍有变化,但分割效果却反差极大,个中原因还有

7、待进一步研究。3 大津法(OTSU 法)大津法由大津于 1979 年提出,对图像 Image,记 t 为前景与背景的分割阈值,前景点数占图像比例为 w0, 平均灰度为 u0;背景点数占图像比例为 w1,平均灰度为 u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历 t,当 t 使得值 g=w0*(u0-u)2+w1*(u1-u)2 最大时 t 即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值 t 分割出的前景和背景两部分构成了整幅图像,而前景取值 u0,概率为 w0,背景取值u1,概率为 w1,总均值为 u,根据方差的定义即得该式。因方差

8、是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。直接应用大津法计算量较大,因此我们在实现时采用了等价的公式g=w0*w1*(u0-u1)2。部分计算过程如下:/遍历所有灰度值求 Max g。for intCurrentLevel:=0 to intArrLen dobeginif intSclGrayLevelintCurrentLevel=0 thencontinueelsebegin/计算当阈值为 intCurrentLevel 时的 gintCount:=0;

9、intSumPels:=0;for intLoop:=0 to intCurrentLevel dobeginintCount:=intCount+intSclGrayLevelintLoop;intSumPels:=intSumPels+intSumPelsArrintLoop;end;w0:=intCount/intSize;u0:=intSumPels/intCount;w1:=1-w0;if intSize-intCountRlMaxO thenbeginRlMaxO:=RlTempO;Result:=intCurrentLevel;end;end;我们在测试中发现:大津法选取出来的阈

10、值非常理想,对各种情况的表现都较为良好。虽然它在很多情况下都不是最佳的分割,但分割质量通常都有一定的保障,可以说是最稳定的分割。由上可知,大津算法是一种较为通用的分割算法。在它的思想的启迪下,人们进一步提出了多种类似的评估阈值的算法,具体可参加【5】、【6】等。4 灰度拉伸一种改进的大津法大津法得到了广泛的应用,但有人发现,大津法致命的缺陷是当目标物与背景灰度差不明显时,会出现无法忍受的大块黑色区域,甚至会丢失整幅图像的信息。为了解决这个问题,有人提出了灰度拉伸的增强大津法。这种方法的原理其实就是在大津法的基础上通过增加灰度的级数来增强前后景的灰度差,从而解决问题。灰度增加的方法是用原有的灰度

11、级乘上同一个系数,从而扩大灰度的级数,特别地,当乘上的系数为 1 时,这就是大津法的原型,因此,大津法可以看做是这种方法的一个特例。在实现中,我们实现了多种灰度拉伸,发现对不同的图像,当遇上不同的拉伸系数时,分割效果也相差甚远。5 Kirsh 算子在【4】中提出了基于 Kirsh 算子的分割方法,其思想为:对数字图像的每个像素 i,考虑它的八个邻点的灰度值,以其中三个相邻点的加权和减去剩下五个邻点的加权和得到差值,令三个邻点绕该像素点不断移位,取此八个差值的最大值作为 Kirsh 算子。即:设 Si 为三邻点之和,Ti 为五邻点之和,则Kirsh 算子定义为 K(i)=max1,max5Si-

12、3Ti如取阈值 THk,则当 K(i)THk时,像素 i 为阶跃边缘点。此外,【4】的作者认为:假设图像大小为 HW 个像素点,其边缘点像素一般不会超过 5H 个。基于这一假设,该文作者提出:(对一幅图像)用 Kirsh 算法,取某一较低的初始阈值 THk(以保证目标和背景间灰度变化很小的图像边缘也能被取出),对于每个像素点 i 计算其 Kirsh算子,如果 K(i)THk,则 i 为边缘点,边缘点数 N(初始值为 0)加 1,一旦边缘点数超过 5H ,而 i 还小于整幅图像的像素数,说明阈值取得太低,致使许多不是边缘点的像素也被取出,因此需提高阈值。如此反复,即可获得分割图像所需的阈值。但在

13、实现中,本文作者发现,【4】中的叙述颇有值得探讨之处,如在HW 图像中,H 和 W 之间的关系是完全对称的,两者之间如何抉择?此外,在求 Kirsh 算子 K(i)=max1,max5Si-3Ti时也颇有疑虑之处,由其求得的结果分割图像效果并不明显。基于对称性和归一化的考虑,笔者把 Kirsh 算子改为:K(i)=max1,max abs(5Si-3Ti) div 15 ,并根据在实际运行中的效果,对 W 和 H 的选取为:if WH then use 5*H else use 5*W。在实际应用中表明,修改后的分割质量显著提高。但与【4】文中作者声称的效果及其示例相比,仍有相当的距离,特别是

14、它不能解决前后景对比不强烈时的分割情形。但当前后背景对比十分强烈且集中时,Kirsh 算子法却会有十分突出的表现。参考文献【1】 崔屹,数字图像处理技术与应用,电子工业出版社,1997【2】 付忠良,图像阈值选取方法,计算机应用,2000【3】 吴冰、秦志远,自动确定图像二值化最佳阈值的新方法,绘测学院学报,2000【4】 曹莉华,图像边缘提取中的一种动态阈值获取法,小型微型计算机系统,1997【5】 付忠良,基于图像差距度量的阈值选取方法,计算机研究与发展,2001【6】 付忠良,一些新的图像阈值选取方法,计算机应用,2001【7】 Kenneth.R.Castleman 著,朱志刚等译,数字图像处理,电子工业出版社,1998Trackback: http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报