资源简介

利用matlab编写的K均值图像分类程序

资源截图

代码片段和文件信息

function [ Result ] = K_means( Kthreshold )
% 此函数用于K-means图像分类
% K为待分类图像

[RowColDim]=size(K);
if Dim>1         %如果大于1,就是多波段图像,需要灰度化为单波段图像
    A=rgb2gray(K); 
else
    A=K;         %单波段图像
end
B=double(A);
Result=zeros(RowCol);

n=input(‘请选择类别总数:‘);
for i=1:n
    Cen(i)=min(min(B))+(max(max(B))-min(min(B)))*(i/(n+1));
end

delta=Cen;
while delta>threshold
    sum=zeros(1n);
    count=zeros(1n);
    avg=zeros(1n);
    for i=1:Row
        for j=1:Col
            Min=256;
            for k=1:n
                if abs(Cen(k

评论

共有 条评论