資源簡(jiǎn)介
自編的matlab利用ISODATA算法實(shí)現(xiàn)圖像分割,交互式取像素點(diǎn)。
代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%圖像的讀入%%%%%%%%%%%%%%%%%%%%%%%%
[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..樣本點(diǎn)為所有的像素點(diǎn)%%%%%%%%%%
%%%%%%%%%%%%%%%?2...聚類中心點(diǎn)的確定%%%%%%%%%%%%%%
??????figureimshow(I[])title(‘請(qǐng)選取預(yù)期分類數(shù)目個(gè)聚類中心點(diǎn)--->‘);
??????[mn]=size(I);
????????k=4;?????????????????????????%?k?用來記錄預(yù)期聚類的數(shù)目這里假定為2
????????c=k;?????????????????????????%?c來記錄實(shí)際分類時(shí)的數(shù)目
????????hold?on;
???????[pq]=getpts;?????????????????%獲取聚類中心,返回去類中心的坐標(biāo),p存放第一個(gè)坐標(biāo)點(diǎn),q存放第二個(gè)坐標(biāo)點(diǎn)(數(shù)對(duì))
??????J=zeros(13*c);????????????????%?
??????for?i=1:c
???????f=round(q(i));?????????????????%分為c類????J來記錄各類的中心像素值...(坐標(biāo)和像素值)
???????d=round(p(i));
???????J(i)=I(fd);????????????????????
??????end
???????%disp(J);
%%%%%%%%%%%%%%%%%3...將樣本點(diǎn)分到各個(gè)聚類中心去%%%%%%%%%%%%%
max_gen=10;?????
評(píng)論
共有 條評(píng)論