資源簡介
基于Kmeans聚類的圖像分割算法,適合初學(xué)者學(xué)習(xí)。分較少
代碼片段和文件信息
function?[mumask]=kmeans(imak)
%???功能:運用k-means算法對圖像進(jìn)行分割
%???輸入:?ima-輸入的灰度圖像???????????k-分類數(shù)
%???輸出:??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(1m);
hc=zeros(1m);
for?i=1:s
??if(ima(i)>0)?h(ima(i))=h(ima(i))+1;end;
end
ind=find(h);
hl=length(ind);
%?初始化質(zhì)心
mu=(1:k)*m/(k+1);
%?start?process
while(true)
??oldmu=mu;
??%?現(xiàn)有的分類??
??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(co
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????947??2018-03-05?19:55??基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\kmeans.m
?????文件????????138??2018-03-05?20:31??基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\kmeans_1.m
?????文件?????252889??2011-07-03?11:54??基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\xiangrikui.jpg
?????目錄??????????0??2019-06-18?09:26??基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)\基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)
?????目錄??????????0??2019-06-18?09:26??基于K-means聚類算法的圖像分割的MATLAB實現(xiàn)
-----------?---------??----------?-----??----
???????????????253974????????????????????5
評論
共有 條評論