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

📄 func_main.asv

📁 小波图象分割!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!MATLAB原程序
💻 ASV
字号:
function func_Main

%-----------   Input   ----------------
Orig_I=imread('new1.bmp');
Orig_I=rand(64)
figure,imshow(Orig_I);title('原来图像');axis on;
%-----------   Pre-processing   ----------------
now=[];
[nRow, nColumn] = size(Orig_I);
L=16;  %the size of moving windows
%expand_image=zeros(2*nRow,2*nColumn);
b=flipdim(Orig_I,1);
c=[b;Orig_I;b];
d=flipdim(c,2);
expand_image=[d c d];
seg_image=zeros(L);
[Row, Column] = size(expand_image);
%-----------   segmenting the image   ----------------  
 for i=nRow+1:Row-nRow
  for j=nColumn+1:Column-nColumn
           x=i;y=j;
         for m=1:L
              for n=1:L
                  seg_image(m,n)=expand_image(x-L/2+1,y-L/2+1);
                  y=y+1;
              end
              x=x+1;
              y=j;
          end     
          %-----------   Wavelet Decomposition   ----------------
          %n = size(seg_image,1);
          %n_log = log2(n); 
          level = 2;
          type = 'bior4.4';
          [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(type);
          [E_W, S] = func_DWT(seg_image, level, Lo_D, Hi_D);
          E_W=E_W';
          now=[now;E_W];
      end
  end
% FCM method making sort
[center,U,obj_fcn] = fcm(now,2);
maxU = max(U);                    % Find the data points with highest grade of membership in cluster 1
index1 = find(U(1,:) == maxU);    % Find the data points with highest grade of membership in cluster 2
index2 = find(U(2,:) == maxU);
for r=1:nRow
    for c=1:nColumn
         m=(r-1)*nColumn+c;
         size=size(index1,2);
         q=1;
         while (q<size+1)
               if index1(q)==m;
                   Orig_I(r,c)=255;
                   break;
               end
               q=q+1;
          end
          if(q==size+1)
             Orig_I(r,c)=0;
          end
     end
end
                    
figure,imshow(Orig_I);title('分割后图像');axis on;
                    
                      
                   
       % plot([center([1 2],1)],[center([1 2],2)],'*','color','k')
       % hold off;
                 
                  

%-----------   Character drawing  ----------------

%-----------   Wavelet Reconstruction   ----------------

⌨️ 快捷键说明

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