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

📄 kfc(例子).m

📁 采用模糊C均值对数据集data聚为cluster_n类
💻 M
字号:
function nxiaobo_kfc(i,t)
k=2;
i=double(i(:,:,1));

h=fspecial('average',10);
%i=filter2(h,i,'same');

[m,n]=size(i);
fenge_end=i;
ji1=i;
jp2=i;
jp3=i;
jp4=i;
jp5=i;
jp6=i;
jp7=i;
jp8=i;
jp9=i;
jp10=i;
%x=zeros(m*n,2);%存放特征值的矩阵
t_fangcha=fenge_end;
[ca,ch,cv,cd]=swt2(i,1,'bior3.7');

nu=zeros(size(ca));
ca=wcodemat(iswt2(ca,nu,nu,nu,'bior3.7'),255);
ch=wcodemat(iswt2(nu,ch,nu,nu,'bior3.7'),255);
cv=wcodemat(iswt2(nu,nu,cv,nu,'bior3.7'),255);
cd=wcodemat(iswt2(nu,nu,nu,ch,'bior3.7'),255);

[ca1,ch1,cv1,cd1]=swt2(ca,1,'bior3.7');
ca1=wcodemat(iswt2(ca1,nu,nu,nu,'bior3.7'),255);
ch1=wcodemat(iswt2(nu,ch1,nu,nu,'bior3.7'),255);
cv1=wcodemat(iswt2(nu,nu,cv1,nu,'bior3.7'),255);
cd1=wcodemat(iswt2(nu,nu,nu,ch1,'bior3.7'),255);

[ca2,ch2,cv2,cd2]=swt2(ca1,1,'bior3.7');
ca2=wcodemat(iswt2(ca1,nu,nu,nu,'bior3.7'),255);
ch2=wcodemat(iswt2(nu,ch1,nu,nu,'bior3.7'),255);
cv2=wcodemat(iswt2(nu,nu,cv1,nu,'bior3.7'),255);
cd2=wcodemat(iswt2(nu,nu,nu,ch1,'bior3.7'),255);


%下面对特征值进行滤波
h=fspecial('average',21);

ca2=filter2(h,ca2,'same');
ch2=filter2(h,ch2,'same');
cv2=filter2(h,cv2,'same');
cd2=filter2(h,cd2,'same');

ch1=filter2(h,ch1,'same');
cv1=filter2(h,cv1,'same');
cd1=filter2(h,cd1,'same');


[center,U,obj_fcn] = KFCMClust(data,k);

maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2,:) == maxU);
%index3 = find(U(3,:) == maxU);
%index4 = find(U(4,:) == maxU);
%index5 = find(U(5,:) == maxU);
%index6 = find(U(6,:) == maxU);
jieguo=zeros(1,m*n);
temp=1;
[n,m]=size(index1);
for p=1:m
jieguo(index1(temp))=1;
temp=temp+1;
end

temp=1;
[n,m]=size(index2);
for p=1:m
jieguo(index2(temp))=2;
temp=temp+1;
end

%temp=1;
%[n,m]=size(index3);
%for p=1:m
%jieguo(index3(temp))=3;
%temp=temp+1;
%end

%temp=1;
%[n,m]=size(index4);
%for p=1:m
%jieguo(index4(temp))=4;
%temp=temp+1;
%end

%temp=1;
%[n,m]=size(index5);
%for p=1:m
%jieguo(index5(temp))=5;
%temp=temp+1;
%end

%temp=1;
%[n,m]=size(index6);
%for p=1:m
%jieguo(index6(temp))=6;
temp=temp+1;
%end

temp=1;
[m,n]=size(i);
for p=1:m
    for q=1:n
        if jieguo(temp)==1,
            fenge_end(p,q)=0;
       % elseif jieguo(temp)==2,
        %        fenge_end(p,q)=60;
        %elseif jieguo(temp)==3,
        %        fenge_end(p,q)=120;
       % elseif jieguo(temp)==4,
       %         fenge_end(p,q)=180;
      %  elseif jieguo(temp)==5,
       %         fenge_end(p,q)=200;
            else
                fenge_end(p,q)=240;
                %temp
        end
        temp=temp+1;
    end
end
figure,imshow(uint8(fenge_end));

⌨️ 快捷键说明

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