91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 106KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-25
  • 語言: 其他
  • 標(biāo)簽: Kmeans++??

資源簡介

Kmeans++算法對圖像進行分割,機器視覺。

資源截圖

代碼片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:演示Kmeans聚類算法在計算機視覺中的應(yīng)用
%實現(xiàn)如何利用Kmeans聚類實現(xiàn)圖像的分割;
%環(huán)境:Win7,Matlab2012b
%Modi:?NUDT-VAP
%時間:2014-10-17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function?kmeans_demo1()
clear;close?all;clc;
%%?讀取測試圖像
im?=?imread(‘city.jpg‘);
imshow(im)?title(‘Iput?image‘);
%%?轉(zhuǎn)換圖像的顏色空間得到樣本
cform?=?makecform(‘srgb2lab‘);
lab?=?applycform(imcform);
ab?=?double(lab(::2:3));
nrows?=?size(lab1);?ncols?=?size(lab2);
X?=?reshape(abnrows*ncols2)‘;
figure?scatter(X(1:)‘X(2:)‘3‘filled‘);??box?on;?%顯示顏色空間轉(zhuǎn)換后的二維樣本空間分布
%print?-dpdf?2D1.pdf
%%?對樣本空間進行Kmeans聚類
k?=?5;?%?聚類個數(shù)
max_iter?=?100;?%最大迭代次數(shù)

[centroids?labels]?=?run_kmeans(X?k?max_iter);?

%%?顯示聚類分割結(jié)果
figure?scatter(X(1:)‘X(2:)‘3labels‘filled‘);?%顯示二維樣本空間聚類效果
hold?on;?scatter(centroids(1:)centroids(2:)60‘r‘‘filled‘)
hold?on;?scatter(centroids(1:)centroids(2:)30‘g‘‘filled‘)
box?on;?hold?off;
%print?-dpdf?2D2.pdf

pixel_labels?=?reshape(labelsnrowsncols);
rgb_labels?=?label2rgb(pixel_labels);
figure?imshow(rgb_labels)?title(‘Segmented?Image‘);
%print?-dpdf?Seg.pdf
end

function?[centroids?labels]?=?run_kmeans(X?k?max_iter)
%?該函數(shù)實現(xiàn)Kmeans聚類
%?輸入?yún)?shù):
%???????????????????X為輸入樣本集,dxN
%???????????????????k為聚類中心個數(shù)
%???????????????????max_iter為kemans聚類的最大迭代的次數(shù)
%?輸出參數(shù):
%???????????????????centroids為聚類中心?dxk
%???????????????????labels為樣本的類別標(biāo)記

%%?采用K-means++算法初始化聚類中心
??centroids?=?X(:1+round(rand*(size(X2)-1)));
??labels?=?ones(1size(X2));
??for?i?=?2:k
????????D?=?X-centroids(:labels);
????????D?=?cumsum(sqrt(dot(DD1)));
????????if?D(end)?==?0?centroids(:i:k)?=?X(:ones(1k-i+1));?return;?end
????????centroids(:i)?=?X(:find(rand?????????[~labels]?=?max(bsxfun(@minus2*real(centroids‘*X)dot(centroidscentroids1).‘));
??end
??
%%?標(biāo)準(zhǔn)Kmeans算法
??for?iter?=?1:max_iter
????????for?i?=?1:k?l?=?labels==i;?centroids(:i)?=?sum(X(:l)2)/sum(l);?end
????????[~labels]?=?max(bsxfun(@minus2*real(centroids‘*X)dot(centroidscentroids1).‘)[]1);
??end
??
end



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2278??2016-07-07?13:29??kmeans_demo1.m
?????文件??????118067??2014-02-12?14:08??city.jpg

評論

共有 條評論

相關(guān)資源