www.pudn.com > SPIHT(Matlab).rar > func_SPIHT_Enc.m


function out=func_SPIHT_Enc(m,level,rate,out_stream,s) 
% input:    m : input image in wavelet domain 
%           level : wavelet decomposition level 
%           rate  : bits per pixel 
%           out_stream: output compression file stream 
 
% here developement by swf000117@sina.com 
 
out=SPIHT_Enc(m,level,rate); 
  
 
fid=fopen(out_stream,'wb'); 
fwrite(fid,out(1,1),'short');%16bits x_size&nRow 
fwrite(fid,out(1,2),'uchar');%8bits  max_planen_max 
fwrite(fid,out(1,3),'uchar');%8bits  levels 
fwrite(fid,out(1,4),'float');%32bits rate 
  
[nRow nColumn]=size(m); 
OrigSize = nRow*nColumn;%size(Orig_I, 1); 
max_bits = floor(rate * OrigSize); 
 
for i=1:(max_bits-16-8-8-32)/8 
    a=0; 
    for j=0:7    
     a=a+out(1,8*(i-1)+j+5)*2^j; 
    end  
    if a>255 
        break; 
    end 
    fwrite(fid,a,'uchar'); %%%%将out中的数据以16进制的形式写入到fid中 
end 
fclose(fid);