function [mu,mask]=kmeans(ima,k)
% 功能:运用k-means算法对图像进行分割
% 输入: ima-输入的灰度图像 k-分类数
% 输出: mu-均值类向量 mask-分类后的图像
ima=double(ima);
copy=ima;
ima=ima(:);
mi=min(ima);
ima=ima-mi+1;
s=length(ima);
% 计算图像灰度直方图
m=max(ima)+1;
h=zeros(1,m);
hc=zeros(1,m);
for i=1:s
if(ima(i)>0) h(ima(i))=h(ima(i))+1;end;
end
ind=find(h);
hl=length(ind);
% 初始化质心
mu=(1:k)*m/(k+1);
% start process
while(true)
oldmu=mu;
% 现有的分类
for i=1:hl
c=abs(ind(i)-mu);
cc=find(c==min(c));
hc(ind(i))=cc(1);
end
%重新计算均值
for i=1:k,
a=find(hc==i);
mu(i)=sum(a.*h(a))/sum(h(a));
end
if(mu==oldmu) break;end;
end
% calculate mask
s=size(copy);
mask=zeros(s);
for i=1:s(1),
for j=1:s(2),
c=abs(copy(i,j)-mu);
a=find(c==min(c));
mask(i,j)=a(1);
end
end
mu=mu+mi-1;

qq_41268867
- 粉丝: 0
最新资源
- 《数据结构—用c语言描述》课后习题答案.doc
- 机械设计制造及其自动化考试试题.doc
- 2022年小学教育信息化设备使用管理情况自查自纠报告-.doc
- 策论电力系统中电气自动化技术的应用.docx
- 关于对目前通信工程建设存在的问题及对策研究.docx
- 项目10单片机LCD液晶显示器实验讲义资料.ppt
- 轴套类零件数控加工工艺及编程设计.doc
- 南开大学2021年9月《Python编程基础》作业考核试题及答案参考19.docx
- 大数据时代开展电力物资供应链全流程风险管控策略.docx
- 基于PLC的机械手控制系统设计.doc
- Live2D-View软件的使用教程 PPT.ppt
- 基于随机Petri网的Web网站系统的脆弱性评价研究的开题报告.docx
- 教育信息化发展与趋势分析V0 PPT.ppt
- 计算机网络实验之Ping程序的设计与实现.doc
- 基于文本的Web图像检索技术研究的开题报告.docx
- 电子商务对国际贸易的影响和对策分析.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



- 1
- 2
前往页