matlab小波变换,图像处理

1、dwt2函数

进行一次离散小波变换(DWT),可直接用dwt2函数,应用格式为:

[cA,cH,cV,cD]=dwt2(X,'wname');

其中X为输入图像,wname为小波函数名称,例如haar,cA,cH,cV,cD分别为,一次小波变换的近似图像,水平方向细节,竖直方向细节,对角方向细节。

具体分解重构过程可以看这篇文章:图像处理-小波变换,有图示,对于下面说的多次分解也是一样。

举个例子:将下图进行DWT

f=imread('cman.tif');
[A,H,V,D]=dwt2(f,'haar');
subplot(221),imshow(uint8(A));
subplot(222),imshow(uint8(H));
subplot(223),imshow(uint8(V));
subplot(224),imshow(uint8(D));

原图是256的,A,H,V,D都是128*128。

2、wavedec2函数

可以进行N次分解

[C,S]=wavedec2(X,N,Lo_D,Hi_D)     其中X为输入图像,N为分解次数,Lo_D,Hi_D为分解滤波器

{  可用wfilters函数生成滤波器

[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(wname),Lo_D,Hi_D,Lo_R,Hi_R分别为低通分解,高通分解,低通重建,高通重建滤波器  }

也可以直接用现有小波函数,wname为小波函数名,如‘haar':

[C,S]=wavedec2(X,N,wname)

C为1中cA,cH,cV,cD矩阵排列成行,构成的1*n矩阵,n为X的像素数量

S的第一行就是cA的size,第二行是cH,cV,cD的size,最后一行是X的size

3、waveinfo函数

waveinfo(wname)

可以输出有关该小波函数的具体信息。

4、wavefun函数

[phi,psi,xval]=wavefun(wname,iter)

phi,psi分别为尺度函数小波函数的数字近似值,xval就是坐标点向量1*m,m为2^(iter)+2

iter控制迭代次数从而决定精度。

[phi1,psi1,phi2,psi2,xval]=wavefun(wname,iter)

phi2,psi2是重建尺度和小波函数,其他同上。

官方解释文档:

https://ww2.mathworks.cn/help/wavelet/ref/wavefun.html

关于小波变换原理的讲解可以看下面文章:

https://zhuanlan.zhihu.com/p/44215123

https://zhuanlan.zhihu.com/p/44217268

https://www.zhihu.com/question/22864189/answer/40772083

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值