matlab模糊聚类算法进行图像分割的源程序.doc

上传人:b****9 文档编号:141064 上传时间:2022-10-04 格式:DOC 页数:4 大小:42KB
下载 相关 举报
matlab模糊聚类算法进行图像分割的源程序.doc_第1页
第1页 / 共4页
matlab模糊聚类算法进行图像分割的源程序.doc_第2页
第2页 / 共4页
matlab模糊聚类算法进行图像分割的源程序.doc_第3页
第3页 / 共4页
matlab模糊聚类算法进行图像分割的源程序.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

matlab模糊聚类算法进行图像分割的源程序.doc

《matlab模糊聚类算法进行图像分割的源程序.doc》由会员分享,可在线阅读,更多相关《matlab模糊聚类算法进行图像分割的源程序.doc(4页珍藏版)》请在冰豆网上搜索。

matlab模糊聚类算法进行图像分割的源程序.doc

%%%%%%%%%%%%%%%模糊聚类%%%%%%%%%%%%%%%%%%%%%%%

clear;

loadF:

\从0开始\数据\data.txt;

INPUTDATA=data;

%--------原始数据标准化-------%

disp('请选择原始数据标准化方式:

');

disp('<1-总和标准化|2-标准差标准化|3-极大值标准化|4-极差标准化>');

wayforstand=input('请输入:

');

switchwayforstand

case1,

DATAFORCLUS=standard_use_sum(INPUTDATA);

case2,

DATAFORCLUS=standard_use_std(INPUTDATA);

case3,

DATAFORCLUS=standard_use_max(INPUTDATA);

case4,

DATAFORCLUS=standard_use_jc(INPUTDATA);

otherwise

error('您的输入不符合要求->执行结束!

!

!

');

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基于模糊等价关系的模糊聚类%%%%%%%%%%%%%%%%%%%%%%

%----------构造相似关系-----------%

numrows=size(DATAFORCLUS,1);

numcols=size(DATAFORCLUS,2);

disp('请选择对象之间相似性统计量的方式:

');

disp('<1-相关系数法|2-夹角余弦法|3-指数相似系数法|4-绝对值指数法|5-算术平均最小法|6-最大最小值法|7-绝对值差数法|8-数量积法>');

wayforr_ij=input('请输入:

');

switchwayforr_ij

case1,%-----------------------------------相关系数法

fori=1:

numrows,

forj=1:

numrows,

meani=mean(DATAFORCLUS(i,:

));meanj=mean(DATAFORCLUS(j,:

));

simiR(i,j)=sum((DATAFORCLUS(i,:

)-meani).*(DATAFORCLUS(j,:

)-meanj))/...

(sqrt(sum((DATAFORCLUS(i,:

)-meani).^2))*sqrt(sum((DATAFORCLUS(j,:

)-meanj).^2)));

end

end

case2,%-----------------------------------夹角余弦法

fori=1:

numrows,

forj=1:

numrows,

simiR(i,j)=sum(DATAFORCLUS(i,:

).*DATAFORCLUS(j,:

))/...

(sqrt(sum(DATAFORCLUS(i,:

).*DATAFORCLUS(i,:

)))*sqrt(sum(DATAFORCLUS(j,:

).*DATAFORCLUS(j,:

))));

end

end

case3,%-----------------------------------指数相似系数法

case4,%-----------------------------------绝对值指数法

case5,%-----------------------------------算术平均最小法

case6,%-----------------------------------最大最小值法

case7,%-----------------------------------绝对值差数法

case8,%-----------------------------------数量积法

otherwise

error('您的输入不符合要求->执行结束!

!

!

');

end

%-------改造成等价关系----------%

sign=0;

numselfmul=1;

simiRk=eye(numrows);

equi_tem=simiR;

whilesign==0,

fori=1:

numrows,

forj=1:

numrows,

forc=1:

numrows,

rij_temp(c)=min([equi_tem(i,c)equi_tem(c,j)]);

end

simiRk(i,j)=max(rij_temp);

end

end

%--------------%

ifsum(sum(simiRk-equi_tem,1))~=0,

numselfmul=numselfmul+1;

equi_tem=simiRk;

else

sign=1;

break

end

%--------------%

end

ifsign==1,

disp('从相似矩阵到等价矩阵改造成功!

!

!

');

else

disp('从相似矩阵到等价矩阵改造失败!

!

!

');

end

equiR=simiRk;

numclass=input('请输入聚类数:

');

%---------在不同的截集水平进行聚类--------------%

clasc=0;

comp_vec(1,1:

numrows)=0;

index=0;

clasc=0;

tip=0;

alpha=0;

temnumeachclass=0;

while(tip==0),

%alpha=input('请输入进行分类的截集水平λ:

');

%alpha=0.5;%调试

if(alpha<0||alpha>1),

error('您输入的截集水平λ不符合分类要求->执行结束!

!

!

');

end

comp_arr=ones(numrows)*alpha;

result_arr=(equiR>=comp_arr);%--------------------result_arr判断矩阵

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%捡菜算法

fori=1:

numrows,

ifsum(comp_vec(1,:

)==result_arr(i,:

))

temnumeachclass=0;

%numeachclass(clasc)=index-temnumeachclass;

temsave=result_arr(i,:

);

forj=1:

numrows,

ifsum(result_arr(j,:

)==temsave)==numrows,

index=index+1;

class(index)=j;

result_arr(j,:

)=0;%--------------------说明已经被归类

temnumeachclass=temnumeachclass+1;

end

end

clasc=clasc+1;

nec(clasc)=temnumeachclass;

else

continue;

end

end

ifclasc>=numclass,

tip=1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%当模糊分类的数目小于等于所给出的类数时退出循环体

disp('成功!

!

!

');

else

clearclass;

clearnumeachclass;

clearnec;

clasc=0;

index=0;

temnumeachclass=0;

alpha=alpha+0.01;

end

end

%----取聚类结果----%

num=0;

n=0;

fori=1:

clasc,

forj=1:

nec(i),

num=num+1;

n=n+1;

CLUS(n,:

)=INPUTDATA(class(num),:

);

end

n=n+1;

CLUS(n,:

)=inf;

end

%formatsingle(CLUS)

lenexport=size(CLUS,1);

fori=1:

lenexport,

RESULT(i,:

)=sprintf('%15.2f',CLUS(i,:

));

end

RESULT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1