天天看點

關聯規則挖掘算法 Apriori算法的Matlab實作

%  此程式實作多小波分解2-D圖像

%  Implementation.m

clc;clear

%  對稱反對稱多小波濾波器組(P0,P1,P2,P3;Q0,Q1,Q2,Q3.)

P0= [0.4075    0.0415

     0.0415    0.4075]/sqrt(2);

P1=[0.0925    0.9075

    0.9075    0.0925]/sqrt(2);

S=[1 0;0 -1];

A=[0 1;1 0];

P2=S*P1*S;

P3=S*P0*S;

Q0=(-1)*P3*A;

Q1=(+1)*P2*A;

Q2=(-1)*P1*A;

Q3=(+1)*P0*A;

%  下載下傳測試圖像

load wbarb;

D=1;

NN=length(X);  %  圖像大小

T=1;  %  分解層數

%  構造多小波變換矩陣

for i=1:T

    %  每一層的有效矩陣長度

    N=NN/(2^(i-1));

    %  L(低通矩陣);

    A1=[P0,P1,P2,P3,zeros(2,N-4*2)];

    C1=A1;

    B1=A1;

    for i=1:N/4-1

        B1=circshift(B1.',4).';

        C1=[C1;B1];

    end;

    %  H(高通矩陣);

    A2=[Q0,Q1,Q2,Q3,zeros(2,N-4*2)];

    C2=A2;

    B2=A2;

    for i=1:N/4-1

        B2=circshift(B2.',4).';

        C2=[C2;B2];

    end;

    %  Combine(低通和高通矩陣合并)

    C=[C1;C2];

    %  最終矩陣生成(多層)

    D=D*sparse([eye(NN-N,NN-N),zeros(NN-N,N);zeros(N,NN-N),C].');

end;

%  多小波正變換

woman1=D'*X*D;

%  多小波正變換

woman2=D*woman1*D';

%  顯示

figure(1);

image(woman1)

colormap(map)

title('分解')

figure(2);

image(woman2)

colormap(map)

title('重構')

%  正交性驗證

norm(eye(NN,NN)-D'*D)

繼續閱讀