[0052] 对预处理后的新直方图进行均衡处理;
[0053]采用对均衡处理后的直方图求微分和直线扫描相结合的方法确定波峰位置。
[0054]在本实施例中,步骤S4具体包括:
[0055]选定隶属函数;
[0056]根据波峰峰值确定临近波峰的距离Dj;
[0057] 在[0.3,0.8]内选取参数λ;
[0058] 根据不同峰值间距计算窗宽c,c = ADj;
[0059] 在本实施例中,根据不同峰值间距计算窗宽之后还包括对图像进行滤波处理。 [0060]在本实施例中,步骤S5具体包括:
[0061]分段计算直方图呈多峰分布的图像;
[0062]分开计算直方图中的各波峰;
[0063]通过直方图求一阶微分和直线扫描的方法确定波谷;
[0064]将图像直方图分为η个部分,其中,η为正整数;
[0065]确定各部分峰值所在位置;
[0066] 确定各部分使模糊率曲线达到最小值的参数;
[0067] 求出各部分直方图的最佳分割阈值;
[0068] 根据各部分阈值进行图像自适应分割。
[0069] 本实施例利用邻域的局部性质,对单峰直方图进行反变换,得到新的直方图,波 谷、波峰相互转换,使波峰间的波谷较深或使波谷凸起变为波峰,从而表现出双峰特性;对 图像进行直方图平滑处理,以去除毛刺等现象,然后通过新直方图的波谷确定波峰所在区 域,从而确定两临近波峰间的距离,通过模糊率曲线极值点数量与图像已知像素类别的个 数对比的方法,计算得到不同图像的隶属函数窗宽大小,改善了直方图呈单峰、多峰或双峰 不明显的图像时存在的分割失败现象。
[0070] 本实施例对图像按照坐标分块,对每一块分别选取最佳阈值进行分割。米用分段 计算的方式,将直方图中各波峰分开计算,通过直方图求一阶微分和直线扫描的方法确定 波谷,从而可将图像直方图分为多部分。通过检测直方图波峰的上升段与下降段,计算出波 峰所在位置。确定峰值所在位置后,找出使模糊率曲线达到最小值时的参数,即最佳阈值。 根据相邻波峰间距计算窗宽,从而达到窗宽的自适应调整。通过这种方法对图像不同灰度 区间的模糊率,求取出各段直方图的最佳分割阈值,实现对图像的自适应分割。
[0071] 下面对本发明进行详细说明。
[0072] 由于图像信息具有模糊性,本发明利用模糊隶属度函数将图像直方图转换到模糊 域。模糊阈值分割方法是以数学的模糊模型的方法为基准,将一幅图像转化为模糊阵列的 形式,通过计算图像的模糊率或模糊熵确定阈值。
[0073] 在模糊阈值分割方法中,选取的隶属度函数的分布特性与窗口宽度往往决定了图 像分割阈值的大小。设图像P的长为W、宽为Η,共有L级灰度{0,1,…,L-1},其单位为像素,若 像素(w,h)的灰度值为μ(ΧΛ),则隶属度为y(Xwh),表示像素(w,h)具有的明亮程度,其中w = 1~W,h = 1~Η。图像P的模糊率v (X)是对图像模糊性的度量,若图像中灰度值i的像素个数 为h(i),则图像在隶属函数下的模糊性的大小即为图像的模糊率v(x),其定义可用公式(1) 表不。
[0074] (1)
[0075] 其中,h(i)为图像P中灰度值i所对应的图像像素个数,其值为一个常数。从模糊率 的定义可以看出,图像的模糊率ν(χ)的大小与隶属函数μ(χ)具有直接关系。本发明所提出 的自适应模糊阈值图像分割方法中,隶属函数μ(χ)选用S型函数,可用公式(2)表示,即:
[0076]
(2)
[0077] 在隶属度函数中,设定窗宽为c = 2 △ k,由图像模糊率的定义可知,此时模糊率的 大小仅与隶属度函数的大小有关。根据其定义可知,隶属度函数μ(χ)由窗宽c及参数k决定, 一旦在隶属度函数中确定了窗宽,模糊率ν(Χ)仅与参数k有关,从而可以通过在灰度区间上 参数k的遍历影响模糊率曲线,从而决定阈值的选取。因此,窗宽的选取是图像分割效果的 决定性因素。当C小于两峰间距时必定存在最小的模糊率,然而窗宽C的取值过小或者过大 往往会出现假阈值或者阈值丢失的现象,因此,窗宽C 一般选取两波峰间距的0.3~0.8倍。
[0078]本发明提出自适应分割方法,根据不同的直方图,采用直方图变换的思想,将一些 不呈明显双峰分布的图像进行变换,使其峰值更明显,然后通过新直方图的波谷确定波峰 所在区域,从而确定两临近波峰间的距离,最后通过计算公式得到不同图像的隶属函数窗 宽大小,完成最佳阈值的选取,实现分割阈值的自适应选取,具体包括如下过程。
[0079] (1)直方图预处理
[0080]对于直方图为单峰或双峰间的波谷很平坦的图像,为了进行正确的图像分割,必 须先对其直方图进行变换。直方图变换法也是一种图像阈值分割法,即利用邻域的局部性 质对直方图进行变换,得到一个新的直方图,使峰间的波谷较深或使波谷凸起变为峰,从而 容易检测。针对模糊阈值方法对直方图呈单峰分布的图像容易分割失败的现象,本发明采 取对单峰直方图进行反变换,得到新的直方图,波谷、波峰进行相互转换,最终表现出双峰 特性。此外,由于图像本身的直方图存在峰值不明显、毛刺较多的现象,因此对图像进行直 方图平滑处理,以去除毛刺等现象,使处理之后的直方图更加清晰,减少误分割的概率。直 方图预处理流程图如图2所示。
[0081 ] (2)波谷检测
[0082] 对预处理后的分割图像直方图进行梯度检测,通过梯度检测确定出波谷的位置, 初步确宙图像中滿足公式(3)的港在阈值i。
[0083]
(3)
[0084]公式(3)中n(i)为图像像素灰度值为i的个数,i为正整数。
[0085]将所有满足公式(3)的灰度值i组成一个集合{Kn},若集合中满足Kn+1与1的差值大 于任意设定的正整数η,则κη+1为初始的阈值点,否则删除该阈值点,进而完成直方图的波谷 检测,为下一步的直方图峰值的检测做准备。波谷检测具体流程如图3所示。
[0086] (3)峰值定位
[0087]在图像直方图中,一个波峰往往由波谷点(起始点)、上升段、峰值、下降段、下一波 谷点(终止位置)几部分构成。由于波峰峰值必然在直方图上升段和下降段所在区间之中, 图像有η个阈值点应该对应于η+1个峰值,因此可采用对直方图求微分和直线扫描相结合的 方法来计算峰值的初步位置。由于直方图波峰的一阶微分在坐标系中必过零点,为避免图 像中的噪声等干扰因素,需要在峰值检测前对图像进行直方图均衡处理。为避免峰值定位 不准确的现象,本发明采取了与直线扫描结合的方法,即对图像直方图的横轴进行由下至 上的逐点扫描,若在直方图与直线交点处满足交点左右的5个值都满足小于等于交点时该 值即为波峰。通过两种方法的结合可以较为准确地确定波峰位置,峰值检测具体流程图如 图4所示。
[0088] (4)隶属度函数窗宽的自适应选取
[0089] 隶属函数选定后,阈值的选取完全取决于给定的窗宽。在步骤(3)中估测出了波峰 的峰值Fg),通过直方图利用公式(4)可以计算出临近峰值的距离D:
[0090] Dj = F(j+i)-F(j) (4)
[0091] 隶属函数的窗宽c 一般取相邻两波峰间距的0.3~0.8倍,图像的最小模糊率往往 在窗宽小于两波峰间距的情况下存在。为实现窗宽的自适应,本