说说wavedec2函数

article/2025/10/16 14:49:44

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层分解,

这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之.输出为c,s.

c为各层分解系数,s为各层分解系数长度,也就是大小.

4.c的结构:c=[A(N)|H(N)|V(N)|D(N)|H(N-1)|V(N-1)|D(N-1)|H(N-2)|V(N-2)|D(N-2)|...|H(1)|V(1)|D(1)]

可见,c是一个行向量,即:1*(size(X)),(e.g,X=256*256,then c大小为:1*(256*256)=1*65536)

A(N)代表第N层低频系数,H(N)|V(N)|D(N)代表第N层高频系数,分别是水平,垂直,对角高频,以此类推,到H(1)|V(1)|D(1).

 s的结构:是储存各层分解系数长度的,即第一行是A(N)的长度,第二行是H(N)|V(N)|D(N)|的长度,第三行是

H(N-1)|V(N-1)|D(N-1)的长度,倒数第二行是H(1)|V(1)|D(1)长度,最后一行是X的长度(大小)


那么S有什么用呢?

s的结构:是储存各层分解系数长度的,即第一行是A(N)的长度(其实是A(N)的原矩阵的行数和列数),

第二行是H(N)|V(N)|D(N)|的长度,

第三行是

H(N-1)|V(N-1)|D(N-1)的长度,

倒数第二行是H(1)|V(1)|D(1)长度,

最后一行是X的长度(大小)




从上图可知道:cAn的长度就是32*32,cH1、cV1、cD1的长度都是256*256。

到此为止,你可能要问C的输出为什么是行向量?

1、没有那一种语言能够动态输出参数的个数,更何况C语言写的Matlab

2、各级详细系数矩阵的大小(size)不一样,所以不能组合成一个大的矩阵输出。

因此,把结果作为行向量输出是最好,也是唯一的选择。


另:MATLAB HELP 里面说得非常明白了,呵呵.

wavedec2

 Multilevel 2-D wavelet decomposition Syntax [C,S] = wavedec2(X,N,'wname')


[C,S] = wavedec2(X,N,Lo_D,Hi_D)


Description wavedec2 is a two-dimensional wavelet analysis function.

[C,S] = wavedec2(X,N,'wname') returns the wavelet decomposition of the matrix X at level N, using the wavelet named in string 'wname' (see wfilters for more information).

Outputs are the decomposition vector C and the corresponding bookkeeping matrix S. N must be a strictly positive integer (see wmaxlev for more information).

Instead of giving the wavelet name, you can give the filters. For [C,S] = wavedec2(X,N,Lo_D,Hi_D), Lo_D is the decomposition low-pass filter and Hi_D is the decomposition high-pass filter.

Vector C is organized as C = [ A(N) | H(N) | V(N) | D(N) | ... H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ]. where A, H, V, D, are row vectors such that A = approximation coefficients H = horizontal detail coefficients V = vertical detail coefficients D = diagonal detail coefficients Each vector is the vector column-wise storage of a matrix.

Matrix S is such that S(1,:) = size of approximation coefficients(N) S(i,:) = size of detail coefficients(N-i+2) for i = 2, ...N+1 and S(N+2,:) = size(X) 

 Examples% The current extension mode is zero-padding (see dwtmode).

% Load original image. 
load woman; 
% X contains the loaded image.

% Perform decomposition at level 2 
% of X using db1. 
[c,s] = wavedec2(X,2,'db1');

% Decomposition structure organization. 
sizex = size(X)

sizex =
    256  256
sizec = size(c)

sizec =
    1  65536
    val_s = s

val_s =
    64  64 
    64  64 
    128  128 
    256  256


Algorithm For images, an algorithm similar to the one-dimensional case is possible for two-dimensional wavelets and scaling functions obtained from one-dimensional ones by tensor product. This kind of two-dimensional DWT leads to a decomposition of approximation coefficients at level j in four components: the approximation at level j+1, and the details in three orientations (horizontal, vertical, and diagonal). The following chart describes the basic decomposition step for images:  So, for J=2, the two-dimensional wavelet tree has the form  See Alsodwt, waveinfo, waverec2, wfilters, wmaxlev ReferencesDaubechies, I. (1992), Ten lectures on wavelets, CBMS-NSF conference series in applied mathematics. SIAM Ed. Mallat, S. (1989), "A theory for multiresolution signal decomposition: the wavelet representation," IEEE Pattern Anal. and Machine Intell., vol. 11, no. 7, pp. 674-693. Meyer, Y. (1990), Ondelettes et opérateurs, Tome 1, Hermann Ed. (English translation: Wavelets and operators, Cambridge Univ. Press. 1993.



http://chatgpt.dhexx.cn/article/4KG5nnbF.shtml

相关文章

小波变换--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&…

MapReduce编程模型

1.MapReduce简介 MapReduce是一个分布式运算程序的编程框架&#xff0c;核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff0c;并发运行在Hadoop集群上。 一个完整的mapreduce程序在分布式运行时有三类实例进程&#xff1a; MRAppMaste…

MapReduce编程框架

1、MapReduce思想 MapReduce思想在生活中处处可见。我们或多或少都曾接触过这种思想。MapReduce的思想核心是分而治之&#xff0c;充分利用了并行处理的优势。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想&#xff0c;而不是自己原创。 MapReduce任务过程是分为…

MapReduce编程实践

MapReduce编程实践 重要知识点&#xff1a; MapReduce是一种分布式并行编程模型,是Hadoop核心子项目之一,如果已经安装了Hadoop&#xff0c;就不需要另外安装MapReduce。主要的理论知识点包括&#xff1a;MapReduce概述、MapReduce的工作流程&#xff0c;WordCount实例分析&a…

mapreduce 编程模型

MapReduce是在总结大量应用的共同特点的基础上抽象出来的分布式计算框架&#xff0c;它适用的应用场景往往具有一个共同的特点&#xff1a;任务可被分解成相互独立的子问题。基于该特点&#xff0c;MapReduce编程模型给出了其分布式编程方法&#xff0c;共分5个步骤&#xff1a…

MapReduce编程基础

&#xff08;一&#xff09;实现词频统计的基本的MapReduce编程。 ①在/user/hadoop/input文件夹(该文件夹为空)&#xff0c;创建文件wordfile1.txt和wordfile2.txt上传到HDFS中的input文件夹下。 文件wordfile1.txt的内容如下&#xff1a; I love Spark I love Hadoop 文件wor…