小波分解图像应用
2013-03-28 18:12
162 查看
最近学习了一段小波,对小波函数在信号处理中得应用有了大概的了解,对信号进行小波分解,主要过程就是求平均和细节,设{x1,x2}表示一个两元素的信号,a=(x1+x2)/2;d=(x1-x2)/2,二元素组{a,d}可表示原信号,并且
x1=a+d;x2=a-d;即由{a,d}可恢复原信号。这就是小波分解的思想。对于长度为N的信号,我们可以构造小波的滤波器组,滤波器的系数可能小于信号的长度,通过在滤波器后面补0的方法,使得信号的长度和滤波器的长度相等,然后和低通滤波器和高通滤波器做卷积运算,将信号分成两部分:低通部分和高通部分。二维图像的小波运算,先对行进行低通、高通卷积运算,再对列进行低通、高通运算,再进行信号的下采样,得到四个部分[LL,HL,LH,HH],其中LL保留了源图像的大部分能量。将低、高通滤波器求逆,既得恢复算法的滤波器,分别对行和列求卷积,再进行上采样,就可得恢复图像。
程序中调用的函数,均来自zyh的博客,在此应用一下,如有冒犯,敬请谅解。
clc;
clear;
clear all;
x=imread('cameraman.tif');
x=double(x);
subplot(131);
image(x);
colormap(gray);
title('源图像')
axis square;
[LL,HL,LH,HH]=mydwt2(x);
subplot(132);
image(LL);
title('一次小波后逼近图像')
axis square;
%subplot(223);
%image(LL,HL,LH,HH);
title('一次小波后')
y=myidwt2(LL,HL,LH,HH);
subplot(133);
image(y);
title('重构后得图像')
axis square;
figure(2);
subplot(221)
image(LL);
subplot(222);
image(HL);
subplot(223);
image(LH);
subplot(224);
image(HH);
colormap(gray);
>> whos
Name Size Bytes Class
HH 128x128 131072 double array
HL 128x128 131072 double array
LH 128x128 131072 double array
LL 128x128 131072 double array
x 256x256 524288 double array
y 256x256 524288 double array
![](http://img.my.csdn.net/uploads/201303/28/1364464376_1746.jpg)
x1=a+d;x2=a-d;即由{a,d}可恢复原信号。这就是小波分解的思想。对于长度为N的信号,我们可以构造小波的滤波器组,滤波器的系数可能小于信号的长度,通过在滤波器后面补0的方法,使得信号的长度和滤波器的长度相等,然后和低通滤波器和高通滤波器做卷积运算,将信号分成两部分:低通部分和高通部分。二维图像的小波运算,先对行进行低通、高通卷积运算,再对列进行低通、高通运算,再进行信号的下采样,得到四个部分[LL,HL,LH,HH],其中LL保留了源图像的大部分能量。将低、高通滤波器求逆,既得恢复算法的滤波器,分别对行和列求卷积,再进行上采样,就可得恢复图像。
程序中调用的函数,均来自zyh的博客,在此应用一下,如有冒犯,敬请谅解。
clc;
clear;
clear all;
x=imread('cameraman.tif');
x=double(x);
subplot(131);
image(x);
colormap(gray);
title('源图像')
axis square;
[LL,HL,LH,HH]=mydwt2(x);
subplot(132);
image(LL);
title('一次小波后逼近图像')
axis square;
%subplot(223);
%image(LL,HL,LH,HH);
title('一次小波后')
y=myidwt2(LL,HL,LH,HH);
subplot(133);
image(y);
title('重构后得图像')
axis square;
figure(2);
subplot(221)
image(LL);
subplot(222);
image(HL);
subplot(223);
image(LH);
subplot(224);
image(HH);
colormap(gray);
>> whos
Name Size Bytes Class
HH 128x128 131072 double array
HL 128x128 131072 double array
LH 128x128 131072 double array
LL 128x128 131072 double array
x 256x256 524288 double array
y 256x256 524288 double array
![](http://img.my.csdn.net/uploads/201303/28/1364464376_1746.jpg)
![](http://img.my.csdn.net/uploads/201303/28/1364464451_3449.jpg)
相关文章推荐
- 小波图像分解与重构程序存在的问题与解决办法
- 小波图像分解 Matlab 程序 - V3.0版
- 应用小波图像去噪的Matlab 实现
- 应用小波图像去噪的Matlab 实现
- 用自编的程序实现小波图像分解与重构
- 用小波对图像分解,和特征分析
- 小波的秘密8_图像处理应用:图像降噪
- 小波的秘密10_图像处理应用:图像增强
- 小波变换在图像处理中的应用
- 图像小波包分解后如何改变分解系数再重构呢?
- 小波图像分解与重构
- 应用小波图像去噪的Matlab 实现
- 小波图像分解 Matlab 程序 - V2.0版
- GDI+在Delphi程序的应用:多帧(页)图像的分解与合成
- 小波的秘密9_图像处理应用:图像增强
- 浅析基于小波分解的图像融合
- MATLAB小波图像分解
- 二维小波分析对图像处理的应用(1)
- 【转】应用小波图像去噪的Matlab 实现
- 二维小波分析对图像处理的应用(2)