matlab中图像压缩技术是怎么实现的?
答案:2 悬赏:50 手机版
解决时间 2021-04-24 09:42
- 提问者网友:爱了却不能说
- 2021-04-24 02:09
matlab中图像压缩技术是怎么实现的?
最佳答案
- 五星知识达人网友:拜訪者
- 2021-04-24 03:32
基于小波分析的图像压缩方法很多 , 有小波包最好基方法 、小波域纹理模型方法 、变换零树压缩 、小波变换向量量化压缩等等,不过具体理论都是差不多的,区别是算法方式不同,有兴趣的可以去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) ; %斜线方向
%分别对各频率成份进行重构
al = wrcoef2 ( 'a',c ,s ,’bior3. 7’ ,1) ;
h1 = wrcoef2 ( ’h’,c ,s ,’bior3. 7’ ,1) ;
v1 = wrcoef2 ( ’v’,c ,s ,’bior3. 7’ ,1) ;
dl = wrcoef2 ( ’d’,c ,s ,’bior3. 7’ ,1) ;
c1 = [ al ,hl ,v1 ,d1」;
%显示分解后各频率成份的信息
subplot ( 222) ; image ( c1) ;
axis squaretitle ( ’分解后低频和高频信息’ ;)
%= = = = = = = = = = = = = = = = = = =
%下面进行图像压缩处理
%保留小波分解第一层低频信息 , 进行图像的压缩
%第 1 层的低频信息即为 cal , 显示第 1 层的低频信息
%首先对第 1 层信息进行量化编码它处理即可获得较好的压缩效果 。在上面的例
子中 ,我们还可以只提取小波分解第 3 、4 … 层的低频信息 ,从理论上说 ,我们可以获得任意压缩比的压
缩图像 。由此可以看出 , 小波分析用于图像压缩具有明显的优点 。
在利用二维小波变换进行图像压缩时需要说明的是 : 小波变换为图像从空间域交换到时间域提供
了一种非常有效的方法 , 它的作用与以前在图像压缩中所用到的离散余弦变换 ( DCT) 、傅里叶变换等
的作用类似 。但是 ,要很好地进行图像的压缩 ,需要综合地利用多种其它技术 , 特别是数据编码与解码
算法等 ,所以利用小波分析进行图像压缩往往是借助小波分析和许多其它相关技术共同完成的 。
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) ; %斜线方向
%分别对各频率成份进行重构
al = wrcoef2 ( 'a',c ,s ,’bior3. 7’ ,1) ;
h1 = wrcoef2 ( ’h’,c ,s ,’bior3. 7’ ,1) ;
v1 = wrcoef2 ( ’v’,c ,s ,’bior3. 7’ ,1) ;
dl = wrcoef2 ( ’d’,c ,s ,’bior3. 7’ ,1) ;
c1 = [ al ,hl ,v1 ,d1」;
%显示分解后各频率成份的信息
subplot ( 222) ; image ( c1) ;
axis squaretitle ( ’分解后低频和高频信息’ ;)
%= = = = = = = = = = = = = = = = = = =
%下面进行图像压缩处理
%保留小波分解第一层低频信息 , 进行图像的压缩
%第 1 层的低频信息即为 cal , 显示第 1 层的低频信息
%首先对第 1 层信息进行量化编码它处理即可获得较好的压缩效果 。在上面的例
子中 ,我们还可以只提取小波分解第 3 、4 … 层的低频信息 ,从理论上说 ,我们可以获得任意压缩比的压
缩图像 。由此可以看出 , 小波分析用于图像压缩具有明显的优点 。
在利用二维小波变换进行图像压缩时需要说明的是 : 小波变换为图像从空间域交换到时间域提供
了一种非常有效的方法 , 它的作用与以前在图像压缩中所用到的离散余弦变换 ( DCT) 、傅里叶变换等
的作用类似 。但是 ,要很好地进行图像的压缩 ,需要综合地利用多种其它技术 , 特别是数据编码与解码
算法等 ,所以利用小波分析进行图像压缩往往是借助小波分析和许多其它相关技术共同完成的 。
全部回答
- 1楼网友:迷人又混蛋
- 2021-04-24 04:22
http://lw.china-b.com/jsjlw/20090222/290465_1.html
在这里找到一个,不知道是不是你需要的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯