Scipy-kmeans聚类

本文介绍了如何使用Scipy库实现K-means聚类算法,包括聚类的基本原理和示例。接着,文章展示了如何将K-means应用于图像色彩聚类,并通过PIL库处理图像。最后,作者将色彩聚类的功能整合进Flask网页,用户可以点击分镜头图像查看对应的聚类色彩效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、聚类分析

1、基本原理:

2、示例

二、图像色彩聚类

三、 将色彩提取体现在Flask网页中


一、聚类分析

1、基本原理:

(1)根据K个中心将数据集按到中心值距离分簇

(2)将已分的数据集,根据平均向量再确定中心值

(3)重复1、2步骤,直至中心值不再移动(每次的差值与上次相同)

来源:scipy实现k-means算法_昆兰.沃斯 的博客-优快云博客_scipy实现kmeans聚类

2、示例

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)
# 可以写kmeans(wf,2), 2表示两个质心,同时启用iter参数
print("codebook:", codebook)
print("distortion: ", distortion)

plt.scatter(fe[:,0], fe[:,1], c='g')
plt.scatter(codebook[:, 0], codebook[:, 1], c='r')
plt.show()

运行结果:红色为聚类中心

二、图像色彩聚类

(1)用PIL生成小尺寸的图片,用resize或者thumbnail(缩略图)聚类 

(2)取出图像的色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值