【实例简介】
基于MATLAB彩色图像分割,采用聚类算法,MATLAB工具
(1)利用RGB空间到LAB空间转换公式(1)-(9);
五· Kmean的聚类算法步骤:
(1)读入图像数据,把彩包图像从RGB颜色空间转化到Lab空间。L表示亮度层
色度a表示图像像素落λred-gren轴,色度b*表示图像像素落入bue-ye1low
轴
(2)根据图像颜色分布选取聚类数目p,山于一般图像的主颜色有3-4个,所以选取
k=3
(3)假设图像像素个数为m*n,任取聚类中心C;(i=1,…,3)分别为像素最大值、
最小值、(最大值+最小值)、2,并将图像像素X(jm*n)按照最小距离准则分配
给任个聚类中心,使其满足下式
nix -clb
(4)按照下式修正聚类中心的值,式中q1(i=L,…,3)为某类像素的个数
∑x;ED1X
q
(5)将图像中的全部像素按照新的中心重新聚类,重复(3)(4)直至聚类结果不再
变化
(6)用3种不同颜色标记像素所属类别,牛成颜色聚类索引图
(7)从颜色聚类索引图中选出某一类,将原图像中该类以外其它位置设为0,这样得
到3幅区域分割图像;
8)合并区域分割图与显著图SM。若区域分割图最大程度包含了图像的显著点,则
对该分割图进行目标轮廓提取、膨胀、腐蚀和区域填充等运算形成感兴趣区标记
图,寻找标记图中值为0的像素点,将其在原图中的r、g、b值设为0,从而提
取图像的感兴趣区。
六·改进 Kmean的聚类算法步骤
图像分块理论:凵知图像大小为(320*213,3维),因此图像分块为【行320=16*20,列
(213=3*71)】分块大小为20*71,有3*16-48块。对分块后的图像进行 Kmean运算,计算
方法与上述方法一致,只是图像大小改变
七·实验程序流程图与实验代码:见附录一
开始
开始
读图
提取R、G、B分量
读图
KG空间转换为LAB空间
图傻分块
[燙取a分量组成新短阼A
聚类中心
对每块图像进行RGB
空间转换为LAB空间
设定初始误差上限
迭代次数上限
进行K均伯运算没有达到
对每决图像进行K
均值聚类计算
是否达到迭代次数上限
护接分块图像
计算迭代误差
误差不满足条件
图像边缘处理
选出原图属于同一类的
像素点,将其它点置1/0
显示结果
显示结果