小项目(聚类) 图像聚类(附Python代码链接)

版权声明:——转载请留言询问—— https://blog.csdn.net/weixin_44344462/article/details/88169565

由于目前手头处理的事情与图像处理相关,自然少不了滤波分割插值等等。这里所做的图像聚类属于一种无监督的图像像素分类,有学习价值。

说明

本次实践针对灰度图像来处理,彩色图像的处理思路与其相同,只是需要分不同的通道,代码大部分参数采用键盘输入,方便调试。

结果展示

先来看看结果,直观感受一下聚类的“魅力”。

——第一组——

下图为迭代周期 = 20, 分类数 = 8的结果
在这里插入图片描述

下图为迭代周期 = 20, 分类数 = 4的结果
在这里插入图片描述

下图为迭代周期 = 20, 分类数 = 2的结果
在这里插入图片描述

——第二组——

下图为迭代周期 = 20, 分类数 = 8的结果
在这里插入图片描述

下图为迭代周期 = 20, 分类数 = 4的结果
在这里插入图片描述

下图为迭代周期 = 20, 分类数 = 2的结果
在这里插入图片描述

结果小结

怎么样,看到聚类的结果,有没有迸发出一点新的想法?

关键点分析

keyValueList

keyValueList为一个长度为分类数的存储空间,其元素从低到高代表了图像像素各个类平均值

迭代过程

  1. 聚类的迭代过程就是遍历每个像素点,并且将每个像素点分别与keyValueList的每个元素做,这个的绝对值越小,说明该像素点离该类越近。遂将该元素归到离其最近的类。

  2. 遍历完所有的像素点后,对每一类的像素点求其平均值,并以该值更新对应的keyValueList中的元素,并完成一轮迭代。

  3. 最终会获得一个与原图大小相同的flag矩阵,矩阵的每个元素对应原图中像素所在类别。

  4. 将该flag矩阵输出,则得到聚类得到的分类结果。

代码(需下载)

这里将代码挂到下载区,并附链接图像聚类Python代码

猜你喜欢

转载自blog.csdn.net/weixin_44344462/article/details/88169565
今日推荐