1 简介
当前图像分割技术越来越受到人们的重视.很多研究者针对图像分割技术设计出了不计其数的方法.图像分割技术已经涉及到许多范畴,并且逐渐成为了许多领域的基础技术之一.图像分割技术在当今时代具有极其重要的地位,研究如何提高它的运算结果仍然十分具有价值. 很多事物自身存在模糊性,传统的聚类方法多是硬划分,不能够理想的处理这类事物的问题.在图像分割领域内的众多方法中,有一类以模糊聚类技术为基础的方法,能够较好地分析处理客观事物内在的模糊性,因而逐步作为了运用最普遍的分割方法和研究热点课题之一.模糊聚类分析是典型的软划分方法,它能够很好地处理事物内在的模糊性,因此,比传统的聚类分析更适合现实中的事物处理.在模糊聚类分析的众多方法中,具有代表性的应用最普及的一类是FCM算法及它的系列改进算法.虽然FCM算法应用最普遍,但是它本身也存在一定的问题,因此近年来研究人员不断对其进行改进,提出了很多改进算法,一个比较典型的改进算法是BEMD-FCM算法
2 部分代码
function dst=GFCM(src,rows,cols) v=zeros(5,5);%1个原点分类+4个阶次GMRF纹理图像 src_d=double(src); GMRF_src(:,:,1)=src_d; [GMRF_src(:,:,2)]=GmrfPara_1Order_Estimat(src_d,rows,cols); % GMRF_srci(:,:,2)=GMRF_src(:,:,2)/256; % figure,imshow(GMRF_srci(:,:,2)); [GMRF_src(:,:,3)]=GmrfPara_2Order_Estimat(src_d,rows,cols); % GMRF_srci(:,:,3)=GMRF_src(:,:,3)/256; % figure,imshow(GMRF_srci(:,:,3)); [GMRF_src(:,:,4)]=GmrfPara_3Order_Estimat(src_d,rows,cols); % GMRF_srci(:,:,4)=GMRF_src(:,:,4)/256; % figure,imshow(GMRF_srci(:,:,4)); [GMRF_src(:,:,5)]=GmrfPara_4Order_Estimat(src_d,rows,cols); % GMRF_srci(:,:,5)=GMRF_src(:,:,5)/256; % figure,imshow(GMRF_srci(:,:,5)); % [GMRF_src(:,:,5)]=GmrfPara_5Order_Estimat(src_d,rows,cols); % GMRF_srci(:,:,5)=GMRF_src(:,:,5)/256; % figure,imshow(GMRF_srci(:,:,5)); for k=1:1:5 src_2=reshape(GMRF_src(:,:,k),rows*cols,1); [src_3]=sort(src_2); v(k,1)=round(src_3(1)); v(k,5)=round(src_3(rows*cols)); v(k,3)=round(mean(src_3)); v(k,2)=round((src_3(1)+mean(src_3))/2); v(k,4)=round((src_3(rows*cols)+mean(src_3))/2); end U=zeros(rows,cols,5); v_new=zeros(5,5); %初始分类 for i=1:1:rows for j=1:1:cols d=zeros(1,5);%测度 for k1=1:1:5 %5个聚类 for k2=1:1:5 %5个层 d(k1)=d(k1)+(double(GMRF_src(i,j,k2))-v(k2,k1)); end % if d(k1)==0 d(k1)=0.1; end end % d_sum=0.0; for k1=1:1:5 d_sum=d_sum+25/(d(k1)^2); end for k1=1:1:5 U(i,j,k1)=(25/(d(k1))^2)/d_sum; end end end u1_sum=zeros(1,5); u2_sum=zeros(5,5);%(层数,聚类数) for i=1:1:rows for j=1:1:cols for k1=1:1:5 u1_sum(k1)=u1_sum(k1)+U(i,j,k1)^2; for k2=1:1:5 u2_sum(k2,k1)=u2_sum(k2,k1)+U(i,j,k1)^2*double(GMRF_src(i,j,k2)); end end end end for k1=1:1:5 for k2=1:1:5 v_new(k2,k1)=round(u2_sum(k2,k1)/u1_sum(k1)); end end %迭代循环 while ~(abs(v(1,1)-v_new(1,1))<0.5&&abs(v(1,2)-v_new(1,2))<0.5&&... abs(v(1,3)-v_new(1,3))<0.5&&abs(v(1,4)-v_new(1,4))<0.5&&... abs(v(1,5)-v_new(1,5))<0.5)&&... ~(abs(v(2,1)-v_new(2,1))<0.5&&abs(v(2,2)-v_new(2,2))<0.5&&... abs(v(2,3)-v_new(2,3))<0.5&&abs(v(2,4)-v_new(2,4))<0.5&&... abs(v(2,5)-v_new(2,5))<0.5)&&... ~(abs(v(3,1)-v_new(3,1))<0.5&&abs(v(3,2)-v_new(3,2))<0.5&&... abs(v(3,3)-v_new(3,3))<0.5&&abs(v(3,4)-v_new(3,4))<0.5&&... abs(v(3,5)-v_new(3,5))<0.5)&&... ~(abs(v(4,1)-v_new(4,1))<0.5&&abs(v(4,2)-v_new(4,2))<0.5&&... abs(v(4,3)-v_new(4,3))<0.5&&abs(v(4,4)-v_new(4,4))<0.5&&... abs(v(4,5)-v_new(4,5))<0.5)&&... ~(abs(v(5,1)-v_new(5,1))<0.5&&abs(v(5,2)-v_new(5,2))<0.5&&... abs(v(5,3)-v_new(5,3))<0.5&&abs(v(5,4)-v_new(5,4))<0.5&&... abs(v(5,5)-v_new(5,5))<0.5) for k1=1:1:5 for k2=1:1:5 v(k2,k1)=v_new(k2,k1); end end % for i=1:1:rows for j=1:1:cols d=zeros(1,5);%测度 for k1=1:1:5 %5个聚类 for k2=1:1:5 %5个层 d(k1)=d(k1)+(double(GMRF_src(i,j,k2))-v(k2,k1)); end % if d(k1)==0 d(k1)=0.1; end end % d_sum=0.0; for k1=1:1:5 d_sum=d_sum+25/(d(k1)^2); end for k1=1:1:5 U(i,j,k1)=(25/(d(k1)^2))/d_sum; end end end % u1_sum=zeros(1,5); u2_sum=zeros(5,5);%(层数,聚类数) for i=1:1:rows for j=1:1:cols for k1=1:1:5 u1_sum(k1)=u1_sum(k1)+U(i,j,k1)^2; for k2=1:1:5 u2_sum(k2,k1)=u2_sum(k2,k1)+U(i,j,k1)^2*double(GMRF_src(i,j,k2)); end end end end for k1=1:1:5 for k2=1:1:5 v_new(k2,k1)=round(u2_sum(k2,k1)/u1_sum(k1)); end end end %输出 dst=zeros(rows,cols); for i=1:1:rows for j=1:1:cols for k=1:1:5 u_(k)=U(i,j,k); end [U_,U_num]=sort(u_); if U_num(5)==1 dst(i,j)=0; elseif U_num(5)==5 dst(i,j)=1; else dst(i,j)=0.6; end end end end
3 仿真结果
4 参考文献
[1]盛蕴霞, 霍冠英, and 刘静. "基于超像素聚类的侧扫声呐图像分割算法." 计算机工程 44.6(2018):8.
[2] Harikiran J , Phanendar K , Kumar R K , et al. Fuzzy C-means with Bi-dimensional Empirical Mode Decomposition for Segmentation of Microarray Image[C]// IJCSI Press. IJCSI Press, 2012:427-433.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,有科研问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。