• 大小: 13KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: 图像分割  

资源简介

matlab7.1写的K均值聚类方法分割图像的程序。

资源截图

代码片段和文件信息

clear
clc
 time=cputime;
pic=imread(‘brain.bmp‘);
size_pic=size(pic);
pic_double=double(pic);
v=[1234];
label=1;
turn=0;
 while label==1
    turn=turn+1;
    label=0;
    v_back=v;
n=zeros(14);
c=zeros(14);
for i=1:size_pic(11)
    for j=1:size_pic(12)
        if pic_double(ij)>=(v(4)+v(3))/2
            n(4)=n(4)+1;
            c(4)=c(4)+pic_double(ij);
        end
        if pic_double(ij)>=(v(3)+v(2))/2&pic_double(ij)<(v(4)+v(3))/2
            n(3)=n(3)+1;
            c(3)=c(3)+pic_double(ij);
        end
         if pic_double(ij)>=(v(2)+v(1))/2&pic_double(ij)<(v(3)+v(2))/2
            n(2)=n(2)+1;
            c(2)=c(2)+pic_double(ij);
         end
        if pic_double(ij)<(v(2)+v(1))/2
            n(1)=n(1)+1;
            c(1)=c(1)+pic_double(ij);
        end
    end
end
for i=1:4
    if n(i)>0
    v(i)=c(i)/n(i);
    end
end
   for i=1:4
        if abs(v(i)-v_back(i))>0.00001%%%%%%%%%%设置收敛门限
            label=1;
        end
   end
 end
v=sort(v);
time=cputime-time;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%kohonen程序结束,以下为用于显示的程序部分
w1=zeros(size_pic(11)size_pic(12));
w2=zeros(size_pic(11)size_pic(12));
w3=zeros(size_pic(11)size_pic(12));
w4=zeros(size_pic(11)size_pic(12));
for j=1:size_pic(11)
    for t=1:size_pic(12)
        if pic_double(jt)>=10
            w4(jt)=1;
        end
    end
end
w4=bwmorph(w4‘erode‘);
w4=bwmorph(w4‘dilate‘);
for j=1:size_pic(11)
    for t=1:size_pic(12)
        if pic_double(jt)>=(v(13)+v(14))/2
            w1(jt)=255;
        end
        if pic_double(jt)<(v(13)+v(14))/2&pic_double(jt)>=(v(12)+v(13))/2
            w2(jt)=255;
        end
        if pic_double(jt)<(v(12)+v(13))/2&pic_double(jt)>=(v(11)+v(12))/2
            w3(jt)=255;
        end
        if pic_double(jt)<=(v(11)+v(12))/2&w4(jt)==1
            w3(jt)=255;
        end
    end
end
wm=w1;
gm=w2;
csf=w3;
subplot(221);
imshow(pic);
subplot(222);
imshow(gm);
subplot(223);
imshow(wm);
subplot(224);
imshow(csf);            
            

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      66614  2007-07-03 23:16  brain.bmp

     文件       2146  2009-12-01 15:14  KM.m

----------- ---------  ---------- -----  ----

                68760                    2


评论

共有 条评论