www.pudn.com > spiht-0.3.rar > func_SPIHT_Enc.m


function func_SPIHT_Enc(m,level,rate,out_stream) 
% 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 
fwrite(fid,out(1,2),'uchar');%8bits  max_plane 
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');     
end 
fclose(fid);