✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
大量改进的模糊 c 均值 (FCM) 聚类算法已广泛用于灰度和彩色图像分割。然而,由于两个原因,它们中的大多数都是耗时的并且无法为彩色图像提供所需的分割结果。第一个是由于聚类中心和局部相邻窗口内的像素之间的重复距离计算,局部空间信息的结合通常会导致高计算复杂度。另一个是规则的相邻窗口通常会破坏图像的真实局部空间结构,从而导致分割效果不佳。在这项工作中,我们提出了一种基于超像素的快速 FCM 聚类算法,该算法比用于彩色图像分割的最先进的聚类算法明显更快、更稳健。为了获得更好的局部空间邻域,我们首先定义了多尺度形态梯度重建操作,以获得具有精确轮廓的超像素图像。与传统的固定大小和形状的相邻窗口相比,超像素图像提供了更好的自适应和不规则的局部空间邻域,有助于改进彩色图像分割。其次,基于获得的超像素图像,通过计算超像素图像每个区域的像素数,有效地简化了原始彩色图像,并轻松计算出其直方图。最后,我们在超像素图像上使用直方图参数实现 FCM,得到最终的分割结果。
⛄ 部分代码
clear all
close all
%%
cluster=2;
f_ori=imread('12003.jpg');
% Note that you can repeat the program for several times to obtain the best
% segmentation result for image '12003.jpg'
%% generate superpixels
%SFFCM only needs a minimal structuring element for MMGR, we usually set SE=2 or SE=3 for
%MMGR.
SE=3;
L1=w_MMGR_WT(f_ori,SE);
L2=imdilate(L1,strel('square',2));
[~,~,Num,centerLab]=Label_image(f_ori,L2);
%% fast FCM
Label=w_super_fcm(L2,centerLab,Num,cluster);
Lseg=Label_image(f_ori,Label);
figure,subplot(121),imshow(f_ori);title('分割图')
subplot(122),imshow(Lseg);title('分割图')
⛄ 运行结果
⛄ 参考文献
[1] Lei T , Jia X , Zhang Y , et al. Superpixel-Based Fast Fuzzy C-Means Clustering for Color Image Segmentation[J]. Fuzzy Systems, IEEE Transactions on, 2018.