$$k-$$平均聚类算法进行减色处理第一步—-按颜色距离分类.
对imori.jpg
利用 平均聚类算法进行减色处理。
在问题六中涉及到了减色处理,但是在问题六中事先确定了要减少的颜色。这里,平均聚类算法用于动态确定要减少的颜色。
算法如下:
- 从图像中随机选取个分量(这我们称作类别)。
-
将图像中的像素分别分到颜色距离最短的那个类别的索引中去,色彩距离按照下面的方法计算:
-
计算各个索引下像素的颜色的平均值,这个平均值成为新的类别;
- 如果原来的类别和新的类别完全一样的话,算法结束。如果不一样的话,重复步骤2和步骤3;
- 将原图像的各个像素分配到色彩距离最小的那个类别中去。
完成步骤1和步骤2。
- 类别数;
- 使用
reshape((HW, 3))
来改变图像大小之后图像将更容易处理; - 步骤1中,对于
np.random.seed(0)
,使用np.random.choice(np.arrange(图像的HW), 5, replace=False)
; - 现在先不考虑步骤3到步骤5的循环。
python实现:
输入 (imori.jpg) | 输出 |
---|---|
![]() |
![]() |