• 大小: 945KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: Matlab
  • 标签: 图像压缩  

资源简介

本代码为MATLAB代码,是经典的图像压缩算法SPIHT算法的完整实现。包含了该算法的全过程,能正常运行。

资源截图

代码片段和文件信息

function [Orig_Iimg_spihtI_WoutinSimg_decC1]=func_SPIHT_Main(in_fileout_filelevelrateout_stream)
% Matlab implementation of SPIHT (without Arithmatic coding stage)
tic
% Main function 
%
% input:    in_file : the original image file.
%           out_file: the decompression image file
%            nRow: 
%            nColumn:
%            levels:
%            rate:bits per pixel
%            out_stream:decompression file stream
%            
% output:    Orig_I
%            img_spiht 
%
%-----------   Input   ----------------

%Orig_I=imread(in_file);
%Orig_I(257:512257:512)=0;
Orig_I = imread(in_file);
Orig_I = double(Orig_I);
[nRownColumn]=size(Orig_I);

%-----------   Pre-processing   ----------------
image_spiht = zeros(nRownColumn);
% “image “ is the input of codec

%-----------   Wavelet Decomposition   ----------------

%type = ‘db4‘;
%[Lo_DHi_DLo_RHi_R] = wfilters(type);
%[I_W S] = func_DWT(Orig_I level Lo_D Hi_D);

I_W = d2fldwt9_7(Orig_Ilevel);%%%利用9/7小波作小波变换

%-----------   Coding   ----------------
out=func_SPIHT_Enc(I_Wlevelrateout_streamS);

%-----------   Decoding   ----------------
[img_decin] = func_SPIHT_Dec(out_stream);

%-----------   Wavelet Reconstruction   ----------------
img_spiht=d2bldwt9_7(img_declevel);%%利用97小波进行反变换
%type = ‘db4‘;
%[Lo_DHi_DLo_RHi_R] = wfilters(type);
%[img_spihtC1] = func_InvDWT(img_dec S Lo_R Hi_R level);


%-----------  output image file ----------------
func_WriteRaw(img_spihtout_file);

%-----------   PSNR analysis   ----------------
Q = 255;
OrigSize = nRow*nColumn;
MSE = sum(sum((img_spiht - Orig_I) .^ 2)) / OrigSize;
psnr = 10*log10(Q*Q/MSE)
subplot(121)
imshow(Orig_I[0255]);
subplot(122)
imshow(img_spiht[0255]);

toc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-10-17 13:13  spiht\
     文件        1824  2015-05-31 13:33  spiht\12.m
     文件         496  2015-05-31 13:33  spiht\97.2.m
     文件         521  2015-05-31 13:33  spiht\97.3.asv
     文件         342  2015-05-31 13:33  spiht\97.3.m
     文件        1065  2015-05-31 13:33  spiht\bldwt9_7.m
     文件        1340  2015-05-31 13:33  spiht\contents.asv
     文件        1340  2015-05-31 13:33  spiht\contents.m
     文件         721  2015-05-31 13:33  spiht\d2bldwt9_7.m
     文件         665  2015-05-31 13:33  spiht\d2fldwt9_7.m
     文件       13189  2015-05-31 13:33  spiht\dlj_R.jpg
     文件         332  2015-05-31 13:33  spiht\example.txt
     文件        1307  2015-05-31 13:33  spiht\fldwt9_7.asv
     文件        1311  2015-05-31 13:33  spiht\fldwt9_7.m
     文件        1884  2015-05-31 13:33  spiht\func_DWT.asv
     文件        1883  2015-05-31 13:33  spiht\func_DWT.m
     文件        1893  2015-05-31 13:33  spiht\func_InvDWT.m
     文件        1683  2015-05-31 13:33  spiht\func_Myappcoef2.m
     文件        1474  2015-05-31 13:33  spiht\func_MyDescendant.asv
     文件        1416  2015-05-31 13:33  spiht\func_MyDescendant.m
     文件        2127  2015-05-31 13:33  spiht\func_Mywavedec2.m
     文件         908  2015-05-31 13:33  spiht\func_Mywaverec2.m
     文件         979  2015-05-31 13:33  spiht\func_ReadRaw.m
     文件       12726  2015-05-31 13:33  spiht\func_SPIHT_Dec.asv
     文件        6257  2015-05-31 13:33  spiht\func_SPIHT_Dec.m
     文件         886  2015-05-31 13:33  spiht\func_SPIHT_Enc.asv
     文件         886  2015-05-31 13:33  spiht\func_SPIHT_Enc.m
     文件        1896  2015-05-31 13:33  spiht\func_SPIHT_Main.asv
     文件        1897  2015-05-31 13:33  spiht\func_SPIHT_Main.m
     文件         575  2015-05-31 13:33  spiht\func_WriteRaw.m
     文件      144472  2015-05-31 13:33  spiht\Lena.jpg
............此处省略11个文件信息

评论

共有 条评论