⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 te2.m

📁 基于二维直方图的图像模糊聚类分割方法
💻 M
字号:
%FCM法进行分割
I=imread('blwhite.jpg');
I2=imnoise(I,'gaussian',0,400/(255*255));
I3=nlfilter(I2,[3 3],@fdd);%对图象进行平滑
subplot(2,3,1);
imshow(I2);
subplot(2,3,2);
imshow(I3,[]);
[m n]=size(I2);
L=zeros(256,256);%建一个256×256的矩阵
for i=1:m
   for j=1:n
       l=double(I2(i,j))+1;
       f=round(I3(i,j))+1;
       L(l,f)=L(l,f)+1;
   end
end
L=L/(m*n);
x=0:255;
y=0:255;
z=double(L(x+1,y+1));
subplot(2,3,3)
mesh(x,y,z);
axis([0 255 0 255 0 0.002])
view(30,10);
%以上实现画二维直方图
subplot(2,3,4);imhist(I2);
%u=0.5;
X=ones(m*n,2);
for i=1:m
    for j=1:n
            X((i-1)*n+j,1)=I2(i,j);
            X((i-1)*n+j,2)=round(I3(i,j));
        end
 end
%将像素矩阵转化为一维
c=2;
[CENTER, U, OBJ_FCN] = FCM(X, c);
Y=X;
if CENTER(1,1)<CENTER(2,1)
    for k=1:count
        if U(2,k)>=0.5
            Y(k,2)=255;
        else
            Y(k,2)=0;
        end
    end
else
    for k=1:count
        if U(2,k)<0.5
            Y(k,2)=255;
        else
            Y(k,2)=0;
        end
    end
end
for i=1:m
    for j=1:n
        if i==1
            I4(i,j)=Y(i,2);
        else 
            I4(i,j)=Y((i-1)*m+j,2);
        end
    end
end
subplot(2,3,5)
imshow(I4,[]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -