• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Matlab
  • 标签: kmean  matlab  

资源简介

Kmean matlab 中心聚类 基于lab图像空间

资源截图

代码片段和文件信息

%filename和k为参数,对应文件名和聚类类别数目
clc;
clear;
filename=‘flower.bmp‘;
fr=imread(filename);
cform=makecform(‘srgb2lab‘);
fl=applycform(frcform); 
%以上读取并将彩色图像由RGB空间转换到Lab空间

[MNK]=size(fl);
I=reshape(flM*NK);       %转换图像为一系列矢量
fab=I(:2:3);              %提取ab分量信息
%imshow(fr);


k=3;                        %指定预计聚类数目
n=M*N;
x=double(fab);              %对图像ab空间数据进行转换

ind = ceil(n*rand(1k));    %随机选取聚类中心
nc = x(ind:);              %nc记录初始聚类中心和重心
cid = zeros(n1);
oldcid = ones(n1);         %两个矩阵记录各点所属类别
nr = zeros(1k);            %nr记录类别的点的数目
maxiter = 500;              %最大迭代次数
iter = 1;

%以下kmean聚类过程
while ~isequal(cidoldcid) & iter < maxiter       %聚类结束条件
    oldcid=cid;
    for i = 1:n        
        dist = sum((repmat(x(i:)k1)-nc).^22); %欧式距离计算
        [mind] = min(dist);         

评论

共有 条评论