Python软件设计基础 第七节-Scipy-kmeans聚类色彩提取

本文介绍了使用Scipy的kmeans聚类算法进行色彩提取的基本概念和代码示例,详细展示了如何结合PIL库对图片进行色彩分析和聚类操作。此外,还探讨了如何将聚类结果应用于Flask网页样式的设计,通过实例代码展示其实现过程。
摘要由CSDN通过智能技术生成

目录

一、Scipy聚类kmeans概述 

(一)基本概念

(二)聚类代码示例

二、聚类色彩提取实例

(一)PIL提取色彩

(二)对图片进行聚类

(三)对色彩聚类

三、聚类+Flask

(一)定义网页样式

(二)聚类程序代码实现


一、Scipy聚类kmeans概述 

(一)基本概念

聚类是将数据集分为由相似数据点组成的组的过程,即将数据分割成指定数量的几个类,以便于揭示数据的内在性质及规律。其中,聚类分为中央聚类和层次结构聚类两种类型。

k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,将距离相近的元素划分为一类,进而实现分组。

Scipy提供了用于K均值聚类,从k均值模型生成码本以及通过将它们与码本中的质心进行比较来量化向量的功能。

(二)聚类代码示例

选取一组数据,对其进行聚类分析。

具体代码如下 :

import numpy as np
from scipy.cluster.vq import vq, kmeans, whiten
import matplotlib.pyplot as plt
#导入第三方库

fe = np.array([[1.9,2.0],
                     [1.7,2.5],
                     [1.6,3.1],
                     [0.1,0.1],
                     [0.8,0.3],
                     [0.4,0.3],
                     [0.22,0.1],
                     [0.4, 0.3],
                     [0.4,0.5],
                     [1.8,1.9]])
#定义待聚类变量集

book = np.array((fe[0], fe[1]))
print(type(book))
print("book: \n",book)

codebook, distortion = kmeans(fe, book)
print("codebook:", codebook)
print("distortion: ", distortion)

plt.scatter(fe[:,0], fe[:,1], c='g')
plt.scatter(codebook[:, 0], codebook[:, 1], c='r')
plt.show()
#将聚类结果显示在坐标系内

结果为:

 其中,红色为聚类中心。

二、聚类色彩提取实例

(一)PIL提取色彩

本代码利用PIL对图片进行色彩提取,并将色彩出现频率进行排序,输出特定序列的颜色。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值