基于排序K-均值算法的灰度图像分割方法技术领域
本发明属于图像处理领域,涉及一种图像分割方法,尤其涉及一种灰度图像分割
方法,可用于提取和获得灰度图像的细节信息。
背景技术
随着计算机技术的发展,图像在各行各业的应用日益广泛。灰度图像分割是以图
像的形式获得信息的基础,是人们研究的热点,是图像处理技术应用的重要内容之一。
图像分割在目标识别、变化监测等方面应用广泛。图像分割方法有多种,基于灰
度级单阈值分割,基于灰度级多阈值分割、区域增长和聚类等。
K-means聚类算法,简称K-均值算法,是1967年由J.B.MacQueen提出的。K-means
聚类算法是一种经典的划分的聚类算法,是到目前为止应用最广泛最成熟的一种聚类
分析方法。已被广泛应用于图像分割领域。
K-means聚类算法是一种典型的基于距离的硬聚类算法,算法通常采用误差平方
和函数作为优化的目标函数,误差平方和函数的定义如下所示:
E = Σ j = 1 K Σ x ∈ C j | | x - m j | | 2 ]]>
其中,K表示聚类的数目,Cj,j=1,2,...K表示聚类的第j类,x表示类Cj中的
任一数据对象,mj表示类Cj的均值,E表示数据样本与聚类中心差异度平方之和,E
值的大小取决于K个聚类中心点。越小的E值,聚类结果的质量就越好。
K-means算法首先从含有n个数据对象的数据集中随机选取K个数据作为初始中
心,然后计算每个数据到各个中心的距离,根据最邻近原则,所有的数据都会被划分
到离它最近的那个中心所代表的类中,接着分别计算新生成的各类中数据的均值作为
各类新的中心,比较新的中心和上一次得到的中心,如果新的中心没有发生变化,则
算法收敛,输出结果,如果新的中心和上一次中心相比较发生变化,则要根据新的中
心对所有数据对象重新进行划分,直到满足算法的收敛条件为止。该方法应用于灰度
图像分割领域,对部分图像的分割取得了一些效果,能够根据灰度级将图像分割成为
较理想的情况。但该方法的不足之处是,当图像中的某一类或者几类像素较少时,该
方法就很难保留像素较多类别中的图像细节部分,划分效率较低。
发明内容
本发明的目的在于针对上述已有方法的缺点,提出了一种基于排K-均值算法的
灰度图像分割方法,完成了像素较多类别中图像细节部分的保留,提高图像分割效率。
实现本发明目的技术方案,包括如下步骤:
(1)读入一幅不含噪声的灰度图像G,图像大小为256×256,随机指定各个
聚类中心V:
V=(V0,V1,…,Vi)
其中,Vi为第i类的聚类中心,i=0,...,n-1,n为聚类类别数;
(2)定义灰度图像G的灰度直方图HL(l):
HL(l)=nl
其中,l为灰度级,l=0,...,255,nl为灰度图像G中第l个灰度级的像素点总数;
(3)计算图像灰度直方图中每个灰度级l到每个聚类中心Vi的欧式距离dil:
dil=|l-Vi|;
(4)针对每个聚类中心Vi,利用sort(dil)函数对距离dil由小到大进行排序;
(5)用函数mdil存储排序后的每个灰度级到每个聚类中心Vi的距离dil,mdil定义
如下:
md il = Σ d i l 1 < d i l 2 HL ( l 1 ) + 1 1 ∀ l 1 d i l 1 > d i l 2 ]]>
其中,l1,l2∈l,l1≠l2,表示灰度级l1到聚类中心Vi的距离,表示灰度级l2到聚
类中心Vi的距离,i=0,...,n-1,n为聚类类别数,表示灰度级l1到聚类中心Vi
的距离小于灰度级l2到聚类中心Vi的距离,HL(l1)表示第l1个灰度级的灰度直方图信
息;
(6)根据步骤(5)中mdil的值,将每个灰度级分配到离其距离最近的聚类中心的类
别中,即选取min(mdil),i=0,...,n-1,将灰度级l归于Vi类,其中Vi是图像的第i个聚
类中心,n为聚类类别数;
(7)更新第i类聚类中心为以下值:
V i t + 1 = 1 n i Σ j ∈ V i t v j ]]>
其中,ni是图像聚类中第i类的像素点总数,Vi是图像的第i类聚类中心,vj
是第i类中第j个像素点;
(8)判断是否达到设定的循环结束条件,如果达到循环结束条件,则聚类结束,
并输出聚类结果,完成图像G分割,否则返回步骤(3)进行下一次循环。
本发明与现有技术相比存在以下优点:
1.本发明由于对直方图中灰度级到聚类中心的距离dil由小到大进行排序,可以有
效的减小错分率,提高分割结果的精度。
2.本发明由于直接统计像素个数,找到像素个数较少的类别,可以有效的保留图
像像素较多类别中较少像素的图像信息。
附图说明
图1是本发明的实现流程图;
图2是用本发明和现有的K-均值方法对两幅灰度图像的三类分割结果对比图;
图3是用本发明和现有的K-均值方法对两幅灰度图像的四类分割结果对比图。
具体实施方式
下面结合图1对本发明的具体实施步骤做进一步的详细描述。
步骤1,读入一幅不含噪声的灰度图像G,图像大小为256×256,随机指定
各个聚类中心V:
V=(V0,V1,…,V1)
其中,Vi为第i类的聚类中心,i=0,...,n-1,n为聚类类别数;
在本发明的实施例中,读入一幅不含噪声的灰度级House图像,图像大小为256
×256。设定图像分为4类,即n=4。
随机生成聚类中心V=(V0,V1,V2,V3),本发明随机生成的聚类中心为
V=(41,35,190,132)。
步骤2,定义灰度图像G的灰度直方图HL(l):
HL(l)=nl
其中,l为灰度级,l=0,...,255,li为灰度图像G中第l个灰度级的像素点总数;
在本发明实施例中,以灰度级为横坐标,以灰度级像素点的总数为纵坐标构成灰
度直方图。
步骤3,计算步骤2中定义的图像灰度直方图中每个灰度级l到每个聚类中心Vi的
欧式距离dil:
dil=|l-Vi|;
其中,l为灰度级,l=0,...,255,Vi为聚类中心,每个灰度级到每个聚类中心的距离
采用的是欧式距离;
在本发明实施例中,灰度级l=0,...,255,聚类中心为V0,V1,V2,V3,dil表示每个灰
度级分别到聚类中心V0,V1,V2,V3的欧式距离。
步骤4,针对每个聚类中心Vi,利用sort(dil)函数对步骤3中计算出的欧式距离dil
由小到大进行排序;
在本发明实施例中,聚类中心为V0,V1,V2,V3,利用sort函数分别对各个灰度级到
聚类中心V0、V1、V2和V3的距离d0l,d1l,d2l和d3l从小到大排序。
步骤5,用函数mdil存储步骤4中排序后的每个灰度级到每个聚类中心Vi的距离
dil,mdil定义如下:
md il = Σ d i l 1 < d i l 2 HL ( l 1 ) + 1 1 ∀ l 1 d i l 1 > d i l 2 ]]>
其中,l1,l2∈l,l1≠l2,表示灰度级l1到聚类中心Vi的距离,表示灰度级l2到聚
类中心Vi的距离,i=0,...,n-1,n为聚类类别数,表示灰度级l1到聚类中心Vi
的距离小于灰度级l2到聚类中心Vi的距离,HL(l1)表示第l1个灰度级的灰度直方图信
息。
步骤6,根据步骤5中mdil的值,将每个灰度级分配到离其距离最近的聚类中心的
类别中,即选取min(mdil),i=0,...,n-1,将灰度级l归于图像的第i类聚类中心Vi。
步骤7,更新第i类聚类中心为以下值:
V i t + 1 = 1 n i Σ j ∈ V i t v j ]]>
其中,ni是图像聚类中第i类的像素点总数,Vi是图像聚类中第i类的聚类中
心,vj是图像聚类中第i类的第j个像素点;
在本发明实施例中,步骤(1)中随机生成聚类中心V=(41,35,190,132),进行一次
迭代后,聚类中心更新为:V=(95,23,205,116)。
步骤8,根据步骤7中更新前的聚类中心和更新后的聚类中心判断是否
达到设定的循环结束条件,如果达到循环结束条件:则聚类结束,并输出
聚类结果,完成图像分割,否则返回步骤(3)进行下一次循环;
其中表示第t代的第i类聚类中心,表示第t+1代的第i类聚类中心,t表示
循环代数,t的取值范围为1-19。
在本发明实施例中,t=7时,达到循环结束条件:此时聚类中心为
V=(129,94,205,204),聚类结束,并输出聚类结果,完成图像分割。
本发明的效果可以通过以下仿真实验进一步说明:
1.实验条件和内容:
实验条件:
在CPU为core 22.4GHZ、内存1G、WINDOWS XP系统上使用VC++6.0进行仿
真。
实验内容:
本发明分别用两幅不含噪声的灰度图像进行实验,大小均为256×256,分别命
名为lena和house,分别对lena和house进行三类和四类的分割。
2.实验结果:
(1)用本发明和现有K-均值两种方法分别对Lena,House两幅图像进行三类的分
割,结果如图2所示,其中图2(a)为Lena的原图像;图2(b)为House的原图像;图
2(c)为现有K-均值算法对图2(a)的分割结果;图2(d)为现有K-均值算法对图2(b)的分
割结果;图2(e)为本发明对图2(a)的分割结果;图2(f)为本发明对图2(b)的分割结果。
从图2(c)、图2(d)的分割结果可见,现有K-均值算法虽然利用了图像的灰度特征,
但由于容易忽略像素较多类别中图像中的细节,因此不能得到理想的分割结果。
从图2(e)、图2(f)的分割结果可见,本发明对不含噪声的灰度图像的细节部分分
割效果较好。
(2)用本发明和现有K-均值两种方法分别对Lena,House两幅图像进行四类的分
割,结果如图3所示,其中图3(a)为Lena的原图像;图3(b)为House的原图像;图
3(c)为现有K-均值算法对图3(a)的分割结果;图3(d)为现有K-均值算法对图3(b)的分
割结果;图3(e)为本发明对图3(a)分割结果;图3(f)为本发明对图3(b)的分割结果;
从图3(c)、图3(d)的分割结果可见,现有K-均值算法虽然利用了灰度特征,但仍
旧没有很好保留图像细节部分信息,分割结果不理想。
从图3(e)、图3(f)的分割结果可见,本发明对不含噪声的灰度图像的细节部分分
割效果较好。
综上,本发明提出的基于排序K-均值算法的灰度图像分割方法,通过对每个灰
度级到每个聚类中心的距离dil进行排序,基本消除了图像中细节的错分现象,可以
有效保留像素较多类别中较少像素的图像细节,提高了算法的分割效果,将图像分割
成了较为理想的类别。