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

📄 drawbacktemp4.m

📁 这是一个不错的光谱压缩的Matlab程序,希望它能对你有所帮助.
💻 M
字号:
function drawbacktemp4(n,bandM)
%usage: 
%M--保留的点数
%bandM--重建第bandM个谱段

%m_temp4为均值
load m_temp4
%p_save4为正交矩阵
load p_save4
%band_save为k-l变换结果
load band16_save
v_save4=band16_save;
format long;
pos=-1;
pic=zeros(128,128);

for band=bandM:bandM
   for i=1:32
      for j=1:32
        %读本征值---------------------
        m=m_temp4(((i-1)*4+1):(i*4),((j-1)*4+1):(j*4));

        %读正交矩阵
        p=p_save4(((i-1)*n+1):(i*n),((j-1)*16+1):(j*16));

        %读kl变换的结果
        v=v_save4(((i-1)*n+1):(i*n),j);

        
      %重建  
       block_array=p'*v+m(:);
       block=reshape(block_array,4,4);
      %--------------------------------------- 
               %组成图象矩阵
       pic(((i-1)*4+1):(i*4),((j-1)*4+1):(j*4))=block;
     end
   end
   
   %载入原图像显示
    fp=fopen('d:\matlabr11\yao\source\CUPRITE94.BSQ','rb');
    rec_len=128*128;
    status=fseek(fp,2*(bandM-1)*rec_len,-1);
    [a,c]=fread(fp,rec_len,'int16');
    a=reshape(a,128,128);
    figure(1)
    
    %计算psnr
    yerr_pic=double(a)-pic;     
    ydila_pic=yerr_pic;
    ymae=((sum(sum(ydila_pic.^2)))/(128*128))^0.5;
    ypnsr=20*log10(65525/ymae);
    imshow(double(pic),[]);
    disp(['pnsr=',num2str(ypnsr)]);

 end
fclose('all');
return;

⌨️ 快捷键说明

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