⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_spiht.m

📁 输入:为需要压缩图象的名称,该主程序仅能构处理256灰度图,读者可以自行改编为RGB处理;ratio为压缩比率;level为小波分解的级数 输出:是解压完毕的图象数据矩阵
💻 M
字号:
function pic3=main_SPIHT(filename,ratio,level)
%   
%   
%   输入: filename为需要压缩图象的名称,该主程序仅能构处理256灰度图,读者可以自行改编为RGB处理;ratio为压缩比率;level为小波分解的级数
%   输出: pic3是解压完毕的图象数据矩阵
pic0=imread(filename);   %读入图象
imagelength=length(pic0(1,:));%计算图象的长度,为了简化程序我们以长宽相等的图象为例
Npixels=imagelength^2*8;    %存储原始图象所需总的位数
Ncode=Npixels/ratio;      %按照压缩率计算所得存储目的图象所需的位数
wavename='coif5';


pic1=wavedec2_SPIHT(pic0,wavename,level);%对原始图象进行小波分解,并将小波系数进行排列
[mylineout,Linelength,Tout,ALR]=encode_SPIHT(pic1,Ncode);  %对小波分解系数进行编码
pic1=decode_SPIHT(mylineout,Linelength,Tout,ALR);  %%对编码后的小波系数进行解码
pic2=waverec2_SPIHT(pic1,wavename,level);   %对解码后的小波系数进行小波反变换

pic3=uint8(pic2);
figure(1),imshow(pic0),title('原始未压缩的图象');
figure(2),imshow(pic3);title(['压缩图象,压缩比率: ',num2str(ratio)]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -