本发明涉及图像分割领域和水沙检测领域,具体涉及一种基于概率分布的图像阈值分割方法。
背景技术:
1、图像分割是图像处理中一种常用的方法,目的是将图像中感兴趣的部分与背景区域分割开,将目标区域提取出来,更好的进行图像识别和检测,是进行泥沙颗粒粒径图像法检测中非常重要的一个环节。图像分割中最常用的是阈值分割,也是众多分割方法中最简单最有效的,在泥沙颗粒图像识别中也经常被用到。就泥沙颗粒粒径检测而言,阈值选得太大,容易将颗粒边缘的背景当作目标,造成后面测得的泥沙颗粒粒径大于实际粒径,若阈值选取太小,则容易忽略掉图像中粒径较小的颗粒,使得最终绘制的粒径级配曲线陡峭,与实际偏差较大。因此想要达到理想的分割效果,阈值的选取是十分重要。阈值分割可细分为五种,包括直方图分析法、聚类法、最大熵法、高阶概率分布与像素相似性分析、模糊形状相似性和边缘符合性分析。根据选取图像区域的大小又可将其大致分为两大类,包括局部阈值分割和全局阈值分割。
2、局部阈值分割方法常见的有bersen算法、niblack算法、sauvola算法、高斯加权等方法,其原理是将原始图像分成多个固定尺寸的子图像,然后对每个子图像的灰度特征进行阈值的选取,这种阈值分割方法可处理多个目标的分割工作,且对含有明显噪声以及存在非均匀光照的图像分割效果极佳,但对于一般图像,采用局部阈值容易造成最终分割得到的目标区域连接性较差,含有噪声,对于泥沙颗粒的检测工作带来不便;相反,全局阈值针对单一目标的分割具有很好的分割效果,并且整个区域同一采取一个阈值,计算量小,运行简单,在泥沙颗粒粒径检测图像法中应用最为广泛。目前常用的全局阈值分割方法有最大熵阈值分割、otus又称大律法阈值分割。
3、otus算法在阈值分割中应用极其广泛,其原理是通过比较两区域灰度值的类间方差,若两区域的类间方差最大,则说明背景与目标之间差异较大,则此时相应的灰度值即为图像的最佳阈值分割,理论简单,物理意义明确,可以实现动态自适应确定图像分割阈值。但此方法对于没有明显双峰的像素直方图分割效果不佳,对于目标与背景面积相差较大或者目标及背景灰度值相差不大的图像无法给出良好的阈值。除此之外,采用一维的全局阈值分割仅考虑了像素点本身的灰度值,没有考虑到邻域其他空间信息,忽略了图像中存在的边缘噪声,因此在实际的应用操作中,多是运用二维最大熵及otus进行图像分割。
技术实现思路
1、本发明目的是提供一种基于二维最小类内方差的颗粒图像快速分割方法,以解决现有方法进行类似泥沙颗粒这种单目标图像分割时,目标提取效果不佳的情况。
2、为解决上述问题,本发明所要采用的方案是:
3、一种基于二维最小类内方差的颗粒图像快速分割方法,包括以下步骤:
4、s1采集原始泥沙颗粒图像;
5、s2构建二维灰度函数,建立像素本身灰度值与邻域平均灰度值的二维矩阵,其中邻域平均灰度值表示为:
6、
7、其中,gij为邻域平均灰度值大小,取整数;
8、r表示所选取的邻域步长,为恒大于0的单数;
9、img[i][j]表示图像中(i,j)处的灰度值大小,为大于等于0的整数;
10、s3随机选取阈值s、t,将图像划分为a、b、c、d四个区域,其中区域a和区域b分别对应目标域和背景域,表示为:
11、a={img[i][j]∈z,gij∈z|0≤img[i][j]≤s,0≤gij<t}
12、b={img[i][j]∈z,gij∈z|s<img[i][j]<256,t≤gij<256}
13、灰度函数偏离对角线的区域一般为噪声和边缘,即c、d两个区域,视该区域出现频率为0,则区域a和区域b出现的频率分别为:
14、
15、pb=1-pa
16、其中,p(x,y)表示中心灰度值为x的同时邻域灰度值为y的像素点在图像中出现的频率大小;
17、s4引入最小类内方差概念,即同一类区域内的各像素点灰度值的方差越小,则区域内灰度值分布越平均,说明其可能来源于同一物体,即找到最小类内方差对应的阈值s、t以将背景和目标更好的快速分割开;
18、s5结合类间方差分别赋予两阈值s、t权重,得到最终阈值th;
19、s6输出阈值为th的图像分割结果;
20、s7图像再处理。
21、步骤s2构建二维灰度函数中,记图像中每一个固定像素点的灰度值为x,邻域平均灰度值记为y,x和y的取值范围均为[0,255],囊括整个灰度级,记不同x值和不同y值在一幅图像中同时出现的概率为p,则x和y即视为二维离散型随机变量分布。
22、步骤s4引入最小类内方法,基于二维离散型随机变量分布,分别计算区域a和区域b的内部期望矢量和方差矢量:
23、
24、
25、
26、
27、式中,x为区域内某一像素点的灰度值;
28、y为对应这一像素点的邻域平均灰度值;
29、s为x方向的阈值,t为y方向的阈值,其大小均在[0,255]区间内;
30、p(x,y)为x值与对应y值在一幅图片上同时出现的次数;
31、pa为区域a所囊括的所有像素点个数;
32、ea为区域a内部的期望矢量,ea0(st)(s,t)表示x方向的期望值,ea1(st)(s,t)表示y方向的期望值,分别简写为ea0,ea1;
33、da为区域a内部的方差矢量,da0(st)(s,t)表示x方向的方差值,da1(st)(s,t)表示y方向的期望值;
34、pb为区域b所囊括的所有像素点个数;
35、eb为区域b内部的期望矢量,eb0(st)(s,t)表示x方向的期望值,eb1(st)(s,t)表示y方向的期望值,分别简写为eb0,eb1;
36、db为区域b内部的方差矢量,db0(st)(s,t)表示x方向的方差值,db1(st)(s,t)表示y方向的期望值。
37、所述步骤s4确定最小类内方差对应的阈值s和t,具体是:当两部分矢量方差的模相加最小时即,
38、|d|min≤dfree
39、
40、此时对应的阈值s、t为最佳阈值。
41、所述步骤s3中,区域a出现的频率pa、期望ea以及方差da采用以下递推公式:
42、pst(s+1,t+1)=pst(s,t)+ps(t+1)+pt(s+1)+p(s+1)(t+1)
43、est(s+1,t+1)=est(s,t)+es(t+1)+et(s+1)+e(s+1)(t+1)
44、dst(s+1,t+1)=dst(s,t)+ds(t+1)+dt(s+1)+d(s+1)(t+1)
45、步骤s5具体是:结合一维类间方差,分别求出所述阈值s对应的类间方差和所述阈值t对应的类间方差:
46、阈值s的类间方差σ1和σ2为:
47、
48、
49、阈值t的类间方差σ3和σ4为:
50、
51、
52、其中,μ为所述原始图像的灰度值平均值,
53、px为灰度值为x的像素点数出现频率,
54、ω0和ω1分别表示各区域占总区域的权重;
55、根据所述阈值s和阈值t对应的类间方差计算两种阈值的权重s1和s2:
56、
57、s2=1-s1
58、其中,σ0为所述原始图像的灰度值方差;
59、最终得到阈值为:
60、th=s1×s+s2×t
61、th为最终阈值。
62、步骤s7中的图像再处理,包括:
63、采用先腐蚀后膨胀的开运算来去除图像中亮度较高的噪声;
64、采用漫水填充方法对颗粒内部空洞进行填充;
65、采用分水岭算法将粘连颗粒进行分割。
66、本发明一种基于二维最小类内方差的颗粒图像快速分割方法相比现有分割方法来说具有以下技术优点:
67、第一.本发明提供的一种基于二维最小类内方差的颗粒图像快速分割方法,从全局进行分割,不会破坏目标本身的连接性,操作相对简单,原理明确。
68、第二.本发明不仅考虑了图像中心点像素灰度值,同时也考虑了邻域像素点空间信息,并且最终又通过降维的方式,结合两阈值的类间方差进行分析,从而更好地将目标区域和背景区域进行聚类,最终可为泥沙颗粒检测等其他图像识别工作提供一种较好的分割效果,为后续的图像处理提供最优的二值图像。
69、第三.对于固定的阈值s和阈值t,在计算区域a出现的频率pa及两部分方差时,不需要每次都从x=1,y=1重复进行计算,加快了运算速度。