tghk.net
当前位置:首页>>关于基于k-means的图像分割MATLAB程序的资料>>

基于k-means的图像分割MATLAB程序

function [mu,mask]=kmeans(ima,k)%k为指定类别数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % kmeans image segmentation % % Input: % ima: grey color image灰度图像 % k: Number of classes指定的图像中类别数目 % ...

[IDX,C,sumd] = kmeans(X,k) 其中X是只含数字部分的矩阵。k是要聚集的类数。

哥们和我做的题目一样呀。。

Kmeans算法在matlab中有现成的。 在matlab命令行中输入 >> open kmeans 即可打开kmeans算法的源程序。 用命令 >> help kmeans 可以查看 kmeans的用法。

function [ labels ] = kmeans_clustering( data, k ) [num,~]=size(data); ind = randperm(num); ind = ind(1:k); centers = data(ind,:); d=inf; labels = nan(num,1); while d>0 labels0 = labels; dist = pdist2(data, centers); [~,labels]...

% 可能是聚类后的图像数据不匹配,用如下代码试试 iidx = uint8(iidx);level = graythresh(iidx);imageout = im2bw(iidx,level);imshow(imageout);

%随机获取100个点 X =[randn(100,2)+ones(100,2);randn(100,2)+[ones(100,1),-ones(100,1)]]; opts =statset('Display','final'); %调用Kmeans函数 %X N*P的数据矩阵 %Idx N*1的向量,存储的是每个点的聚类标号 %Ctrs K*P的矩阵,存储的是K个聚类...

function [ labels ] = kmeans_clustering( data, k ) [num,~]=size(data); ind = randperm(num); ind = ind(1:k); centers = data(ind,:); d=inf; labels = nan(num,1); while d>0 labels0 = labels; dist = pdist2(data, centers); [~,labels]

首先给出原始数据{x1,x2,...,xn},这些数据没有被标记的。 初始化k个随机数据u1,u2,...,uk。这些xn和uk都是向量。 根据下面两个公式迭代就能求出最终所有的u,这些u就是最终所有类的中心位置。 公式一: 意思就是求出所有数据和初始化的随机数据..

网站首页 | 网站地图
All rights reserved Powered by www.tghk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com