我试图使用k-means算法进行图像分割任务。问题是我的程序无法分割图像。您能帮我找出代码中的错误吗?
实际上,我已经将聚类数量固定为32。我使用了以下数据结构:
-
三个数组bleu、vert、rouge用于存储每个像素的RGB值
-
三个数组cluster_bleu、cluster_rouge、cluster_vert用于存储每个聚类的RGB值
-
groupe[i,0]=k 将每个像素i映射到聚类k
回答:
问题出在赋值oldGroupe=groupe;
上,这不是复制数组,而是创建了一个不同名称的引用(oldGroupe
),它指向与groupe
相同的数据。因此,当您更改groupe
时,也会更改oldGroupe
,而condition
总是为真。
您需要的是使用oldGroupe = numpy.copy(groupe)
来创建groupe
数据的副本。