多阈值分割(精选7篇)
多阈值分割 篇1
在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分常称为目标或前景(其它部分称为背景),它们一般对应图像中特定的、具有独特性质的区域。为了辨析和分析图像中的这些日标,需将它们从图像中分离提取出来,在此基础上才有可能进一步对目标进行测量和对对图像进行利用。图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程[1]。
图像分割作为一种基本的图像分析技术,多年来一直得到人们的高度重视。通常图像分割包括阈值法、边缘检测法、区域跟踪法和基于图论的分割方法等[2]。其中阈值法是图像分割的常用方法,至今己提出了众多的阈值分割方法,如最小误差阈值法、Otsu法[3]等等。根据Sahoo等人利用均匀性参数和形状参数对标准图分割结果作评估的评测结论[4],Otsu法、Kapur等人提出的最佳熵法(KSW熵法)、Johannsen法、Bille法和Tsai的矩不变法是较好的方法。Otsu法和KSW熵法不需要先验知识,而且对于非理想双峰直方图的图像也可以进行分割。然而,在图像阈值分割中,阈值选取是一个关键问题,它直接影响后续处理的效果。国内外学者针对这一课题进行了广泛深入的研究,提出了很多阈值选取方法[5,6]。但这些方法在不同程度上存在着执行效率低、易于陷入局部最优解等问题。
具有鲁棒性、并行性和自适应性的遗传算法是一种优化算法,本文采用遗传算法来实现Otsu法,以便缩短寻找最佳阈值的时间。
1 基于遗传算法的多阈值分割
1.1 Otsu多阈值分割算法的原理
Otsu法是由大津首先提出的,因此又称大津阈值法或最大类间方差法。经典的Otsu法适用于图像二值化,即用单阈值分割图像,它是在灰度直方图的基础上用最小二乘法原理推导出来的,因此具有统计意义上的最佳分割阈值。该方法的基本思路是:选取的最佳阈值应当使得用该阈值分割得到的两类间具有最好的分离性;类间分离性最好的判据是统计意义上的类间特性差最大或类内特性差最小。
由于Otsu法只是一个单阈值的分割方法,在使用该算法将图像分为两个类之后,对于这两个类内的目标将不再进行区分。但是在这两个类内有可能存在另外需要区分的目标,那么就需要对这两个类进行进一步的分割。此时,利用Otsu法在这两个已经存在的类中继续进行分割,得到该类内的最优阈值,即局部Otsu法。由此递推,在不同的类内使用局部Otsu法进行分割,就可以将Otsu法推广到多阈值的图像分割。
设图像X的灰度取值范围为{0,1,…,L-1},图像X中存在m个待区分的类,那么存在m-1个阈值T1,…,Tm-1将图像X划分为m个类。这些类分别表示为C0:{0,1,…,T1},...,Cm-1:{Tm-1+1,Tm-1+2,…,L-1}。对图像直方图归一化,且有概率分布:
其中N为总像素数,ni为灰度i的像素数。Ci类出现的概率及均值分别为:
那么类间方差定义为:
将Otsu法用于多阈值分割时,就是要寻找最佳阈值组合T*={T1*,T2*,⋯,T*m-1},使类间方差最大。
1.2 基于遗传算法和Otsu的多阈值分割算法
Otsu方法是利用图像中的灰度直方图,以目标与背景之间的方差最大而动态的确定图像分割阈值。但是Otsu法本质上是一种数值优化的穷举搜索算法,其搜索运算的循环数近似等于以灰度级数为底、以阈值数为幂的指数。因此计算量很大,若不加以改进,那么Otsu法用于多阈值分割时其运算效率将非常低。此外,既便是对单阈值的情况准则函数也不一定是单峰的,所以类似于牛顿迭代法等经典优化方法不适用于最佳阈值的求取。
遗传算法(Genetic Algorithm,简称GA)是模拟自然界生物群体进化过程中的一种随机优化方法[7],其主要特点是群体搜索策略和群体中个体之间的信息交换,它能在搜索过程中自动获取和积累有关搜索空间的知识,自适应地控制搜索过程以求得最优解,具有鲁棒性、自适应性和全局优化的特点,从而可克服Otsu方法的不足,有利于后续处理。为此,本文采用遗传算法来寻找最佳的阈值组合。基于遗传算法的图像分割是将要得到的图像分割阈值作为染色体,也就是群体中的个体。这样遗传算法搜索出来的最优值就是图像的最佳阈值组合。
1.2.1 种群初始化
初始群体的每个个体都是随机产生的,其相应的适应度值也有高有低。若种群规模过大,则适应度评估次数增加,计算量增大;种群规模过小,可能会引起未成熟收敛现象。因此,种群规模的设置应该合理。
在用遗传算法进行图像分割时,种群的初始化就是随机产生规定种群大小规模的0到255之间的数值。在每次迭代中,种群的规模都保持不变。
1.2.2 编解码
常用的编解码方法有二进制编码和实数编码。
1)二进制编码
基于遗传算法二进制编码的图像分割是将图像分割所必需的阈值编码为二进制序列,并通过位运算符来达到对染色体的编译和交叉操作。
在进行单阈值分割时就将要求的阈值编为第一个阈值,将后8位的二进制序列作为第二个阈值。这样就可以得到两个阈值了。同双阈值分割编码一样,多阈值分割(即阈值的个数n大于两个)时的编码只是将染色体的位数变为8n位即可,解码也是相似的过程。
例如,双阈值分割时可将32和35编码为:0001000000010011。编码的前8位就是32值编解码方式用类似的方法实现。
2)实数编码
在进行单阈值分割时就将要求的阈值直接用0-255之间的实数来代替染色体。而双阈值分割需要两个阈值,在编码的时候就将两个阈值一起进行编码,并且记录每个阈值的所占的位数,所以在解码的时候只要按照所记录的位置进行分离就可以得到两个阈值了。多阈值分割的编码和解码过程与双阈值的相似。
例如,在双阈值分割编码时将32和125编码为32125作为种群的个体,解码时就按照事先记录的位置将两个数分开。其它阈值编解码方式与此类似。
3)适应度函数的确定
Otsu法本身就是以目标和背景的类间方差最大为阈值选取准则,而遗传算法又是一种寻求适应度函数最大值的搜索策略。所以只要让Otsu阈值分割方法的类间方差公式作为遗传算法的适应度函数就可以达到阈值搜索的目的。
4)遗传算子的确定
选择算子:主要有适应值比例选择、Boltzmann选择、排序选择、联赛选择等形式。这里采用适应值比例选择,利用轮盘赌方式进行个体选择,并采用精英保留策略让适应度函数以概率1收敛。
交叉算子:交叉算子的作用在于将原有的优良基因遗传给下一代个体,并生成包含更复杂基因结构的个体。交叉概率越大,交叉操作的可能性也越大;如果交叉率太低,收敛速度可能降低。选择合适的概率Pc以保证群体的多样性,避免算法早熟得不到全局最优解现象发生。常用的交叉算子包括单点交叉、多点交叉、一致交叉等形式。这里采用单点交叉。
为随机搜索。具体的实现方法是产生一个0到1之间的随机数,并与事先确定的变异概率Pm进行比较。如果大于就进行变异操作。
5)终止准则
当超过确定的最大迭代次数时就结束迭代。
2 实验结果与分析
为验证基于遗传算法的图像多阈值分割的效果,在CPU主频为1.6GHz AMD TL-50、1G内存的计算机上,采用IEEE推荐的检测算法性能的Lena图像进行实验,如Lena图像的大小为256×256,灰度级为256,取值从0~255。
1)双阈值实验
在实验中,各个遗传算子的参数设置如下:选择概率Pc=0.7~0.8,变异概率Pm=0.02~0.2,迭代的次数Gen=50,种群的规模Pop Size=20。在双阈值分割中,交叉和变异概率在一定范围内变化。得到的实验结果如表1所示。
从实验结果中可以看出,遗传算法能够较好地进行阈值搜索,而且阈值与传统的Otsu法分割出来的阈值很接近。从图像分割的视觉效果来看,二者之间的差别并不明显。从分割的时间上来看,基于遗传算法的Otsu法大大缩短了分割的时间,寻找最佳分割阈值的时间仅仅是传统的Otsu法的五分之一。
2)三阈值分割实验
实验中各遗传算子的参数设置如下:Pc=0.8,Pm=0.033,Gen=50,Pop Size=20。
从实验结果中可以看出,基于遗传算法的Otsu方法得到的最佳阈值组合与传统的Otsu法比较接近,从分割后的视觉效果来看,二者亦无显著差别。然而从耗费的时间来看,传统的Otsu多阈值分割方法大约是基于遗传算法的Otsu分割方法的1551倍,说明采用遗传算法能够有效加快最佳阈值的搜索速度。
3)四阈值分割实验
在实验中各遗传算子的参数设置分别为:Pc=0.87,Pm=0.032,Gen=50,Pop Size=20。得到的实验结果分别如图1所示。
从实验结果中可以看出,基于遗传算法的四阈值分割得到的图像视觉效果要好于传统的Otsu多阈值分割法的结果。从分割的时间上来看,基于遗传算法的多阈值分割大大缩短了分割的时间,传统的分割方法大约是基于遗传算法的分割时间的37178倍。该实验进一步说明了基于遗传算法的Otsu多阈值图像分割方法的可行性和有效性。
在不同分割阈值个数下采用传统的Otsu法与基于遗传算法的Otsu法进行图像多阈值分割耗费的时间的比值如图2所示。不难看出,随着分割阈值个数的增加,采用基于遗传算法的Otsu法进行多阈值分割时其优越性将会越明显。
4)实数编码的阈值分割
为进一步验证不同编码方式对遗传算法在进行图像多阈值分割时对寻优速度的影响,在实数编码方式下利用Lena图像进行了多次分割实验。
从图像的分割效果来看,两种编码方式都能得到较好的分割效果,而且在分割的时间上都很短。从分割的用时上来看,二进制编码和实数编码的用时一样,而且分割的阈值也非常的相近,这也验证了对同一优化问题二进制编码和实数编码遗传算法不存在显著的性能差异。
3 结论
本文利用遗传算法和Otsu法研究了图像的多阈值分割问题,利用遗传算法的高效搜索性能来改善Otsu法寻找最优阈值的时间。从图像的分割效果和分割时间的比较上来看,基于遗传算法和Otsu的多阈值分割方法不仅能够得到很好的分割阈值,而且还能够大大缩短阈值分割的时间,并且随着阈值数目的增多,传统的分割方法的耗时与基于遗传算法的分割时间的比值逐渐增大,这就加大了图像阈值分割的适用性。
当然,在实际应用中,要分割的图像往往会出现噪声、抖动、模糊和天气原因等不利于分割的因素,而Otsu法没有很好的抗噪性能,因此下一步将重点研究遗传算法与其他具有抗噪能力的算法相结合的图像分割方法。
参考文献
[1]章毓晋.图像分割[M].北京:科学出版社,2001.
[2]Gonzalez R C,Woods R E.Digital image processing(2nd edition)[M].MA:Addison-Wesley,2002.
[3]Otsu N.A threshold selection method from gray-level histogram[J].IEEE Trans.On SMC,1979(9):62-66.
[4]Sahoo P K,Soltano S,Wong A K C.A survey of thresholding techniques[J].IEEE Trans.on Image Proc.1995,41:233-260.
[5]Kim J B,Kim H J.Multiresolution-based watersheds for efficient image segmentation[J].Pattern Recognition Letters.2003,24:473-488.
[6]范九伦,赵凤.灰度图象的二维Otsu曲线阈值分割法[J].电子学报,2007,35(4):751-755.
[7]李敏强,寇纪淞,林丹.遗传算法的基本理论与应用[M].北京:科学出版社,2002.
多阈值分割 篇2
关键词:多阈值自动分割,基于各向异性扩散的平滑,灰度直方图分析,阈值选取图像分割
1 引言
图像分割是将一幅图像分解成一些互不交叠区域的过程。图像分割是图像分析和计算机视觉中非常重要的一个部分。图像分割的正确性和自适应性在一定程度上影响着后面的目标检测和识别的精确程度,算法的速度也决定了其实时性。阈值法因为简单实用在图像分割中被广泛的采用。图像的灰度直方图是图像各像素灰度值的一种统计度量。一般的阈值选取方法就是根据灰度直方图来进行的。利用灰度直方图求取阈值的方法,是在双峰或多峰中选择两峰之间的谷底作为阈值。峰所对应的位置即是直方图曲线中的极大值点,谷所对应的位置即是极小值点[4]。
定义1:
设(x0,y0)为定点,f(x,y)是二元函数。若存在(x0,y0)的某个邻域U,使得对于所有的(x,y)∈U,都有f(x,y)≤f(x0,y0),则称f(x0,y0)是f(x,y)的一个极大值,并称(x0,y0)为f(x,y)的一个极大值点。
如果对于所有的(x,y)∈U,满足f(x,y)≥f(x0,y0),则称f(x0,y0)是f(x,y)的一个极小值,并称(x0,y0)为f(x,y)的一个极小值点。
2 基于各向异性扩展的平滑
由于受到噪声的影响我们要先对图像进行预处理,实现去除噪声的功能。在本文中我们采用基于各向异性扩散的平滑方法对图像进行预处理[2]。
基于各向异性扩散的平滑方法相对于其它的滤波方法(均值滤波、高斯滤波、中值滤波等)来说虽然增加了算法的时间复杂度,但它能够有效的平滑噪声,同时还能较好的保持边缘信息(由图2中原始图像和三种滤波后的图像比较图可以看出)。由于图像本身或是噪声的原因使得图像的灰度直方图中出现很多相对离散的像素级,使得直方图的曲线不够连续,这种情况的出现对于阈值的选取无疑增加了复杂度。对图像进行基于各向异性扩散的平滑可以尽量减少这种直方图不连续的现象,以加快后面算法中收敛到极大值和极小值的速度。所以采用基于各向异性扩散平滑的方法对图像进行平滑来去除噪声的同时图像直方图的曲线也变的更加连续,满足了降低阈值选取的复杂程度的要求。图3为平滑前后的图像灰度直方图的曲线比较图,可以很明显的看出平滑后的图像的灰度直方图的曲线更为连续了。
3 阈值选取初始化算法
根据我们所要求的阈值数目来对灰度直方图中的像素级进行初始的分类,如果我们要求取的阈值数目为N,我们就先对灰度直方图进行初始化阈值选取算法,将直方图中的相邻像素级分成N+1类,再在初始化的分类中分别求出对应的阈值点。初始化的阈值算法的功能就是根据我们所要求的阈值数来自动的实现多阈值选取的工作。
初始化阈值选取算法步骤如下:
1)先求出灰度直方图中所有的局部极大值和局部极小值。根据定义1可知:灰度直方图中的局部极大值和局部极小值是满足如下条件的灰度级(用Histo[i]表示灰度级为i的像素个数):
局部极小值:Histo[i]< Histo[i+1]且Histo[i]< Histo[i-1];
局部极大值:Histo[i]> Histo[i+1]且Histo[i]> Histo[i-1];
对图像的灰度直方图循环一次就可以得到所有的局部极大值和极小值。用两个数组Min和Max分别存放所有的局部极小值和局部极大值。并满足对任何的灰度级i,都有:Max[i]
即两个局部极大值之间存在一个局部极小值。
2)由于步骤1)中求出的极值的个数一般要比要求划分的类数多很多,容易出现过分割的现象,所以要对灰度级进行相应的分类合并。将满足以下两种类型的相邻类进行合并,如图4中所示。
3)如果经过步骤2)所得到的类数比我们所要求的类数还要多,我们就进行进一步的合并,直到合并到我们所要求的类数为止,反之结束算法。
计算出每个类中所有灰度级像素个数之和,找出所有类中和值最小的类,然后把这个类与它相邻的两个类中和值较小的那个类合并;如果只有一个相邻类,将之与其合并。如果合并后的类数大于我们所要求的类数则继续使用以上方法进行合并,直到合并后的类数达到我们所要求的类数为止,结束算法。
最后将所有的各类中的极小值点定为阈值的选取的位置[1]。
上面是使用初始化多阈值选取算法对各图像的灰度直方图进行分类的例子(如图5、图6所示)。直方图中红线所在的位置即为阈值所在位置。
4 图像分割
根据上面采用的初始化多阈值选取算法对图像进行分割,下面的实例就是对脑部医学图像进行分割的结果图像,将根据阈值进行分类的灰度级分别提取出来,把脑部医学图像分割成背景、软组织和轮廓三个部分的结果(如图7所示)。右下方为水果混合图的分割结果图,可以看出本文中采用的多阈值分割的方法对一些前景图像较为复杂的情况也有很好的分割效果。
5 结论
本文所采用的算法一般适用于图像的灰度直方图曲线较为连续,谷峰差距较为突出的图像。它较其它的多阈值分割方法更为简单易于实现,同时大大的提高了算法的运行效率。本文中的算法只对图像的灰度直方图的曲线进行分析,根据极小(大)值的定义来判断极小(大)值点,由于此时的极值点比我们要求的类数多很多,所以还要对求出的极值点进行相应的分类合并,来消除过分割的现象。并根据人为设定的类数最终确定阈值的个数,以满足我们实际应用的要求。
参考文献
[1]田捷,包尚联,周明全.医学影像处理与分析[M].北京:电子工业出版,2003:52~54,
[2]蒋先刚.基于各向异性扩散的图像平滑及在三维重构预处理中的应用[J].计算机应用,2007;01:1~3.
[3]杨淑莹.VC++图像处理程序设计(第二版)[M].北京:清华大学出版社,2006.
[4]章毓晋.图像工程(上中册)[M].北京:清华大学出版社,2005:97~105.
[5]郭戈,平西建等.基于迭代的癌细胞图像自动多阈值分割[J].信息工程大学学报,2004.
[6]Terry Jones.Present and future capabilities of molecular ima-ging techniques to understand brain function Psychopharmacolo-gy[M].1999;13:324~329.
多阈值S-F的光照不均图像分割 篇3
钢管识别统计,即对存放在仓库或生产车间的钢管进行数目统计,是钢管制造厂生产和管理中不可缺少的环节之一。图像识别技术具有精度高、灵活性强等优点,这使得基于图像处理的钢管识别统计系统成为主流[1],而预处理中的图像分割则是改变问题难易走向的关键步骤,其缺点在于图像质量易受光照影响,传统全局分割方法的分割效果很不理想[2,3],难以满足实际需要。
为克服此类问题,常对钢管图像进行增强后再分割[4,5],即不考虑部分图像质量的降低,提高感兴趣目标的对比度和清晰度。因此在增强对比度的同时也带来了噪声,模糊了细节并且容易丢失重要信息,导致错分现象。可见增强与分割之间有一定的关联,如何在改善局部光照的同时又不影响全局分割,似乎变得难以解决。针对以上问题,大量学者进行了研究,刘毅[6]等通过改进同态滤波法对光照不均图像进行增强,改善光照不均对图像的影响;WEI Weiyi[7]等提出一种鲁棒性模糊C-均值法,对光照不均图像的分割效果良好;陈华[8]等利用自适应光照补偿和模糊增强的C均值聚类法实现煤粉区图像分割;龙建武[9]等提出一种图像区域分块的交互式阈值分割方法,通过块图像信息实现用户交互式的分割,对光照不均图像的分割效果较好,但无法实现自动化,在复杂背景和较宽灰度范围图像中,仍存在增强与分割的协调问题。
为了改善传统分割方法容易受到光照影响的缺陷,本文提出一种图像分割与图像融合技术相结合的多阈值分割方法,根据光照不均的钢管图像特征,采用变换后的双峰法来引导改进的Otsu法,设定多个阈值,结合形态学操作,实现钢管目标的提取。该算法对光照不敏感,适应性强,可协调图像增强与分割之间的折中问题。
1 光照不均图像的传统分割方法
对光照不均图像在分割之前进行图像增强是十分必要的,可提高局部区域的清晰度。基于此依据,传统分割方法大致分为两步:图像增强和图像分割,前者的处理效果对后者起决定性作用。
1.1 图像增强与分割效果分析
经典的图像增强方法有:灰度变换、直方图修正[10]、图像锐化、同态滤波等,阈值分割方法有:双峰法、Otsu法、灰度直方图法、最大熵法、交互式分割法等[11]。首先,本文对光照不均钢管图像采用同态滤波和直方图规定化法增强后的Otsu法分割结果进行对比,如图1所示。
图中,直方图规定化对光照不均图像增强后的分割效果较好,可得到细节模糊的内凹区域纹理,但与同态滤波增强后的分割图像相比较,发现其破坏了目标的周边区域,错分现象较为明显。因此,可见针对光照不均图像,增强与分割之间存在一定的关联,即折中问题。
1.2 图像增强与分割之间的折中问题
受光照不均影响的钢管图像呈现多处内凹(相对整体向内凹陷)或外凸区域,与目标整体灰度差异较大,使得增强此区域的同时破坏整体像素。本文算法采用改进的Otsu多阈值法确定多个阈值,利用局部与整体分割后的信息融合得到最终分割图像,可协调增强与分割的折中问题。
1.3 传统Otsu 算法
Otsu法是以某灰度级为阈值,将图像分成两部分,并计算各自方差,当两组间方差最大时,以此灰度值作为最佳阈值实现分割。最大类间差选择函数δ2(T) 为
式中:C 0、C1 代表目标和背景部分灰度范围,ω 0、ω1 为C 0和C1 的产生概率,μ 0、μ 1为C 0和C1 的均值,μ 为全局图像均值,T为所求阈值。Otsu多阈值算法的类间差选择函数δB2(k) 为
式中:ω j、ωk 为在[0~M]间确定的两个待分割类的概率,M为分割数。
2 改进Otsu 多阈值的S-F算法描述
在通过改进Otsu法获取多个阈值的基础上,利用S-F算法分割光照不均的多目标图像。本文用于提取多个钢管目标,其横截面为椭圆形。算法分成两大步:
2.1 第一步:改进 Otsu法确定多阈值
1) 分割数M的确定。如式(2),由于传统Otsu多阈值法利用度量类间分离性强弱的分离因子作为递归判断条件,确定分割数,其循环次数较多,使得运算效率较低。因此,结合光照不均钢管图像特征,针对内凹、外凸现象引起的直方图局部单峰现象,确定分割数M。根据图1(a)的钢管灰度图像绘出其直方图曲线,如图2(a)所示。全局范围内约[40,152,230]灰度级处呈现单峰状,而[40,152]处明显占据多数像素。经多次实验观察,约[40,152]灰度级处分别与内凹、外凸现象发生的灰度范围相对应。因此,以全局阈值Owhole作为界限,将图像分为两类,再分别进行局部分类,取得的低、高阈值Olow和Ohigh就为内凹、外凸现象对应的局部分割点。所以,将分割数M定为3,可满足本文研究的光照不均图像需求,且不影响分割精度。如此大大减少循环次数,提高了运算速率。
2) 改进Otsu法的描述及其余量的确定。①经过对传统Otsu法的分析,若直方图峰谷不明显,可能造成不良的分割质量。光照不均导致局部待分割类的直方图呈单峰状,无明显“双峰一谷”特征,因此将总像素数与各灰度像素数作差,得到单峰直方图的逆形状,从而得到双峰特征,图2(b)给出变换结果;②在分割前,利用双峰法快速取得粗分割高、低阈值Shigh与Slow,在其邻域确定较小范围灰度级,作为相应Otsu阈值的初始搜索范围(即余量T)。常规Otsu法是基于错分概率最小的方法,分割时相对保守,阈值总超前双峰法谷底位置,为了不轻易导致目标漏分,将余量T设定为T=-10+t,即在双峰法粗分阈值和Otsu法最佳阈值都滞后10个灰度级的基础上确定变量t。
3) 在确定了分割数M和经过图2直方图变换的基础上,给出分割精度判别式(3)和变量t的约束式(4)。首先利用(1)式选择函数进行全局取阈值Owhole,再利用式(2)选择函数计算出局部低、高阈值Olow和Ohigh。将双峰法得到的粗分割高、低阈值Shigh和Slow与改进Otsu多阈值法确定的局部高、低阈值Ohigh和Olow 作比较,设定△M为两者差值的度量,若△M≤KM(KM为根据实际确定的某一小量约束值),通过式(4)计算并调整变量t,以此填补改进算法的超前或滞后灰度级,直至t≤△t。△t根据实际情况取不小于1的小量灰度级数,作为最优吻合度,使其与双峰法的高、低阈值接近吻合,从而实现阈值优化;若大于KM ,则分割质量不能保证,需进行算法初始参数调整。
由于双峰法与Otsu法机理上存在互补性,可通过相互验证得到分割质量的预测,同样需要在设定余量T的基础上进行。如图2(b)所示,直方图变换后,利用双峰法引导的改进Otsu多阈值明显优于传统Otsu法的搜索阈值。
2.2 第二步:S-F 算法实现再分割
在第一步利用改进的Otsu算法确定多个阈值之后,结合光照不均钢管图像特征,分别对各分割子图像使用先腐蚀后开运算和区域标记筛选的形态学操作,以去除明显干扰区域,然后将处理后的各图像进行融合,即S-F算法。最后将融合后的图像进行再次分割,由于此时图像具有十分明显灰度特征,并与背景相区别,因此使用常规Otsu方法完成分割。
2.3 分割算法步骤
算法流程如图3所示。步骤如下:
1) 输入钢管图像f(x,y)经灰度化和中值滤波预处理,得到图像g(x,y),。
2) 图像g(x,y) 经初始化,利用改进Otsu多阈值法计算出各阈值。
3) 计算 △M ,进行式(3)判断。若△M≤KM,则进入4),否则调整参数返回至2)。
4) 计算t ,进行式(4)判断。若t≤△t,则进行分割,并进入5),否则变量t自调整后转向2)。
5) 对分割后各子图像进行形态学操作,即先腐蚀后开运算,以及区域标记后将图像与原子图作差,以去除干扰连通域。
6) 对形态学操作后的各子图像进行式(5)图像融合,即实现信息的融合,得图像h(x,y)。
式中:wk ( k =1,2,3)表示利用改进Otsu法计算的多个阈值,针对各子图像进行形态学操作的集合参数gk(x,y)表示各子图像。
7) 应用传统Otsu法对图像h(x,y)进行再次分割。
8) 经多次递归运算,直至满足条件后结束分割,并显示分割图像。
3 仿真实验分析
实验用图源于某钢管厂仓库,利用数码相机实地拍摄,每幅图像大小为4 608×2 592,其中钢管半径约占50个像素点,因此进行形态学操作时,利用加权平均法取得的圆形结构元素,半径应约束在10×5之内进行全局滑动,以保证可靠性。实验基于MATLAB R2010a、Visual C++ 6.0软件和OpenCV-1.0.0库平台。
为检验本文算法性能,分别采用传统Otsu分割法(Otsu)、文献[6]的改进同态滤波增强后Otsu分割法(IFHO)、文献[9]的分块图像交互式分割法(BIS)和本文算法对光照不均钢管图像进行分割,并对不同算法的分割效果和性能作比较,如图4和表1所示。
传统Otsu法计算简单、鲁棒性强,时间消耗最小,但在这里显然效果不佳;IHFO法导致钢管目标部分丢失,同时加大噪声,错分情况严重;BIS法分割时间为随机记录,分割效果明显优于前两者,但因交互式分割,无法实现自动化;相比较下,本文算法在分割的完整性和彻底性方面都优于前三者,不容易受光照优劣影响,同时可改善增强与分割的折中问题,适应性较强。但时间代价也相对较大,仍待进一步优化。4种算法计算得到的最佳阈值Threshold、所耗时间Toc见表1。其速度测试在Intel(R) Core(TM)i3 CPU、2.67 GHz主频率、2.00 GB内存的计算机上进行。
为了进一步验证在图像受光照不均影响下,本文算法相对传统方法的优越性,给出另外两幅图像A、B在本文算法下的分割实验结果;为了说明本文算法对光照的适应性,给出此两幅图像的直方图分析;同时给出它们所对应的阈值Threshold和所耗时间Toc列表。
如图5、6和表2所示,验证本文算法相对传统分割算法在光照不均情况下的优越性,以及对光照的适应性。
4 结 论
多阈值分割 篇4
图像分割就是把图像分成各具特征的区域并提取出感兴趣目标的技术和过程。这里的特征可以是像素的灰度、颜色、纹理等。主要方法有阈值方法和区域方法两大类。阈值法是一种常用的分割方法, 它假定图像的直方图呈双峰分布, 根据某一准则在两峰之间 (谷底) 选择一个恰当的阈值, 即可将图像的背景和目标分离, 著名的阈值分割方法有OTSU法、最大熵方法[1]等。
OTSU阈值法是一种基于可分离法的方法, 它选择阈值使得类间方差最大。由于OTSU方法是基于模式识别的理论基础并且具有良好的分割性能, 因而成为当下最为流行的阈值化方法之一。但是其运算量大, 也不利于实时处理。针对这些算法的弱点, 提出了一种新的能保证全局收敛的粒子群算法:基于小波变异的量子粒子群优化算法WQPSO (Quantum-behaved Particle Swarm Optimization based on Wavelet mutation) 。该算法与传统的遗传算法GA (Genetic Algorithm) 以及粒子群算法PSO (Particle Swarm Optimization) 相比, 具有运行参数设置少、搜索范围大等优点。另外考虑到实时成像跟踪系统的特点, 本文选用简单稳定的OTSU法来获取阈值。实验证明, WQPSO算法的性能在图像分割算法上优于其他算法。
1WQPSO算法
PSO算法和其他的进化算法相类似[2,3], 也是基于群体优化的方法, 根据对环境的适应度, 将群体的个体向好的区域移动。在PSO系统中, 每个备用解称为一个“粒子”, 多个粒子共存、合作寻优, 每个粒子根据自身的“经验”和群体的“经验”来更新自己的位置, 从而搜索最优解。
一种常见的惯性权重PSO算法公式如下:
undefined
xid=xid+vid (2)
其中, ppbest和pgbest分别代表当前粒子搜索到的历史最优位置以及整个粒子群搜索到的最优位置;c1, c2称为加速因子, undefined称为惯性因子, 一般取c1=c2=2, undefined=0.72;rand1和rand2为两个在[0, 1]范围内变化的随机函数。
文献[4,5]从量子力学的角度出发提出了一种新的PSO算法模型。这种模型以DELTA势阱为基础, 认为粒子具有量子的行为, 并根据这种模型提出了量子粒子群算法。通过蒙特卡罗随机模拟的方式得到粒子的位置方程为:
undefined (3)
其中u为[0, 1]范围内变化的随机数, L被定义为:
undefined (4)
其中:
undefined (5)
Pd=φ×ppbest+ (1-φ) pgbest (6)
式中β称为收缩扩张因子, 它是QPSO中的一个重要参数, 第T次迭代时一般可取β=0.5× (MAXTIME-T) /MAXTIME, M为粒子的数目, D为粒子的维数, pi为第i个粒子的历史最优解, 可以由 (6) 式求得, φ为[0, 1]范围内变化的随机数。
由上述分析可知, 在QPSO算法中, 只有一个参数β决定粒子的收敛速度和位置, 与粒子群算法相比其参数更少, 控制起来更方便。但在实验过程中发现QPSO由于算法的聚集性, 种群中多样性的丢失是不可避免的。所以本文提出变异机制, 以使QPSO算法在增强种群多样性的同时提高算法的局部搜索能力。
通过添加随机值对QPSO算法中的Pgbest中的每个向量元素独立地进行变异操作, 变异过程可用公式表示为:
P′gbest=Pgbest (1+mut (σ) ) (7)
其中P′gbest是Pgbest变异后的值, mut (σ) 是一个遵循自变量为σ某种分布, 使用较多的是高斯、柯西分布[6,7], 如图1所示, 小波函数在保证了全局变异的前提下相对于高斯和柯西分布来说在同一自变量空间内具有更频繁的局部解变化, 对于图像分割这种在局部寻优的目标函数求解, 采用Morlet小波函数更有利于寻找到最优解。
ψ (x) =e-x2/2cos (5x) (8)
由于Morlet 99%的能量主要集中在-2.5≤x≤2.5, 因此对于变异的幅度参数设置为5×rand-2.5。
2WQPSO优化最大类间方差法
2.1OTSU方法
设一幅图像f (x, y) 的灰度级为L (0, …, L-1) , h (i) 为图像中灰度级为i的像素点的个数, 那么记Pi=h (i) /N
undefined
OTSU[8]方法由大津于1979年提出, 也称最大类间方差法, 对于某图像, 单阈值分割法可以描述为:记t为前景与背景的分割阈值, 前景点数占图像比例为w0, 平均灰度为undefined;背景点数占图像比例为w1, 平均灰度为undefined。图像总的均值为u=w0 (t) ×u0 (t) +w1 (t) ×u1 (t) , 图像背景和目标两类的类间方差定义为G (t) =w0 (t) ×[u0 (t) -u]2+w1 (t) ×[u1 (t) -u]2, 扩展到多阈值的类间方差可以描述为:
undefined (9)
M为阈值的个数。在OTSU方法中, 图像最佳阈值{tundefined, tundefined, …, tundefined}则为:
{tundefined, tundefined, …, tundefined}=argmax {G (t1, …, tM-1) }
2.2OTSU算法的WQPSO实现
由于最小误差法选取阈值的过程实际上是一种寻求最优解的过程, 故可利用QPSO所具有的快速以及全局搜索能力的特点来对其进行优化求解, 以达到提高效率的目的。其具体步骤如下:
1) 初始化:设定微粒群规模N=20, 设置分割对象阈值的个数M。随机对微粒群各微粒的初始位置进行设定, 同时设定算法的运行参数。
2) 选择式 (9) 作为微粒群算法的适应度函数, 同时根据适应值选取每个微粒的历史最优解ppbest以及微粒群的全局最优解pgbest。
3) 计算式 (4) - (6) 以更新式 (3) 的参数, 同时利用式 (3) 进行进一步迭代并计算适应值。更新历史最优解ppbest与全局最优解pgbest。
4) 对于Pgbest, 按照变异概率Pm=0.4, 并根据式 (7) 、 (8) 对向量中的元素进行变异, 若f (P′gbest) >f (Pgbest) , 则更新Pgbest。
5) 若f (pg) 小于最小允许误差或者迭代步数超过预先设定的终止步数, 则算法结束;pgbest的解对应的就是分割要求的阈值;否则转到步骤3) 继续迭代。最后根据计算所得的阈值进行图像分割。
3实验结果与分析
在Matlab7.0环境下进行仿真实验, 实验条件为P4 2.8, 512M内存, WindowsXP操作系统。运行参数设置如下:最大迭代步数为100, 运行次数为5次。处理对象标准为256×256的lenna图像以及512×384的peppers图像, 它们的灰度级均为256, 分别如图2和图3所示。在阈值数为4和5时, 用WQPSO分割的效果如图和图所示
根据表1的实验结果可以看出, 在阈值分类数目为2和3的时候, 由于优化对象的维数不高, 三种优化方法都获得了很好的实验结果。但是随着目标函数维数的增加, 粒子群算法因为易陷于局部最优的缺点在三种优化方法中效果最差, QPSO算法虽然由于其全局收敛能力优于PSO而获得了较好的解, 但是由于其后期解的多样性下降, 因此也没有获得最好的结果。而WQPSO算法既继承了QPSO的全局搜索能力同时又是针对粒子最优解进行变异, 因此获得了最优的结果。最后根据Matlab自带的评价命令corr2 (A, B) 给出了分割图像A和原图像B的相关系数, 三种优化方法在分割阈值数为5时的比较结果如表2所示, 通过比较可以看出, WQPSO和原图最接近, 分割效果最好。
4结束语
基于WQPSO的多阈值图像分割算法在继承了QPSO全局搜索能力的基础上, 更好地解决了多阈值分割中计算量过大的特点, 实验结果表明, WQPSO算法相对于其他算法来说, 分割效果最优, 更能够适合于多阈值图像的分割。
参考文献
[1]章毓晋.图像分割[M].北京:科学出版社, 2001.
[2]Kennedy J, Eberhart R.Particle Swarm Optimization[C]//Proceedingsof the 1995 IEEE International Conference on Neural Networks.Perth, WA, Australia:IEEE service center, Piscataway NJ, 1995:1942-1948.
[3]Bratton D, Kennedy J.Defining a Standard for Particle Swarm Optimiza-tion[C]//Proceedings of the 2007 IEEE Swarm Intelligence Symposi-um.Honolulu, Hawaii, USA:IEEE service center, 2007:120-127.
[4]Sun J, Feng B, Xu W B.Particle Swarm Optimization with ParticlesHaving Quantum Behavior[C]//Proceedings of the 2004 IEEE Con-gress on Evolutionary Computation.USA, 2004:325-331.
[5]Sun J, Feng B, Xu W B.A Global Search Strategy of Quantum-behavedParticle Swarm Optimization[C]//Proceedings of the 2004 IEEE Con-ference On Cybernetics and Intelligent Systems, 2004:111-116.
[6]Andrews P S.An Investigation into Mutation Operators for ParticleSwarm Optimization[C]//Proceeding of the 2006 IEEE Congress onEvolutionary Computation.Vancouver BC Canada, 2006:1044-1051.
[7]Higashi N, Iba H.Particle Swarm Optimization with Gaussian Mutation[C]//Proceedings of the 2003 IEEE Swarm Intelligence Symposium.Indianapolis, Indiana, USA, 2003:72-79.
图像的自动阈值分割研究 篇5
手动阈值法在目标和背景有较强对比的图像分割中, 由于人为设定阈值大小对图片实现二值化, 无法准确求得最佳阈值点, 即不能很好的把目标从背景中提取出来, 所以效果不好。近年来国内学者进行了这方面的研究, 杨必武通过区域灰度变化模型, 采用有效熵方法分对象来进行阈值设定, 解决了读数多阈值自动设置方面的问题。石美红提出了一种基于脉冲耦合神经网络的图像二值分割, 与传统图像二值化方法相比, 它是与图像自适应的二值分割实现图像的二值化。张健提出了采用图论阈值算法, 采用相似程度最小生成树策略研究伪割集问题, 并给出图像阈值, 仿真表明该算法的分割图像效果清晰, 消除了图像分割中存在的过合并和欠合并现象。周艺华采用灰度级-最大梯度图等进行阈值设定, 通过迭代代替穷举搜索选取阈值进行图像分割。OTSU算法 (大津法或最大类间方差法) 是图像阈值自动选取方法之一, 本文在最常见的图像阈值分割方法基础上, 提出一种自动单阈值分割OTSU算法, 利用原图的平均方差图像统计特性得到合理分割阈值, 从而具有很强的自适应性能。
2 图像阈值分割方法
2.1 图像阈值分割的统计迭代算法
迭代算法是基于图像灰度直方图和高斯统计分布基础上, 求出迭代算法理论表达式, 得出求解最佳阈值的迭代方法。
(1) 图像灰度直方图和高斯分布
对于目标和背景有较强对比的图像, 在直方图中会显示两个峰值:其中一个在背景灰度区, 另一个在目标灰度区, 图1所示为250个灰度级的直方图。当图像像素数越大时, 其灰度直方图越趋向于两个相互交叉的高斯分布曲线。设n0, nb分别为目标和背景的像素数。n0 (g) 和nb (g) 各表示在某一灰度值g下的像素数。P (g/0) 和P (g/b) 分别表示为n0 (g) 和nb (g) 在n0和nb中所占的比例。即
其分布曲线如下图2所示, R0, Rbg0, gb分别为这两条曲线的方差和均值。
(2) 阈值表达式
最佳阈值必须满足因分布交叉而引起错误归类像素个数最小这一条件来求出。假设取一个阈值T, 则应保持下式值为最小。
(3) 迭代算法
g0, gb可以近似从图像灰度直方图上求得两个峰值所对应的灰度值。在直方图中近似求出n0和nb, 但大小与阈值T有关。
n (g) 表示灰度值为g的像素数目, G是灰度最大值。方差R0和Rb可根据下式近似从直方图中求出。
可得:-T2+Bt+c=0
迭代公式为 (T≥0) , 则T=b T+c
(4) 实验结果
图3 (a) 是一幅较复杂的人图像, 对此图像进行二值化处理后的效果见图3 (b) , 其中T=112, 可以看出效果稍差。
2.2 自动单阈值分割OTSU算法
OTSU算法因自适应强而成为图像阈值自动选取方法之一。本文在该方法的基础上提出自动单阈值分割OTSU算法, 并同样具有较强自适应性。
根据上述分析, 采用图像灰度平均方差反映图像灰度分布的均匀性, 而边界及其附近点灰度跃变通常较大, 平均方差值近似表达图像边界点的灰度跃变情况。本文以平均方差来代替OTSU方法中的均值, 则有:
根据OTSU算法, 分割要求方差值越大表示组合图像的两部分差别越大。当部分目标错分成背景或部分背景错分成目标等情况下将会导致两部分差别变小。下面对自动单阈值分割OTSU算法图像进行测试。图像采集卡的性能要求高, 其精度性直接影响到采集图像的分辨率和分类结果的准确性。由采集卡收集到的图像, 导入预定的图像库, 再由图像处理软件来实现一系列的图像处理操作, 算法如下:
结果如图4所示。通过图4阈值分割算法的测试图片分析比较, 发现OTSU算法能更好地把目标从背景中提取出来, 使目标错分为背景或部分背景错分为目标的错分概率最小。
3 总结
本文在Otsu算法基础上提出图像阈值自动选取方法, 具有较强的自适应性, 基于VC++的图像处理程序, 实现了对图片的二值化处理, 同时各个模块独立性高, 具有高度的稳定性和灵活性, 经实际图像验证是有效的。但考虑到图像处理的数据量大, 处理速度相对比较缓慢, 这在今后的研究工作中将加以改进。
参考文献
[1]何斌, 马天予, 王运坚, 等.Visual C++数字图像处理 (第二版) [M].北京:人民邮电出版社, 2002.
[2]杨必武, 郭晓松.基于有效熵的图像阈值自动设置算法研究[J].计算机工程, 2002, 28 (2) :200-201.
[3]石美红.基于改进型脉冲耦合神经网络的图像二值分割[J].计算机仿真, 2002, 19 (4) :42-46.
[4]张健, 李宏升.基于图论阈值算法的图像分割研究[J].液晶与显示, 2014, 29 (4) :592-597.
基于阈值的图像分割方法 篇6
关键词:阈值,直方图门限选择,迭代阈值图像分割
1. 阈值分割的背景介绍
由于物体和背景以及不同物体之间的灰度级有明显的差别, 因此, 在图像的灰度级直方图中会呈现明显的峰值。当图像回度直方图峰型分布明显时, 常以谷底作为门限后选值。所以只要适当地选择阈值, 即可以对图像进行分割, 因此成为一种简单而且广泛用的方法。
2. 直方图门限选择
2.1 理论基础
阈值T可以通过分析边缘检测输出的直方图[1]来确定。假设, 一幅图像只有物体和背景两部分组成, 其灰度级直方图呈明显的双峰值。如图:
在此情况下, 选取双峰间的谷底处的灰度值T作为阈值, 即可以将物体和背景很好地分割开, 阈值分割法可以用数学表达式来描述。设图像为f (x, y) , 其灰度范围为[z1, z2], 设T为阈值, 是z1和z2在任一值, 可以得到一幅二值图像, 其数学表达式为:
以上是比较理想的情况, 实际中很难找到这样的图像。一幅通常有多个物体和背景所组成, 假如, 其灰度级直方图能呈现出多个明显的峰值, 则仍可以选峰值间峰谷处的灰度值作为阈值, 此时有多个阈值将图像进行分割, 这样就是多峰值阈值选择。比如有3个峰值, 可以去两个峰谷处的灰度值T1, T2作为阈值。同样, 可以将阈值化后的图像变成二值图像, 其数学表达式为:
2.2 算法描述
直方图门限选择方法, 可以很容易通过程序实现其分割结果。其计算方法[2]是这样的:
实现步骤:
1.取得原图得数据区指针;
2.开辟一个和原图相同大小得图像内存空间, 并且初始化为255;
3.进行图像灰度统计, 显示灰度直方图;
4.通过对话框选取一个峰谷作为阈值;
5.像素灰度值与阈值之差小于30, 将像素置为0, 否则置为255;
6.将结果复制到原图数据区。
3. 迭代阈值图像分割
3.1 理论基础
迭代的方法产生阈值, 可以通过程序自动计算出比较合适的分割阈值。其计算方法是这样的:
1.选择阈值T, 通常可以选择图像的平均灰度值来作为初始值;
2.通过初始阈值T, 把图像的平均灰度值分成两组R1和R2;
3.计算两组平均灰度值μ1和μ2;
4.重新选择阈值T, 新的T的定义为:T= (μ1+μ2) /2;
循环做第二步到第四步, 一直到两组的平均灰度值μ1和μ2不再发生改变, 那么我们就获得了所需要的阈值。
3.2 算法描述
1.取得原图得数据区指针以及图像的高和宽;
2.进行直方图统计;
3.设定初始阈值T=127;
4.分别计算图像中小于T和大于T的两组平均灰度值;
5. 迭代计算阈值, 直至两个阈值相等;
6. 根据计算出的阈值, 对图像进行二值化处理。
4. 实验结果
(见图2, 图3)
5. 总结与展望
本文通过分析直方图阈值分割方法理论基础, 实现了其在图像边缘检测上的应用, 但是直方图阈值分割方法在阈值选取上, 基本是人为选取的, 因此阈值选取直接关系到分割的质量, 往往会产生或多或少的误差, 因此我们选用了迭代阈值图像分割, 我们会在以后的工作中通过实验, 寻找更为理想的算法, 逐渐完善阈值分割方法。
参考文献
[1]焦玉斌;徐艳蕾;陈喜龙;图像分割研究综述[M];光学技术;科技创新导报, 2009年13期
C#快速分割阈值灰度图像 篇7
图像分析在实际中已得到广泛的应用, 例如工业自动化, 在线产品检验, 文档图像处理等等。图像分割更是起到越来越重要的作用, 好像我们熟悉的计算机断层图像CT, X光透。
图像分割是从图像处理到图像分析的关键步骤, 可以从图像分割的结果的好坏直接影响对图像的理解。
在对图像的研究和应用中, 人们往往只对图像中的某部分特别感兴趣。这些部分通常称为目标或前景 (其他部分称为背景) , 它们一般对应图像中特定的、具有独特性质的区域。为了辩识和分析目标, 须要将它们分别提取出来, 在此基础上有可能对目标进一步利用。
2、图像分割的定义
用计算机进行数字图像处理的目的有两个, 一是产生更适合人类视觉观察和识别的图像, 二是希望计算机能够自动进行识别和理解图像[1]。无论是为了何种目的, 图像处理的关键一步是对包含有大量各式各样景物信息的图像进行分解[2]。从概念上来说, 所谓图像分割就是按照一定的原则将一幅图像或景物分为若干个部分或子集的过程。
在图像中用来表示某一物体的区域, 其特征都是相近或相同的, 但是不同物体的区域之间, 特征就会急剧变化。目前已经提出的图像分割方法很多, 从分割依据的角度来看, 图像的分割方法可以分为相似性分割和非连续性分割。相似性分割就是将具有同一灰度级或相同组织结构的像素聚集在一起, 形成图像的不同区域;非连续性分割就是首先检测局部不连续性, 然后将它们连接在一起形成边界, 这些边界将图像分成不同的区域。
图像分割研究领域和其他领域的发展过程类似, 发展至今, 人们对图像分割提出了不同的理解和解析。在不同的阶段, 研究者们根据研究的水平和实际要求提出了很多图像分割的定义, 目前广为人接受的是通过集合定义的图像分割[3]。
令集合R代表整个图像区域, 对R的图像分割可以看作是将R分成N个满足以下条件的非空子集R1, R2, R3……Rn:
(1) ∪Ri=R
(2) 对i=1, 2, 3……N, P (Ri) =TRUE
(3) 对任意i, j;i≠j, 有对Ri∩Rj=∅
(4) 对任意i, j;i≠j;P (Ri∪Rj) =FALSE
(5) 对i=1, 2, 3……N, Ri是连通的区域
3、图像阈值分割法
事实上, 到目前为止, 还没有一种完善的分割方法可以按照人们的意愿准确的分割任何一种图像。所以我们要根据实际图像中景物情况各异, 具体问题具体分析, 需要根据实际情况选择适合的方法。
阈值法是比较常用也比较简单的一种分割方法。根据统计, 当灰度图像有变化灰度的背景或本身有较大灰度范围的区域时, 进行视觉图像的分割会非常困难。这是因为对于灰度图像的分割来说明亮度是惟一的可用信息, 故这种问题是灰度图像本身固有的。阈值法是一种按灰度的幅度分割的方法。它把图像的灰度分成不同的等级, 然后用设置灰度门限的方法确定有意义的区域或欲分割的物体的边界[6]。
阈值法分割有两个主要步骤:
(1) 确定需要的分割阈值;
(2) 将分割阈值与像素值相比较以划分像素。
阈值处理的主要思路是, 对于输入图像的各个像素, 先确定某个亮度值 (即阈值) , 当像素亮度超过该阈值时, 则对应输出的像素设为0。所得到的也就是二值图像, 就是指图像上的所有点的灰度值只用两种可能, 不为“0”就为“255”, 也就是整个图像呈现出明显的灰度效果。
由此, 我们的做法是当f (x, y) 大于阈值t时, 令g (x, y=1;当f (x, y) <t时, 令g (x, y) =0。其中f (x, y) , g (xy, ) 分别为处理前、处理后的图像中处于 (x, y) 位置上的某个像素浓度值, t为阈值。而阈值处理后的值, 并非是1或者0, 而是采用HIGH与LOW。当要显示与原图像相同的效果时, 只需在程序中令HIGH=255, LOW=0即可。
4、直方图确定阈值
直方图能比较直观地看出阈值[5]。直方图 (histogram) 就是表示具有浓度值为i的像素有多少个的频度分布直方图。从数学上来说图像直方图是图像各灰度值统计特性与图像灰度值的函数, 它统计一幅图像中各个灰度级出现的次数或概率;从图形上来说, 它是一个二维图, 横坐标表示图像中各个像素点的灰度级, 纵坐标为各个灰度级上图像各个像素点出现的次数或概率。
在显示的直方图中, 我们可以看到有两个峰值, 这就是我们在图像中所谓的背景色和前景色。在日常应用中我们经常要把前景色跟背景色分离开来。那么我们的阈值就通常选两个峰值之间的谷底值。有时候目标和背景的灰度值有部分交错, 用一个全局阈值并不能将它们绝然分开。这时常希望能减少误分割的概率而选取最优淤滞是一种常用的方法。设一幅图像仅包含两类主要的灰度值区域 (目标和背景) , 他的直方图可看成灰度值概率密度函数的一个近似。这个密度函数实际上是目标和背景的两个单峰密度函数之和。如果已知密度函数的形式。那么就有可能选取一个最优阈值把图像分成两类区域而使误差最小[4]。
在实际的程序编译中, 考虑到即使有直方图显示要看出阈值也会多少有点误差, 所以本文采用了OTSU提出的类判别法算出阈值。使得程序不单只能显示直方图, 还能算出一个阈值给我们作参考。
C#实现OTSU计算阈值代码如下:
实际程序的灰度分割效果如下:
程序基于图1生成的直方图如图3:
两个主峰的山谷刚好差不多就在中央像素127.5的位置, 与程序生成的阈值121很接近。进一步说明程序的参考价值。
5、小结
本文主要介绍了灰度图像的阈值分割法, 采用的是直方图方法, 并通过程序运用OTSU算法算出一个阈值以作参考, 使得程序更加准确。程序实验结果表明, 本程序使用C#准确、稳定实现了灰度图像阈值分割, 为图像分割领域提供一种较通用的分割方法。
参考文献
[1]扬枝灵, 王开VISUAL C++数字图像获取.处理及实践应用[M]北京, 人民邮电出版社, 1998, 25-26
[2]钟志光, 卢君, 刘伟容等VISUAL C++NET数字图像处理实例与解析[M]北京:清华大学出出版社1999, 21
[3]井上诚嘉, 八木伸行, 林正树等C语言实用数字图像处理[M]北京:科学出版社, 1999, 16-18
[4]李兰友, 王学彬等VISUAL C#图像处理程序设计案例[M]北京:国防工业出版社, 1997, 153-154
[5]Philipsty, rosenfelda, sheraco (logn) bimodality analysis[J].patternrecognition, 1994, 13 (2) :208-210