matlab 中图像压缩技术是怎么实现的?
基于小波分析的图像压缩方法很多 , 有小波包最好基方法 、小波域纹理模型方法 、变换零
树压缩 、小波变换 向量 量化压缩等等,不过具体理论都是差不多的,区别是算法方式不同,
有兴趣的可以去 matlab 的网站去看看
http://www.ilovematlab.cn
一个图像作小波分解后 , 可得到一系列不同分辨率的子图像 ,不同分辨率的子图像对应的频
率是
不相同的 。高分辨率 ( 即高频) 子图像上大部分点的数值都接近于 0 , 越是高频这种现象越
明显 。对一
个图像来说 ,表现一个图像最主要的部分是低频部分 ,所以一个最简单的压缩方法是利用小
波分解 ,去
掉图像的高频部分而只保留低频部分 。
下面具体介绍利用 MA TLAB[ 2 ] 中二维小波分析一个图像 ( 即一个二维信号 , 设文件名为
wbarb.
mat) 进行图像压缩的实例 。图像压缩可按如下程序进行处理 。
程序清单 :
clear %清除 MA TLAB 工作环境中现有的变量
load wbarb ; %装入图像
%显示图像
subplot ( 221) ;image ( X) ; colormap ( map )
title ( ’原始图像’ ;)
axis square
disp ( ’压缩前图像 X 的大小 : ’ ;)
Whos ( ’ ’X )
%= = = = = = = = = = = = = = = = = =
%对图像用 bior3. 7 小波进行 2 层小波分解
[ c ,s ] = wavedec2 ( X ,2 ,’bior3. 7’ ;)
%对图像用 bior3. 7 小波进行 2 层小波分解
[ c ,s ] = wavedec2 ( X ,2 ,’
bior3. 7’ ;
)
%提取小波分解结构中第 1 层的低频系数和高
频系数
cal = appcoef2 ( c ,s ,’
bior3. 7’ ,l) ;
ch1 = detcoef2 ( ’h' ,c ,s ,1) ; %水平方向
cv1 = detcoef2 ( ’V ’,c ,8 ,1) ; %垂直方向
cdl = detcoef2 ('d',C ,S ,1) ; %斜线方向
评论1