首页 > 行业资讯 > 【聚类分割】基于 K-means 聚类算法实现图像区域分割附matlab代码

【聚类分割】基于 K-means 聚类算法实现图像区域分割附matlab代码

时间:2022-07-16 来源: 浏览:

【聚类分割】基于 K-means 聚类算法实现图像区域分割附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集

1 简介

对图像进行颜色区域分割.将图像转换到CIE L a b颜色空间,用K均值聚类分析算法对描述颜色的a 和b 通道进行聚类分析;通过提取各个颜色区域独立成为单色的新图像,对图像进行分割处理.实验结果表明,在CIE L a b空间使用K—means聚类算法可以有效地分割彩色纺织品图像的颜色区域.

2 完整代码

clear all; close all; clc; A = double(imread( ’bird_small.tiff’ ));% 载入图片 dim = size(A, 1 ); % 图片行数 k = 16 ; % 颜色分类的层数 means = zeros(k, 3 ); % Initialize means to randomly-selected colors in the original photo. rand_x = ceil(dim*rand(k, 1 ));%初始means是k行k列随机数作为聚类中心 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(k, 3 ); s_ind=zeros(k, 1 ); for i= 1 :dim for j= 1 :dim r=A(i,j, 1 );g=A(i,j, 2 );b=A(i,j, 3 ); [val ind]=min(sum((repmat([r,g,b],k, 1 )-means).^ 2 , 2 )); %repmat(A,k, 1 )对A矩阵进行k行的复制 s_x(ind, : )=s_x(ind, : )+[r,g,b]; 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).^ 2 , 2 )));%计算距离 if d< 1 e- 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 large_image = double(imread( ’bird_large.tiff’ )); figure;subplot( 121 );imshow(A,[]);title( ’原图’ ) large_dim = size(large_image, 1 ); for i = 1 :large_dim for j = 1 :large_dim r = large_image(i,j, 1 ); g = large_image(i,j, 2 ); b = large_image(i,j, 3 ); [val ind]=min(sum((repmat([r,g,b],k, 1 )-means).^ 2 , 2 )); large_image(i,j, : ) = means(ind, : ); end end subplot( 122 );imshow(uint8(round(large_image)));title( ’Kmean分割图’ ) imwrite(uint8(round(large_image)), ’bird_kmeans.jpg’ );% Save image

3 仿真结果

4 参考文献

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

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐