【问题标题】:Applying k-means on histopathological images using matlab使用 matlab 在组织病理学图像上应用 k-means
【发布时间】:2012-08-28 07:15:10
【问题描述】:

我在组织病理学医学图像上应用 k-means 聚类算法将像素分类。应用 k-means 时一切正常,但我有一个小问题:多次运行 k-means 函数(在 matlab 中可用)时,图像像素每次都以不同的颜色出现。多次应用k-means函数可以使像素的颜色相同吗?

毕业生,

萨法

【问题讨论】:

  • 您是否像在example for kmeans 中那样明确调用plot?请注意在该示例中使用'r.''b.' 设置颜色。
  • 实际上我关心的是在图像本身上应用 kmeans 时像素的颜色,而不是绘制数据时的颜色。我在组织图像上应用以下函数:[cluster_idx cluster_center] = kmeans (double_image,nColors,'distance','sqEuclidean','Replicates',3);

标签: cluster-analysis k-means


【解决方案1】:

我从来没有用 Matlab 做这个功能。但我认为 Kmeans 聚类结果是基于其初始中心点的选择。所以也许,Matlab 函数随机选择 K 个初始像素,这可能解释了你每次得到不同的结果。

【讨论】:

    【解决方案2】:

    k-means 是一种随机算法。每次运行都会返回不同的结果。但对于其他聚类算法,您还需要找到聚类与您的预期含义(例如颜色)的映射。

    您可以通过修复随机生成器或手动选择初始方式来作弊(我不使用 Matlab,但我猜它确实支持这种或另一种方式)。然后结果会更稳定,但仍不一定在图像之间具有可比性。

    【讨论】:

      【解决方案3】:

      Matlab kmeans 函数有一个名为 start 的参数,你可以用它来定义你的起始种子。

      start ,用于选择初始聚类质心位置的方法,有时称为种子。

      根据文档,其默认值为

      'sample' 从 X 中随机选择 k 个观测值(默认)。

      您还有其他选项,但只有矩阵选项是非随机的。在这种情况下,您需要定义一个矩阵 质心起始位置的 k×p 矩阵。

      请参阅下面的示例,该示例取自 matlab 文档并在此处进行了修改。

      X = [randn(100,2)+ones(100,2);...
           randn(100,2)-ones(100,2)];
      opts = statset('Display','final');
      
      k = 2;
      startPositions = [0.01 0.01 ; -0.01 -0.01];
      
      [idx,ctrs] = kmeans(X,k,...
                          'Distance','city',...
                          'Options',opts,...
                          'Start',startPositions ...
                      );
      
      plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
      hold on
      plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
      plot(ctrs(:,1),ctrs(:,2),'kx',...
           'MarkerSize',12,'LineWidth',2)
      plot(ctrs(:,1),ctrs(:,2),'ko',...
           'MarkerSize',12,'LineWidth',2)
      legend('Cluster 1','Cluster 2','Centroids',...
             'Location','NW')
      

      请注意,由于数据本身是随机的,因此聚类中心似乎发生了变化。 如果将数据更改为 static ,集群中心也将是静态的。

      【讨论】:

      • 非常感谢您的帮助,但此代码是否适用于我的问题中描述的图像?
      • 此代码用于二维矩阵。您的图像是二维矩阵。它应该适用。
      猜你喜欢
      • 2011-09-29
      • 2013-06-23
      • 2012-09-10
      • 2018-05-12
      • 2012-10-26
      • 2019-03-16
      • 1970-01-01
      • 2017-05-29
      • 2016-01-21
      相关资源
      最近更新 更多