当前位置 : 主页 > 编程语言 > python >

【图像压缩】基于Kmean实现图像压缩附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 Kmeans算法的工作过程如下:首先从n个数据对象任意选择K个对象作为初始聚类中心,而对所剩下的其他对象,则根据他们与这些聚类中心的相似度,分别将他们分配给与其最相似


1 简介

Kmeans算法的工作过程如下: 首先从n个数据对象任意选择K个对象 作为初始聚类中心,而对所剩下的其 他对象,则根据他们与这些聚类中心 的相似度,分别将他们分配给与其最 相似的聚类。然后,再计算每个所获 新聚类中心,不断重复这一过程直到 标准测度函数开始收敛为止。一般都 采用均方差作为标准测度函数,具体 定义如下:

【图像压缩】基于Kmean实现图像压缩附matlab代码_数据

【图像压缩】基于Kmean实现图像压缩附matlab代码_聚类_02编辑

2 部分代码

function idx = findClosestCentroids(X, centroids)
% findClosestCentroids computes the closest centroid for each point based
% on the Euclidean distance between the point and the centroid
% Initialize variables
K = size(centroids, 1);
idx = zeros(size(X,1), 1); % returns index of closest centroid
for i=1:size(X,1)
temp = X(i,:);
[~,idx(i,1)] = min(sum(((bsxfun(@minus,temp,centroids)).^2),2));
end

3 仿真结果

【图像压缩】基于Kmean实现图像压缩附matlab代码_聚类_03

【图像压缩】基于Kmean实现图像压缩附matlab代码_d3_04编辑

4 参考文献

[1]王梦珍, 刘立, 王建,等. 基于Kmean和ELM的乳腺肿块检测方法[J]. 计算机工程与应用, 2015, 51(12):171-175.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


网友评论