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

article/2025/10/16 14:22:53

文章目录

  • 1.wrcoef2
  • 2.upcoef2
  • 3.detcoef2
  • 4.appcoef2

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);
a1 = 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)

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)
%利用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)
colormap(gray)
%在每个方向的第1层提取细节系数。显示垂直细节系数。
[chd1,cvd1,cdd1] = detcoef2('all',c,s,1);
size(cvd1)
subplot(133);imagesc(cvd1)
colormap(gray)
%恢复原始扩展模式。
dwtmode(origmode,'nodisplay')

运行结果:
在这里插入图片描述
在这里插入图片描述

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') 

运行结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/UYy044uc.shtml

相关文章

MATLAB 之 wavedec2函数详解

wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度. 2.格式:[c,s]wavedec2(X,N,wname) [c,s]wavedec2(X,N,Lo_D,Hi_D)(我不讨论它) 3.参数说明:对图像X用wname小波基函数实现N层分解, 这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之…

wavedec2函数详解

zz: http://hi.baidu.com/hehui1500/blog/item/81ba18dea873430349540382.html 很多人对小波多级分解的wavedec2总是迷惑,今天就详释她! wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度. 2.格式:[c,s]wavedec2(X,N,w…

python小波变换 wavedec2函数 各个返回值详解

网上找了好多文章都没有提到这个东西,没有说明 wavedec2 函数各个返回值究竟是什么意思 我们先看看 wavedec2 函数的大概形式, pywt.wavedec2(data, wavelet, mode’symmetric’, levelNone, axes(-2, -1))data: 输入的数据wavelet: 小波基level: …

图像的变换——dwt、idwt、wcodemat、dwt2、idwt2、wavedec2、waverec2

文章目录 图像小波变换一、一维小波变换1. dwt函数2.idwt函数 二、二维小波变换1.wcodemat函数2.dwt2函数3.idwt2函数4.wavedec2函数5.waverec2函数 三、相关单词 图像小波变换 一、一维小波变换 1. dwt函数 功能: 单级一维离散小波变换 句法: [cA,c…

说说wavedec2函数

http://maiqiuzhizhu.blog.sohu.com/110325150.html wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解. 多层,即多尺度. 2.格式:[c,s]wavedec2(X,N,wname) [c,s]wavedec2(X,N,Lo_D,Hi_D)(我不讨论它) 3.参数说明:对图像X用wname小波基函数实现N层分解, 这里的小波基函数应…

小波变换--dwt2 与wavedec2

https://www.cnblogs.com/xfzhang/p/7295041.html https://www.ilovematlab.cn/thread-45020-1-1.html dwt2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解。而wavedec2是二维多尺度小波分解. 尺度可理解为级,即waved…

MapReduce编程概述

MapReduce是一个用于大规模数据集的并行处理的分布式计算的编程框架。MapReduce将一个数据处理过程拆分为Map和Reduce两部分:Map是映射,负责数据的过滤分发;Reduce是规约,负责数据的计算归并。开发人员只需通过编写map和reduce函数…

Mapreduce编程模型(一)

1.1Mapreduce模型简介 Mapreduce是一种可用于数据处理的编程模型,Hadoop上可以运行各种语言版本的Mapreduce程序。Mapreduce程序是并行运行的,采用了分治的思想。编程核心思想:键值对思想 Mapreduce只需要用Map和Reduce的思想即可解决问题&am…

MapReduce 编程实例:词频统计

文章目录 MapReduce 编程实例:词频统计一,准备数据文件(1)在虚拟机上创建文本文件(2)上传文件到HDFS指定目录 二,使用IDEA创建Maven项目三,添加相关依赖四,创建日志属性文…

mapreduce 编程思想

MapReduce源于Google一篇论文,它充分借鉴了分而治之的思想,将一个数据处理过程拆分为主要的Map(映射)与Reduce(化简)两步。用户不懂分布式计算框架的内部运行机制,只要能用Map和Reduce的思想描述清楚要处理的问题,即编写map()和re…

MapReduce编程规范及示例编写

1、Mapper类 用户自定义一个Mapper类继承Hadoop的Mapper类Mapper的输入数据是KV对的形式(类型可以自定义)Map阶段的业务逻辑定义在map()方法中Mapper的输出数据是KV对的形式(类型可以自定义) 注意:map()方法是对输入…

MapReduce编程快速入门

MapReduce编程规范 用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端) Mapper阶段继承Mapper类 (1)用户自定义的Mapper要继承自己的父类 (2)Mapper的输入数据是KV对…

java mapreduce编程_Hadoop实验——MapReduce编程(1)

实验目的 通过实验掌握基本的MapReduce编程方法。 掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和数据挖掘等。 通过操作MapReduce的实验,模仿实验内容,深入理解MapReduce的过程,熟悉MapReduce程序的编程方…

MapReduce编程初级实践

一、实验目的 通过实验掌握基本的MapReduce编程方法;掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和数据挖掘等。 二、 实验平台 操作系统:ubuntu18 Hadoop版本:3.2.2 HBase版本:2.2.2 JDK版…

MapReduce编程练习

目录 编程实现按日期统计访问次数 2.编程实现按访问次数排序 获取成绩表最高分 编译jar包方法 编程实现按日期统计访问次数 (1) 定义输入/输出格式 社交网站用户的访问日期在格式上属于文本格式&#xff0c;访问次数为整型数值格式。其组成的键值对为<访问日…

云计算实验 MapReduce编程

一、实验题目 MapReduce编程 二、实验内容 本实验利用 Hadoop 提供的 Java API 进行编程进行 MapReduce 编程。 三、实验目标 掌握MapReduce编程。 理解MapReduce原理 【实验作业】简单流量统计 有如下这样的日志文件&#xff1a; 13726230503 00-FD-07-A4-72-B8:CMCC 120.19…

Hadoop实验4:MapReduce编程

目录 一. 【实验准备】 1.工作目录 2.打开eclipse并配置工作空间 二、准备工作 1. 新建项目 2. 准备测试数据 3. 添加 MapReduce 编程框架 三、Map过程 四、Reduce过程 五、执行MapReduce任务 六、实验结果 七、准备工作 1. 新建项目 2. 准备relation.dat 3. 添加…

MapReduce 编程规范 (以WordCount为例)

先介绍一下常用的数据序列化类型 在MapReduce编程中&#xff0c;需要进行数据传输&#xff0c;比如将Mapper的结果传入Reducer中进行汇总&#xff0c;媒介就是context,所以需要可以序列化的数据类型。 MapReduce编程规范 Mapper阶段、Reducer阶段&#xff0c;Driver阶段 Map…

MapReduce 编程实战

MapReduce 采用了「分而治之」的思想。在分布式计算中&#xff0c;MapReduce 框架负责处理并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题&#xff0c;把处理过程高度抽象为两个函数&#xff1a;map&#xff0c;把一个任务分解成多个任务…

实验三-MapReduce编程

前提&#xff1a;安装好Hadoop 参考文章&#xff1a; MapReduce编程实践(Hadoop3.1.3)_厦大数据库实验室博客 实验要求 基于MapReduce执行“词频统计”任务。 将提供的A&#xff0c;B&#xff0c;C文件上传到HDFS上&#xff0c;之后编写MapReduce代码并将其部署到hadoop&…