python - python中Kmeans聚类对RGB图像进行图像分割

标签 python image k-means

我想使用 k 均值聚类来分割土地覆盖的 RGB 图像(卫星图像),以图像的不同区域用不同的颜色标记,并且如果可能的话,创建分隔不同区域的边界。

是否可以通过 K-means 聚类来实现这一点? 我一直在互联网上搜索,许多教程都是通过 k 均值聚类来实现的,但只有在将图像转换为灰度之后才进行。我只想用 RGB 图像来实现。有什么来源可以帮助我开始吗? 请提出一些建议。

最佳答案

我想这与 RachJain 无关,但如果将来有人需要: 简单使用 sklearn KMean 算法将得到想要的结果:

from sklearn.cluster import KMeans
pic = np.float64(misc.imread(filepath)/255)
kmeans = KMeans(n_clusters=13, random_state=0).fit(pic)
pic2show = kmeans.cluster_centers_[kmeans.labels_]
plt.imshow(pic2show)

关于python - python中Kmeans聚类对RGB图像进行图像分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31154252/

相关文章:

java - 如何在Java中调整.bmp图像的大小?

image - ffmpeg 中忽略 vframes 选项?

python - 为什么 sklearn KMeans 在拟合后会更改我的数据集?

python - 访问按 KMeans 集群分组的数据的有效方法

python - 如果两个日期时间都存在于 pandas DataFrame 中,则计算两个日期时间之间的差异

python - Pycharm:如何为外部对象类型设置自定义字符串函数(即Type Renderer)?

c++ - 如何在 PyQt 上使用 Qxt 库?

python - Pandas - 删除索引列

php - 从 echo php 调整图像大小

algorithm - K-Medoid (PAM) 算法的缺点