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);