基于分水岭算法的彩色细胞图像分割
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于分水岭算法的彩色细胞图像分割
摘要
随着影像医学的发展,通过对细胞涂片影像的分析,从而对细胞影像进行区分和识别成为重要的研究课题。细胞图像分割是细胞图像分析和识别的重要步骤。图像分割是将图像中具有特殊含义的不同区域区分开来,是图像处理的关键步骤。分割后的子区域互不交叉,每一个区域满足特定性质的一致性。人体细胞种类繁多、形态多样且图像质量也很不相同,而分析应用中对细胞图像分割的质量却要求较高,所以细胞图像的自动分割极为重要且困难很大。
彩色图像与灰度图像相比,信息量更为丰富,而且颜色的描述方法也,较多。很多经典算法只能对二值图像或灰度图像进行运算。为此,关于彩色细胞图像的分割研究成为一个非常活跃的研究领域。本文针对彩色细胞图像经过染色处理的特点,提出了一种彩色细胞图像的分割方法。以快速分水蛉算法为主要分割算法,为了较好地抑制彩色细胞图像背景噪声,选择更符合人类视觉感知的HSI颜色空间,结合自动阈值和色度提出去除图像背景的方法。同时,使用中值滤波和均匀化处理,有效地克服了分水岭算法的过分割现象。针对细胞图像特点改进了区域合并算法。得到了较准确的分割结果。本文首先概括介绍了图像分割的意义及发展现状,概述了当前主要的
图像分割算法。其次,介绍了彩色图像颜色空间和快速分水岭算法的基本思想及实现方法。最后列出了实验流程和实验结果并进行了讨论。关键词:图像分割,HSI颜色空间,分水岭
二.分水岭算法
本章从对分水岭算法的定义出发,对分水岭算法的发展过程中的不同实现方法进行比较,阐明快速分水岭算法的优越特性及实现方法。(一)分水岭算法的定义
分水岭分割的最初算法是针对地形数字高程模型提出的.目前分水岭算法在图像分割领域正得到广泛应用.分水岭算法的定义121J
对一幅二维灰度图像,,Jr的定义域为Dr cZ2,,取离散灰度值【0,N】,将该值视为对应像素点的高度,Ⅳ为一正整数。
用G表示相应的数字格网(以四邻域为例)o图像I中点p和g之间一条长
度为z的路程≯为由点,Pl,⋯Pt-l,P1)组成的(斗1)元组,有
Po=P,Pl=q,且Vf∈【l,,】,(Pf-I,Pi)∈G (3-2)将路径P的长
度标识为^纠,点p的邻域集标识为: (p):%Q)=p’∈Z2,(DP’)∈
回(3‘3)图像f在高度矗的一个极小区膨(minimum)定义为由高度值为h的点组成的一连通区域,从该区域肘中的一点出发到达任一高度低
于h的像素点。与极小区M相关联的集水盆地∞砂定义为D。中的一个
点集,其所包含P的特点为:假设一滴水落到该点P上,则该水滴由于重力作用将沿一条最快速下降路径下滑并最终到达极小区
^^在集水盆地的基础上,分水岭的直观定义‘捌为:分割不同集水盆地的线称为分水岭。
以上定义虽然直观,但不方便用算法实现。因此,Vincent与Soille给出了另一种算法定义(algorithmic definition)123}如下:将图像,中各点的梯度值视为该点的高度,在图像,的每个极小区M 的底部之间钻上连通小孔。然后,向图像形成的地表面中缓慢注水,水面将逐渐浸没地面,从而形成一个个小湖——集水盆地.从高度最低的极小区出发j水面将渐渐浸没图像,中不同的集水盆地。在此过程中,如果来自两个不同集水盆地的水将要发生汇合,则在汇合处建一水坝。在浸没过程的最后,每个集水盆地最终都会被水坝包围。所有水坝的集合就对应图像的分承岭(算法定义)。
(二)常用的几种分水岭算法
Beucher和Lantu巧oul最先提出了基于“浸没”模型的分水岭算法[241,在已知区域最小的前提下,在每个区域最小值影响的区域内,通过形态学闭运算,逐步扩展所影响的区域范围,最后得到分水岭线。在计算的过程中,如果遇到这种情况,当同一区域呈环形时,就可能产生错误的分水岭线A.并且这种算法的效率是非常低的,因为在每一次二值闭运算的过程中,都必须将所有的像素扫描一次.也可以通过灰度骨架来计算分水岭嘲.基于这一点,Beucher证明了分水岭从一定程度上来说就是灰度骨架中的闭合曲线‘261。
灰度图像的骨架可以通过形态学细化运算来计算。在形态学细化的过程中,可以很容易的将骨架内不闭合的曲线从图像中去掉。整个过程,包括骨架提取和接下来对曲线的修剪的过程需要经过多次迭代,在每~步迭代过程中,和前一种算法类似需要对每个像素进行扫描,所以这种算法的效率基于分水岭算法的彩色细胞图像分割研究也是
很低的. FriedLander在文献【271中提出了一种有序算法【281。在数学形态学领域,有序算法被广泛的应用【29】.这类算法按照预先规定的顺序对图像进行扫描,在扫描的过程中每个像素的新的值可能会对下一个像素的新的值的计算产生影响。
整个算法必须有一个初始化的步骤,生成“主要蓄水盆地”。拥有区域最小值M的主要蓄水盆地是一些像素的集合,从像素M开始,经过一个非降的浸没过程可以到达这些像素。图像中的任何一个像素都至少属于一个主要蓄水盆地,而两个或两个以上的主要蓄水盆地重叠的区域就称为“分水岭区域”,这些区域组成了“受限蓄水盆地”,最后,可以通过SKIZ(skeleton by influence zones)得到分水岭线。整个过程是相当快的.因为每一个步骤都是有序进行的。
另外.在算法中对每个蓄水盆地都进行了标记编号,线不是非常精确。图3-2基于有向箭头的有序算法Beucher还提出了一种基于有向箭头的有序算法00。算法有三个主要步骤:首先,找到图像中的区域最小值像素点(这些像素的邻接像素的狄度值都不小于当前像素的灰
度值).然后,对于每一对像素细,p2),如果Pl点灰度值严格大于
p2,那么用一个箭头从PI指向P2.这样就可以用一种简洁的方式表示像素的邻接情况。最后,对区域最小值标记编号,并根据第二步中的箭头将这个标记值进行扩展。
这种算法比前两种算法计算的速度快,但计算的结果也不是十分的精确。上面提到的算法有以下一些特点:第一,在处理的过程中,它们都连续多次对图像进行完整的扫描。这就意味着在每一步过程中,所有的像素都必须被扫描一次,这是非常费时的.第二,这些算法都没有一个固定的迭代次数,每一次迭代都必须对图像进行完整的扫描,而迭代的次数可能很大。所以,在目前的计算机中,这些算法的效率是非常低的。针对上述算法的缺点, vincent和soille提出了一种高效精确的分水岭算法阅。它需要解决两个问题:
①如何随机访问图像中任意像素。
②如何直接访问给定像素的邻接像素。
vincent和Soille提出的算法是基于“浸没”模型的,整个算法可以
分解为两个步骤。为了能够直接访问某一灰度值的像素,在第一步中包含一个初始排序的过程,将所有的像素按照它们的灰度值的升序进行排列。在第二步中,通过在每个灰度级别上的宽度优先扫描可以快速的计算出所影响到的像素,这种特殊的扫描是通过像素队列来实现的,这是一个先进先出的数据结构。许多形态学交换都可以通过应用先进先出队列来提高算法的效率.执行步骤如下;
步骤1首先计算图像中各点的梯度,然后扫描整幅图像得到各梯度的
概率密度。各像素点在排序数组中的位置由梯度分布的累积概率与该