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

📄 imagewaveletpacket.m

📁 对一幅图像的进行小波包分解
💻 M
字号:
%%% 计算非隐秘图像与隐秘图像特征向量

clc
clear
%%% -------- 1. 计算非隐秘图像特征向量-----------
level =4;              % 分解层数
wname = 'haar';          % 小波名称
entropy = 'shannon';       % 熵


num = 1;              % 图像数量
fmt = 'bmp';            % 图像格式
path = 'd:\image\';   % 图像路径   

%%% 计算图像文件大小
cd(path);
%dN = dir(path);
%fszN = zeros(num,1);
%    fszN(k,1) = dN(k+2).bytes/1024;
%end


    sim = double( imread('S0001.bmp') );
    sfvN(1,:) = wpcsta(sim(:,:,1),level,wname,entropy); 
    end
    disp(strcat(num2str(1),'/',num2str(1),' completed!'));
    
    sflag=zeros(1,2048);
    sfvN1=zeros(1,2048);
    for i=1:2048
        sp1=1;
        for j=1:2048
            if abs(sfvN(1,sp1))>abs(sfvN(1,j))
               sp1=j; 
           end
       end
        sfvN1(1,2048-i+1)=sfvN(1,sp1);
        sflag(1,2048-i+1)=sp1;
        sfvN(1,sp1)=1e+030;
    end
    sfvN2=zeros(1,2048);
    for i=1:1000
        
      if sfvN1(1,i)<0
           sfvN1(1,i)=-1;
        else
           sfvN1(1,i)=1;
        end
    end
    for i=1001:2048
        sfvN1(1,i)=0;
    end
    for i=1:2048
        sp2=sflag(1,i);
        sfvN2(1,sp2)=sfvN1(1,i);
    end
  
disp('The first part operations completed!');


%%%%第二幅图像的处理


%%% -------- 1. 计算非隐秘图像特征向量-----------
level =4;              % 分解层数
wname = 'haar';          % 小波名称
entropy = 'shannon';       % 熵


num = 1;              % 图像数量
fmt = 'bmp';            % 图像格式
path = 'd:\image\';   % 图像路径   

%%% 计算图像文件大小
cd(path);
%dN = dir(path);
%fszN = zeros(num,1);
%    fszN(k,1) = dN(k+2).bytes/1024;
%end


    nim = double( imread('F0001.bmp') );
    nfvN(1,:) = wpcsta(nim(:,:,1),level,wname,entropy); 
    end
    disp(strcat(num2str(2),'/',num2str(2),' completed!'));
    
   
    for i=1:1000
        nTemp=sflag(1,i);
        if nfvN(1,nTemp)<0
           nfvN(1,nTemp)=-1;
        else
           nfvN(1,nTemp)=1;
        end
    end
    
disp('The second part operations completed!');

%计算相关系数
sum1=0;
sum2=0;
cov=0
for i=1:2048
    Temp1=sfvN2(1,i)*nfvN(1,i);
    sum1 =sum1+Temp1;
    Temp2=sfvN2(1,i)^2;
    sum2=sum2+Temp2;
end
cov=sum1/sqrt(sum2);
cov1=cov

disp('All operations completed!');
 




⌨️ 快捷键说明

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