資源簡介
自編的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;?????
- 上一篇:機械設計桿組法程序(matlab版)
- 下一篇:拉普拉斯金字塔分解matlab源程序
評論
共有 條評論