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

资源简介


自编的matlab利用ISODATA算法实现图像分割,交互式取像素点。

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%图像的读入%%%%%%%%%%%%%%%%%%%%%%%%
[filenamepathname]=uigetfile(‘*.bmp‘‘select a picture‘);
 if (filename)
     filename=strcat(pathnamefilename);
     filename=lower(filename);
 else
 msgbox(‘please select a image‘);
 return;
 end
I=imread(filename);
 if (size(I3)==3)
     I=rgb2gray(I);
 end
%%%%%%%%%%%%%%%%%1..样本点为所有的像素点%%%%%%%%%%
%%%%%%%%%%%%%%% 2...聚类中心点的确定%%%%%%%%%%%%%%
      figureimshow(I[])title(‘请选取预期分类数目个聚类中心点--->‘);
      [mn]=size(I);
        k=4;                         % k 用来记录预期聚类的数目这里假定为2
        c=k;                         % c来记录实际分类时的数目
        hold on;
       [pq]=getpts;                 %获取聚类中心,返回去类中心的坐标,p存放第一个坐标点,q存放第二个坐标点(数对)
      J=zeros(13*c);                %?
      for i=1:c
       f=round(q(i));                 %分为c类    J来记录各类的中心像素值...(坐标和像素值)
       d=round(p(i));
       J(i)=I(fd);                    
      end
       %disp(J);
%%%%%%%%%%%%%%%%%3...将样本点分到各个聚类中心去%%%%%%%%%%%%%
max_gen=10;     

评论

共有 条评论