1 简介
对图像进行颜色区域分割.将图像转换到CIE L*a*b颜色空间,用K均值聚类分析算法对描述颜色的a*和b*通道进行聚类分析;通过提取各个颜色区域独立成为单色的新图像,对图像进行分割处理.实验结果表明,在CIE L*a*b空间使用K—means聚类算法可以有效地分割彩色纺织品图像的颜色区域.
kmeans聚类算法是一种简单实用的聚类算法,matlab自带函数kmeans可直接对数据进行kmeans聚类。为了方便更好地掌握kmeans聚类算法,今天我们自己来实现一个弱化的版本mykmeans。
mykmeans输入包含三项,分别为聚类所使用的数据data,data每一行代表一个样本,每一列代表一个特征;聚类中心数量numclass;第三项为所使用的距离的定义,默认情况下为欧式距离。
2 部分代码
clc close all I=imread('football.jpg'); subplot(2,3,1) imshow(I) title('原始图像') for i=2:6 F=imkmeans(I,i); subplot(2,3,i); imshow(F,[]); title(['聚类个数=',num2str(i)]) end
3 仿真结果
4 参考文献
[1]李鹏飞, 张宏伟. 基于K-means聚类的纺织品印花图像区域分割[J]. 西安工程大学学报, 2008, 22(5):551-554.