发明名称 基于排序K-均值算法的灰度图像分割方法
摘要 本发明针对现有K-均值算法很难保留像素较多类别中图像细节的缺点,提出了一种基于排序K-均值算法的灰度图像分割方法。其实现步骤是:(1)读入一幅不含噪声的灰度图像G,并随机指定各个聚类中心;(2)统计读入的灰度图像G的直方图HL;(3)求解各灰度级到各聚类中心距离;(4)对各灰度级到各聚类中心距离进行排序;(5)对排序后的距离进行存储;(6)将每个灰度级分配到离其距离最近的聚类中心的类别中;(7)根据排序后的各灰度级到各聚类中心的距离更新聚类中心;(8)根据更新前后的聚类中心,判断是否达到迭代停止条件,如果达到迭代停止条件,聚类结束,并输出聚类结果,完成图像分割。本发明具有图像分割精度高的优点,可用于提取和获得灰度图像的细节信息。
申请公布号 CN102663681B 申请公布日期 2014.11.12
申请号 CN201210062259.X 申请日期 2012.03.11
申请人 西安电子科技大学 发明人 尚荣华;焦李成;白靖;靳超;吴建设;郑喆坤;马文萍;李阳阳;侯彪
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种基于排序K‑均值算法的灰度图像分割方法,包括如下步骤:(1)读入一幅不含噪声的灰度图像G,图像大小为256×256,随机指定各个聚类中心V:V=(V<sub>0</sub>,V<sub>1</sub>,…,V<sub>i</sub>)其中,V<sub>i</sub>为第i类的聚类中心,i=0,...,n‑1,n为聚类类别数;(2)定义灰度图像G的灰度直方图HL(l):HL(l)=n<sub>l</sub>其中,l为灰度级,l=0,...,255,n<sub>l</sub>为灰度图像G中第l个灰度级的像素点总数;(3)计算图像灰度直方图中每个灰度级l到每个聚类中心V<sub>i</sub>的欧式距离d<sub>il</sub>:d<sub>il</sub>=|l‑V<sub>i</sub>|;(4)针对每个聚类中心V<sub>i</sub>,利用sort(d<sub>il</sub>)函数对距离d<sub>il</sub>由小到大进行排序;(5)用函数md<sub>il</sub>存储排序后的每个灰度级到每个聚类中心V<sub>i</sub>的距离d<sub>il</sub>,md<sub>il</sub>定义如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>md</mi><mi>il</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munder><mi>&Sigma;</mi><mrow><msub><mi>d</mi><msub><mi>il</mi><mn>1</mn></msub></msub><mo>&lt;</mo><msub><mi>d</mi><msub><mi>il</mi><mn>2</mn></msub></msub></mrow></munder></mtd><mtd><mi>HL</mi><mrow><mo>(</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mtd><mtd></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mo>&ForAll;</mo><msub><mi>l</mi><mn>1</mn></msub></mtd><mtd><msub><mi>d</mi><msub><mi>il</mi><mn>1</mn></msub></msub><mo>></mo><msub><mi>d</mi><msub><mi>il</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000565676590000011.GIF" wi="871" he="270" /></maths>其中,l<sub>1</sub>,l<sub>2</sub>∈l,l<sub>1</sub>≠l<sub>2</sub>,<img file="FDA0000565676590000013.GIF" wi="67" he="71" />表示灰度级l<sub>1</sub>到聚类中心V<sub>i</sub>的距离,<img file="FDA0000565676590000012.GIF" wi="73" he="76" />表示灰度级l<sub>2</sub>到聚类中心V<sub>i</sub>的距离,i=0,...,n‑1,n为聚类类别数,<img file="FDA0000565676590000014.GIF" wi="180" he="70" />表示灰度级l<sub>1</sub>到聚类中心V<sub>i</sub>的距离小于灰度级l<sub>2</sub>到聚类中心V<sub>i</sub>的距离,HL(l<sub>1</sub>)表示第l<sub>1</sub>个灰度级的像素点总数;(6)根据步骤(5)中md<sub>il</sub>的值,将每个灰度级分配到离其距离最近的聚类中心的类别中,即选取md<sub>il</sub>的最小值min(md<sub>il</sub>),i=0,...,n‑1,将灰度级l归于V<sub>i</sub>类,其中V<sub>i</sub>是图像的第i类聚类中心,n为聚类类别数;(7)更新第i类聚类中心为以下值:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><msub><mi>V</mi><mi>i</mi></msub><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mfrac><mn>1</mn><msub><mi>n</mi><mi>i</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>n</mi><mi>i</mi></msub></mrow></munder><msub><mi>v</mi><mi>j</mi></msub></mrow>]]></math><img file="FDA0000565676590000021.GIF" wi="340" he="164" /></maths>其中,j∈n<sub>i</sub>,n<sub>i</sub>是图像聚类中第i类的像素点总数,V<sub>i</sub>是图像的第i类聚类中心,v<sub>j</sub>是第i类中第j个像素点,V<sub>i</sub><sup>t+1</sup>表示第t+1代的第i类聚类中心,t表示循环代数,t的取值范围为1‑19;(8)判断是否达到设定的循环结束条件,如果达到循环结束条件,则聚类结束,并输出聚类结果,完成图像G的分割,否则返回步骤(3)进行下一次循环。
地址 710071 陕西省西安市太白南路2号