pixels=resized_image.reshape(-1,3)# 使用K-Means算法进行聚类 kmeans=KMeans(n_clusters=16)kmeans.fit(pixels)# 替换颜色 compressed_pixels=kmeans.cluster_centers_[kmeans.labels_]compressed_image=compressed_pixels.reshape(resized_image.shape).astype('uint8')# 保存压缩后的图像 cv2.imwrite('compress...
1.将原来的128x128大小的图片读入到一个3维矩阵A中。举个例子 A(50, 33, 3)表示原图片中rowNum = 50 columnNum = 33 RGB中的B维 所对应的 颜色值(0-255)。这样我们就得到了一个 X = (m x 3)matrix of piexl colors( where m = 128 * 128 = 16384)。 2.运行K-Means算法,取K= 16, 这样...
1、读取一张示例图片和自己准备的图片,观察图片存放数据特点,并根据图片的分辨率,可适当降低分辨率。 #读取图片fromsklearn.datasetsimportload_sample_imagefromsklearn.clusterimportKMeansimportmatplotlib.pyplot as plt china=load_sample_image("china.jpg") plt.imshow(china) plt.show()print(china.shape)#图片...
压缩率:66%,也就是节省了1/3的存储空间 对于网络上色彩斑斓的图片。压缩率有可能不降反增。 其实很多网站的图片已经优化压缩了,能再压缩的空间很小。 自己拍摄的图片,即使保留更多的颜色也能获得较大压缩比: 压缩率:33% 原理: 保留少数量的颜色,取代原图片中的N多颜色 采用聚类方式得到新的颜色种类,用种类中...
用k-means压缩图片 k-means作为无监督学习的聚类算法,可用于确定线性或非线性分布的簇类中心,往往在无标签的样本中能够快速、有效地确定类别。这种聚类算法另一种有意思的应用是图像像素压缩,将上百万像素按照聚类结果压缩至十几像素,在保证图像还原真实性的基础上减少图像存储空间。
k-means聚类 方法/步骤 1 1、创建一个python文件,并导入库文件: import argparse import numpy as np from scipy import misc import matplotlib.pyplot as plt from sklearn import cluster 2 2、创建一个函数,用于解析输入参数。我们需要把图片和每个像素被压缩的 比特数传进去作为输入参数: def ...
kmeans图片压缩算法 kmeans图⽚压缩算法1. ⽤K-means算做图⽚压缩 读取⼀张⽰例图⽚或⾃⼰准备的图⽚,观察图⽚存放数据特点。根据图⽚的分辨率,可适当降低分辨率。再⽤k均值聚类算法,将图⽚中所有的颜⾊值做聚类。然后⽤聚类中⼼的颜⾊代替原来的颜⾊值。形成新的图⽚。观察...
首先介绍一下题图,这个是个小萝莉的照片(如下),每一个点都可以视作是一个三维向量(点?)(RGB三通道图片),那么,使用K-Means算法对这些点进行聚类,我们就很容易得到几个中心点和几类,把同一类的数据点(像素点)用中心点表示就可以得到压缩后的图片,以上分别是把3通道×每通道8bit=24bit的像素点压缩为1bit,2bi...
在第一章中我们主要学习:Numpy,pandas,scipy,matplotlib。有了数据分析的基础,我们学机器学习就不会那么费力了,在机器学习部分,我们主要学习:KNN、线性回归、逻辑斯蒂回归、支持向量机、KMeans、TensorFlow等算法。 该课程被包含在以下专栏中 Python高级教程—机器学习和数据分析 5.0 共121个课时· 1349人已学习 ¥...
在第一章中我们主要学习:Numpy,pandas,scipy,matplotlib。有了数据分析的基础,我们学机器学习就不会那么费力了,在机器学习部分,我们主要学习:KNN、线性回归、逻辑斯蒂回归、支持向量机、KMeans、TensorFlow等算法。 该课程被包含在以下专栏中 Python高级教程—机器学习和数据分析 5.0 共121个课时· 1349人已学习 ¥...