二维离散小波变换的函数同样可分为3大功能:

(1)分解与重构/恢复信号:

  • 1级分解与重构原始信号函数为:dwt2 与 idwt2

  • 多级(包括1级)分解与重构原始信号函数为:wavedec2 与 waverec2

(2)系数重构:

  • 1级分解的系数重构用函数的是:upcoef2

  • 多级分解的系数重构用函数的是: wrcoef2

(3)系数提取:

  • 多级分解低频近似系数提取:appcoef2

  • 多解分解高频细节系数提取:detcoef2

说明:相关注意与说明和一维下是完全一样的!

链接:https://www.jianshu.com/p/fbbc8573f7ed

1.wrcoef2

功能:从二维小波系数重构单分支

用法:

  • X = wrcoef2(‘type’,C,S,wname,N)

  • 根据小波分解结构[C,S],计算N级重构系数矩阵。wname是包含小波名称的字符向量或字符串标量(有关详细信息,请参阅wfilters)。如果‘type’=‘a’,则重构近似系数;如果’type’=‘h’(‘v’或’d’,则分别重建水平(垂直或对角线)细节系数。级别N必须是整数,使得如果’type’=‘a’,则满足0≤ N≤ size(S,1)-2;如果’type”=“h”、“v”或“d”,则满足1≤ N≤ size’(S,1)-2 。可以给出滤波器,而不是给出小波的名字。

  • X = wrcoef2(‘type’,C,S,Lo_R,Hi_R,N)

  • Lo_R是重构低通滤波器,Hi_R是重构高通滤波器

  • X = wrcoef2(‘type’,C,S,wname)

  • X = wrcoef2(‘type’,C,S,Lo_R,Hi_R)

  • X = wrcoef2(‘type’,C,S,wname) 与 X = wrcoef2(‘type’,C,S,Lo_R,Hi_R)重构最大水平N= size(S,1)-2的系数。

代码示例:

load woman;% Load an image,X contains the loaded image.
[c,s] = wavedec2(X,2,'sym5');%在2级执行分解,使用sym5的X
%在1级和2级重建近似值,从小波分解结构[c,s]
a1 = wrcoef2('a',c,s,'sym5',1);
a2 = wrcoef2('a',c,s,'sym5',2);
%在第二层重建细节,从小波分解结构[c,s].
hd2 = wrcoef2('h',c,s,'sym5',2);% 'h' is for horizontal,
vd2 = wrcoef2('v',c,s ,'sym5',2);% 'v' is for vertical,
dd2 = wrcoef2('d',c,s ,'sym5',2);% 'd' is for diagonal.
%所有这些图像的大小都相同。
sX = size(X)
sa1 = size(a1)
shd2 = size(hd2)subplot(321)
imagesc(a1); title('1层重构近似值');
subplot(322);
imagesc(a2);title('2层重构近似值');
subplot(323)
imagesc(hd2);title('水平方向的高频分量');
subplot(324)
imagesc(vd2);title('垂直方向的高频分量');
subplot(325)
imagesc(dd2);title('对角线方向的高频分量');
% xlabel('小波变换各分量二维重构示意图');
print('-djpeg','-r600','F:\01-测试\分析图.jpg');

2.upcoef2

功能:从二维小波系数重构单分支

用法:

  • Y = upcoef2(O,X,wname,N,S)

  • 计算矩阵X的N步重构系数并取大小S的中心部分。wname是指定小波的字符向量或字符串标量。如果O=‘a’,则重构近似系数;如果O=‘h’(‘v’或’d’,分别),则重构水平(垂直或对角线,分别)细节系数。N必须是严格的正整数。

  • Y = upcoef2(O,X,Lo_R,Hi_R,N,S)

  • Y = upcoef2(O,X,wname,N) or Y = upcoef2(O,X,Lo_R,Hi_R,N)

  • 返回计算结果而不进行任何截断

  • Y = upcoef2(O,X,wname) or Y = upcoef2(O,X,wname,1)

  • Y = upcoef2(O,X,Lo_R,Hi_R) or Y = upcoef2(O,X,Lo_R,Hi_R,1)

代码示例:

load woman; % Load original image.,X contains the loaded image.
[c,s] = wavedec2(X,2,'db4');% 在2级执行分解,使用db4的X.
% 从系数重建1级的近似值和细节。
% 这可以使用wrcoef2完成,或等效地使用;
% Step 1: 从分解结构中提取系数[c,s].
% Step 2: 使用upcoef2重建.
siz = s(size(s,1),:);
ca1 = appcoef2(c,s,'db4',1);
a1 = upcoef2('a',ca1,'db4',1,siz);
chd1 = detcoef2('h',c,s,1);
hd1 = upcoef2('h',chd1,'db4',1,siz);
cvd1 = detcoef2('v',c,s,1);
vd1 = upcoef2('v',cvd1,'db4',1,siz);
cdd1 = detcoef2('d',c,s,1);
dd1 = upcoef2('d',cdd1,'db4',1,siz);

运行结果:

3.detcoef2

功能: 二维细节系数

用法:

  • y = detcoef2(o,c,s,n)

  • 从小波分解结构[c,s]中提取n层方向o的细节系数。

  • [h,v,d] = detcoef2(‘all’,c,s,n)

  • 以级别n返回处的水平h、垂直v和对角线d细节系数。等价于detcoef2(‘a’,c,s,n)。

  • y = detcoef2(‘compact’,c,s,n)

  • 返回按行存储的所有细节系数。等价于detcoef2(‘c’,c,s,n)。

  • 这个例子展示了如何从图像的离散小波分析中提取细节系数。本例使用零填充。

代码如下(示例):

%将扩展模式设置为零填充。
origmode = dwtmode('status','nodisplay');
dwtmode('zpd','nodisplay');
%加载并显示图像。
load woman
subplot(131);
imagesc(X)
colormap(gray); title('原始图片');
%利用Haar小波对图像进行二级小波分解。
[c,s] = wavedec2(X,2,'haar');
size(X)
size(c)
s
%从小波分解结构[c,s]中提取每个方向第2层的细节系数。显示对角线细节系数。
[chd2,cvd2,cdd2] = detcoef2('all',c,s,2);
size(cdd2)
subplot(132);
imagesc(cdd2);title('对角线方向的高频分量');
colormap(gray)
%在每个方向的第1层提取细节系数。显示垂直细节系数。
[chd1,cvd1,cdd1] = detcoef2('all',c,s,1);
size(cvd1)
subplot(133);
imagesc(cvd1);title('垂直方向的高频分量');
colormap(gray)
%恢复原始扩展模式。
dwtmode(origmode,'nodisplay')
print('-djpeg','-r600','F:\01-测试\分析图.jpg');

运行结果:

4.appcoef2

功能: 二维近似系数

用法:

  • A = appcoef2(C,S,wname)

使用二维信号的小波分解结构[C,S]和wname指定的小波返回最粗尺度上的近似系数。

  • A = appcoef2(C,S,LoR,HiR)

使用低通重建滤波器LoR和高通重建滤波器HiR。

  • A = appcoef2(…,N)

返回N级的近似系数。如果[C,S]是二维信号的M级小波分解结构,则0≤ N≤ M。

代码如下(示例):

origmode = dwtmode('status','nodisplay');
dwtmode('zpd','nodisp')
load woman
subplot(131)
image(X)
colormap(map)
title('Original')
size(X)
%使用db1小波对图像执行三级小波分解。
%显示系数数组cfs中的元素数,以及记账矩阵inds的内容。
%请注意,cfs的元素数与X相同。
wv = 'db1';
[cfs,inds] = wavedec2(X,3,wv);
numel(X)
numel(cfs)
inds
%提取并显示第2级的近似系数。
cfs2 = appcoef2(cfs,inds,wv,2);
subplot(132)
imagesc(cfs2)
colormap('gray')
title('Level 2 Approximation Coefficients')
size(cfs2)
%提取并显示第3级的近似系数。
cfs3 = appcoef2(cfs,inds,wv,3);
subplot(133)
imagesc(cfs3)
colormap('gray')
title('Level 3 Approximation Coefficients')
size(cfs3)
dwtmode(origmode,'nodisplay')
print('-djpeg','-r600','F:\01-测试\分析图.jpg');

运行结果:

————————————————

版权声明:本文为CSDN博主「计算机视觉从零学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_43889476/article/details/117880121

二维小波变换——wrcoef2、upcoef2、detcoef2、appcoef2(转)相关推荐

  1. 二维小波变换——wrcoef2、upcoef2、detcoef2、appcoef2

    文章目录 1.wrcoef2 2.upcoef2 3.detcoef2 4.appcoef2 1.wrcoef2 功能:从二维小波系数重构单分支 用法: X = wrcoef2('type',C,S, ...

  2. matlab小波变换程序,matlab 二维小波变换程序

    %  FWT_DB.M; %  此示意程序用DWT实现二维小波变换 %  编程时间2004-4-10,编程人沙威 %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% ...

  3. 二维haar小波matlab_二维小波变换MATLAB实现.ppt

    二维小波变换MATLAB实现 二维小波变换MATLAB实现 斑渺龋钝臃疗该限桨呀呕肚厌欧没规兰痊脱飘疑艰雁峪告涡稽朵猫著明帝二维小波变换MATLAB实现二维小波变换MATLAB实现 dwt2函数 功能 ...

  4. wrcoef2函数_matlab中二维小波变换部分函数

    小波通用函数 一.biorfilt函数 双正交小波滤波器组 ① [Lo_D,Hi_D,Lo_R,Hi_R]=biorfilt(DF,RF) ② [Lo_D1,Hi_D1,Lo_R1,Hi_R1,Lo_ ...

  5. 二维小波变换_Wavelet Pooling小波池化的思考

    本文主要针对Wavelet pooling for convolutional neural networks,ICLR 2018. 简而言之,我认为这篇文章存在一些问题,当然可能是自己理解有误.于是 ...

  6. 二维小波变换_小波变换完美通俗讲解系列之 (一)

    声明:该篇文章转自csdn,原始博主已经找不到了,在这里给出转载博主地址,如有侵权,请私信我删除. https://blog.csdn.net/liusandian/article/details/5 ...

  7. 二维小波变换_让你永远忘不了的傅立叶变换解析

    使用联想链条和几何直观,辅以从实际需求衍生概念的思考模式,详解什么是傅立叶变换,为什么要做傅立叶变换等,帮助记忆和理解,目的当然是标题所说:让你永远忘不了傅立叶变换这个公式.另,这篇博客还从侧面一定程 ...

  8. 二维小波变换在图像降噪与压缩中的应用

    1 介绍 图像中包含了人类感知世界.认识世界.改造世界的大部分信息量.图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的要求.图像去噪是图像处理研究的一个永恒主题.大多数图像去噪的方法 ...

  9. 二维小波变换_很好的一篇小波变换的基础介绍

    话说很早以前,我们接触的信号频域处理基本都是傅立叶和拉普拉斯的天下.但这些年,小波在信号分析中的逐渐兴盛和普及.这让人不得不感到好奇,是什么特性让它在图象压缩,信号处理这些关键应用中更得到信赖呢?说实 ...

最新文章

  1. ubuntu中启用ssh服务
  2. [2008.06.10 23:20:00] 心智成熟的旅程
  3. 【机器学习PAI实践四】如何实现金融风控
  4. 原来历史人物的英文名竟然叫这些,太好笑了吧哈哈哈哈哈
  5. 设计模式--单例模式--Java实现
  6. python自定义配置文件读取_python读取和自定义配置文件的方法
  7. 如何评价,为何程序员被骂立马就辞职呢?
  8. Centos6.X安装smokeping
  9. eclipse启动报错 Java was started but returned exit code=13 解决方法
  10. spark练习之统计广告Top3
  11. OpenCV笔记(十八)——使用霍夫变换检测圆圈
  12. 4亿线上用户性能保证:Linked Redliner架构解密
  13. javascript开发中的封装模式(转)
  14. 2. Windows编程基础
  15. 模拟CMOS集成电路设计中的gm/id设计方法及用Cadence Virtuoso IC617仿真有关参数曲线
  16. linux 进程通信 - 消息队列
  17. 如何实现从外部APP直接跳转微信小程序的解决方案
  18. 大数据时代最全的医学公共数据库合集整理
  19. Oracle 企业管理器DataBase Control使用说明
  20. 米狗族 Android平台Qt开发入门教程

热门文章

  1. 公众号滑动图代码_微信公众号图文中的图片如何实现上下左右的滑动效果?
  2. 无人值守自动安装Linux操作系统
  3. 顺序表SeqList的各种操作
  4. Flutter 实现卡号格式的显示和输入
  5. html5车牌号,JS 校验车牌号码(全)
  6. 数字证书将被淘汰--推广全国电子证照系统
  7. 数据库关联表名命规范
  8. linux 逻辑卷 pe size 4.00 mib大小怎么改,CentOS6.5 linux 逻辑卷管理 调整分区大小
  9. vmware下载存储vmdk文件后缀变-flat处理方式
  10. shell IF语句的使用