在图

时间:2015-12-07 09:22:08

标签: matlab cluster-analysis k-means figure centroid

我创建了一个我想要能够清晰显示的kmeans集群。我正在尝试为每个簇的indeces添加cenrtoid位置。现在结果是这样的: current cluster

这是一个24576x3大小的矩阵我运行kmeans并重新塑造成128x192矩阵:

ClusterFigure = reshape(kmeans(ClusterData, 12), [128 192]);
imagesc(ClusterFigure);

我希望有一种方法能够舒适地展示这个演示文稿中的cetroids。也许某种符号,每个特定索引的质心都会是什么。有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

考虑到你的blob中的聚类值非常分散,我会质疑聚类质心是否真的相关。

如果你真的想要显示聚类质心,你可能需要手动计算它们,因为kmeans给出的质心假设是1D向量,这不是这里的情况。你想要像

这样的东西
for i=1:no_clusters
[y, x]=find(img==i);
cy(i)=mean(y);
cx(i)=mean(x);
end

为了清晰起见,我只是使用一个小十字架在你的图像上绘制质心,并可能将每一个都用不同的颜色。