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

📄 func_dwt.m

📁 小波图象分割!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!MATLAB原程序
💻 M
字号:
function [E_W , S] = func_DWT(I, level, Lo_D, Hi_D);
mm=mean(I(:));

[C,S] = func_Mywavedec2(I,level,Lo_D,Hi_D); 

S(:,3) = S(:,1).*S(:,2);        % dim of detail coef nmatrices
number=level*3+1;
L = length(S);
I_W=zeros(S(1,1),S(1,2));
% approx part
I_W( 1:S(1,1) , 1:S(1,2) ) = reshape(C(1:S(1,3)),S(1,1:2));
e=mean(mean(abs(I_W)));
for k=2:L-1
    rows=S(k,1);
    columns=S(k,2);
    %horizontal part
    c_start = S(1,3) + 3*sum(S(2:k-1,3)) + 1;
    c_stop = S(1,3) + 3*sum(S(2:k-1,3)) + S(k,3);
   % I_W=zeros(1:S(k,1),1:S(k,2));
     I_W=zeros(S(k,1),S(k,2));
    I_W(1:rows,1:columns) = reshape( C(c_start:c_stop) , S(k,1:2) );
    e=[mean(mean(abs(I_W)));e];
    % vertical part
    c_start = S(1,3) + 3*sum(S(2:k-1,3)) + S(k,3) + 1;
    c_stop = S(1,3) + 3*sum(S(2:k-1,3)) + 2*S(k,3);
    I_W(1:rows,1:columns) =  reshape( C(c_start:c_stop) , S(k,1:2) );
       e=[mean(mean(abs(I_W)));e];
    % diagonal part
    c_start = S(1,3) + 3*sum(S(2:k-1,3)) + 2*S(k,3) + 1;
    c_stop = S(1,3) + 3*sum(S(2:k,3));
      I_W(1:rows,1:columns) =  reshape( C(c_start:c_stop) , S(k,1:2) );
     e=[mean(mean(abs(I_W)));e];
  end
E_W=[e;mm];

⌨️ 快捷键说明

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