小波分解图像应用

      最近学习了一段小波,对小波函数在信号处理中得应用有了大概的了解,对信号进行小波分解,主要过程就是求平均和细节,设{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




  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值