資源簡介
本代碼為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個文件信息
- 上一篇:matlab遙感圖像處理
- 下一篇:MATLAB實現陽歷、陰歷與干支歷的日期轉換
評論
共有 條評論