资源简介
K-means应用于图像处理matlab程序,自动将图像颜色聚类至少数K种
代码片段和文件信息
clear all; close all; clc;
A = double(imread(‘bird_small.tiff‘));% Load small image
% A = double(imread(‘bird_large.tiff‘));% Load large image
dim = size(A1); % number of pixels in picture‘s length/width
k = 16; % number of colors to represent
means = zeros(k 3); % Initialize means to randomly-selected colors in the original photo.
rand_x = ceil(dim*rand(k 1));
rand_y = ceil(dim*rand(k 1));
for i = 1:k
means(i:) = A(rand_x(i) rand_y(i) :);
end
for itr=1:100
s_x=zeros(k3);
s_ind=zeros(k1);
for i=1:dim
for j=1:dim
r=A(ij1);g=A(ij2);b=A(ij3);
[val ind]=min(sum((repmat([rgb]k1)-means).^22));
s_x(ind:)=s_x(ind:)+[rgb];
s_ind(ind)=s_ind(ind)+1;
end
end
for ii=1:k
if s_ind(ii)>0
s_x(ii:)=s_x(ii:)./s_ind(ii);
end
end
d=sum(sqrt(sum((s_x-means).^22)))
if d<1e-5
break
end
means=s_x;
end
means = round(means);
itr
figure; hold on
for i=1:k
col = (1/255).*means(i:);
rectangle(‘Position‘ [i 0 1 1] ‘FaceColor‘ col ‘EdgeColor‘ col);
end
axis off
% Recalculate the big image and display
large_image = double(imread(‘bird_large.tiff‘));
figure;imshow(uint8(round(large_image)));
large_dim = size(large_image 1);
for i = 1:large_dim
for j = 1:large_dim
r = large_image(ij1); g = large_image(ij2); b = large_image(ij3);
[val ind]=min(sum((repmat([rgb]k1)-means).^22));
large_image(ij:) = means(ind:);
end
end
figure;imshow(uint8(round(large_image))); hold off
imwrite(uint8(round(large_image)) ‘bird_kmeans.jpg‘);% Save image
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-13 10:46 K-means图像处理\
文件 868678 2010-12-17 05:43 K-means图像处理\bird_large.tiff
文件 49442 2010-12-17 05:43 K-means图像处理\bird_small.tiff
文件 1720 2015-03-13 10:46 K-means图像处理\kmeans_my.m
相关资源
- 传统关联成像、计算鬼成像matlab
- MATLAB7.x图像处理
- 基于matlab的车牌识别系统论文
- matlab2019运动目标检测--数字图像处理
- 计算图像Spatial Frequence的Matlab程序SF
- 尾灯识别matlab代码
- MATLAB大脑腔体图像分割
- 基于MATLAB人民币识别系统.zip
- 数字图像处理作业canny边缘检测坎尼边
- 数字图像处理 MATLAB 大作业 代码及其
- 遥感影像融合_数字图像处理的matlab程
- 用MATLAB做的基于霍夫曼编码的图像压
- MATLAB图像与视频处理实用案例详解代
- matlab图像压缩感知
- MATLAB 图像处理识别程序
- 数字图像处理使用matlab进行采样量化
- 傅里叶变化频谱图及频域滤波
- MATLAB实现k-svd和mod信号处理
- 图像处理---matlab
- Matlab在图像处理与目标识别方面的应
- matlab数字图像处理之几何变换将图像
- matlab数字图像处理之图像几何变换
- 图像超分辨重建MATLAB源代码迭代步长
- mri去偏场代码
- 数字图像课程设计MATLAB实现简单找茬
- 机器视觉论文基于matlab的间单图像处
- 检索视频中运动的点并计算线速度角
- 数字图像处理空间域图像增强
- 图像压缩编码程序设计
- Retinex in matlab图像增强、HDR图像压缩
评论
共有 条评论