以遥感图像分类为例

随机生成k个聚类中心点

聚类算法的第一步,随机生成k个聚类中心点,作为初始中心点。

遥感图像中,可以选取前k个像素作为初始均值向量(中心点)。

获得初始聚类结果

遍历图像的所有像素,对像素分别计算上述k个中心点的欧式距离,并取最小的值,将这个像素放入该中心点的簇中。

n维欧式距离:i=1n(xi1xi2)2\sqrt{\sum\limits_{i=1}^n(x_{i1}-x_{i2})^2}

更新聚类中心点

此时对k个聚类,分别遍历聚类内的像素点,并取均值向量赋值给之前的均值向量(中心点)。此时,聚类中心点完成了一次更新。

迭代

对上述步骤进行循环,直到像元的变化率(即k个聚类中,各自所属像元的变化比率)小于设定值,或迭代次数达到设定值。K-Means聚类结束,输出该图像。