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

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

说明

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

结果展示

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

——第一组——

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

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

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

——第二组——

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

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

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

结果小结

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

关键点分析

keyValueList

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

迭代过程

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

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

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

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

代码(需下载)

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值