✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
FGFCM 是对传统的模糊C均值聚类算法的一个改进算法.但未考虑噪声和邻域间的关系,故无法有效避免噪声影响.为克服以上缺点,提出结合局部空间信息直方图的核模糊C均值聚类图像分割算法.通过使用一个局部空间信息直方图,有效地减少噪声对聚类结果的负面影响;通过使用聚类权重有效避免块噪声;引入空间约束项,采用内核感应距离,使分割结果更好地保留了图像细节,分割更加准确.实验结果表明,该算法保留更多图像细节和边缘信息,同时具有较强的抗噪声能力.
⛄ 部分代码
function [fs,center_p,Num_p,center_lab]=Label_image(f,L)
f=double(f);
num_area=max(L,[],'all');
Num_p=zeros(num_area,1);
if size(f,3)<2
[M,N]=size(f);
s3=L;
fs=zeros(M,N);
center_p=zeros(num_area,1);
for i=1:num_area
f2=f(s3==i);f_med=median(f2);fx=double((s3==i))*double(f_med);
fs=fs+fx;
center_p(i,:)=uint8(f_med);
Num_p=zeros(num_area,1);
end
fs=uint8(fs);
%% Color image
else
[M,N]=size(f(:,:,1));
s3=L;
fs=zeros(M,N,3);
fr=f(:,:,1);fg=f(:,:,2);fb=f(:,:,3);
center_p=zeros(num_area,3);
for i=1:num_area
fr2=fr(s3==i);r_med=median(fr2);r=(s3==i)*r_med;
fg2=fg(s3==i);g_med=median(fg2);g=(s3==i)*g_med;
fb2=fb(s3==i);b_med=median(fb2);b=(s3==i)*b_med;
fs=fs+cat(3,r,g,b);
center_p(i,:)=uint8([r_med g_med b_med]);
Num_p(i)=sum(sum(s3==i));
end
fs=uint8(fs);
TT=cat(3,center_p(:,1),center_p(:,2),center_p(:,3));
TT2=colorspace('Lab<-RGB',TT);
TT2r=TT2(:,:,1);TT2g=TT2(:,:,2);TT2b=TT2(:,:,3);
center_lab(:,1)=TT2r(:);center_lab(:,2)=TT2g(:);center_lab(:,3)=TT2b(:);
end
end
⛄ 运行结果
⛄ 参考文献
[1] 张腾达, 吕晓琪, 任晓颖,等. 基于空间模糊核聚类的脑肿瘤图像分割方法[J]. 控制工程, 2017, 24(10):5.
[2] 杨漫. 基于模糊C-均值聚类与模糊支持向量机的自适应图像分割算法[D]. 大连理工大学.
[3] 贾冀. 基于聚类的图像分割与配准研究[D]. 西安电子科技大学, 2014.
[4] 谢勇. 基于FCM聚类算法的人脑MRI图像分割[J]. 大理大学学报, 2017, 2(12):4.
[5] 谢勇. 基于FCM聚类算法的人脑MRI图像分割[J]. 大理学院学报, 2017, 002(012):49-52.