【小波变换】wavedecn方法

article/2025/10/16 11:11:57

wavedecn

 wavedecn(data, wavelet, mode='symmetric', level=None, axes=None)
    Multilevel nD Discrete Wavelet Transform.Parameters----------data : ndarraynD input data# 可通过设置axes参数,来确定小波变化的维度axes : sequence of ints, optionalAxes over which to compute the DWT. Axes may not be repeated. Thedefault is None, which means transform all axes(``axes = range(data.ndim)``).Returns-------[cAn, {details_level_n}, ... {details_level_1}] : listCoefficients list.  Coefficients are listed in descending order ofdecomposition level.  `cAn` are the approximation coefficients atlevel `n`.  Each `details_level_i` element is a dictionarycontaining detail coefficients at level `i` of the decomposition.  Asa concrete example, a 3D decomposition would have the following set ofkeys in each `details_level_i` dictionary::{'aad', 'ada', 'daa', 'add', 'dad', 'dda', 'ddd'}where the order of the characters in each key map to the specified`axes`.# 字符顺序与axes的顺序一致# 若输入三维data,aad分别对应channel,height,width

2D_DWT

在这里插入图片描述

import numpy as np
import pywtinput = np.ones((4, 4))
coeffs = pywt.wavedecn(input, wavelet='haar', level=2)

2D coefficient dictionary和 2D array之间的转换关系:
Handling DWT Coefficients

3D_DWT

三维图像经过一级小波变换可以得到八张子图。
在这里插入图片描述
在这里插入图片描述


import cv2
import numpy as np
import pywtfile = '1.jpg'
img = cv2.imread(file)
# img  (224,224,3)
img = cv2.resize(img, (224, 224))
# img  (3,224,224)
img = np.array([img[:, :, i] for i in range(3)])
coeffs = pywt.wavedecn(img, wavelet='haar', level=3)print(coeffs[3]['aad'].shape)  # (2, 112, 112)
print(coeffs[2]['aad'].shape)  # (1, 56, 56)
print(coeffs[1]['aad'].shape)  # (1, 28, 28)

(1,H,W)的图像进行小波变换,{'daa', 'dad', 'dda', 'ddd'}结果都为0

input = np.arange(4).reshape((2, 2))
print(pywt.wavedecn(input, wavelet='haar', level=1))
# [array([[3.]]), {'ad': array([[-1.]]), 'da': array([[-2.]]), 'dd': array([[0.]])}]input = np.arange(4).reshape((1, 2, 2))
print(pywt.wavedecn(input, wavelet='haar', level=1))
# [array([[[4.24264069]]]), 
# {'aad': array([[[-1.41421356]]]), 
# 'ada': array([[[-2.82842712]]]), 
# 'add': array([[[-2.22044605e-16]]]), 
# 'daa': array([[[0.]]]), 'dad': array([[[0.]]]), 
# 'dda': array([[[0.]]]), 'ddd': array([[[0.]]])}]

参考:Matlab Code for 3D DWT (3 Dimensonal Discrete Wavelet Transform


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

相关文章

Wave Engine 3.1 Released

Wave Engine最近发布了3.1版。 Wave Engine是一款完全免费的3D游戏引擎,能够针对大多数平台和XR设备。该版本带来了对.NET 5和C#9的支持以及图形上的改进。 我们很高兴地宣布,与Microsoft合作,我们刚刚发布了WaveEngine 3.1&…

小波变换——提取图像(低频/宏观)到(高频/微观)信息

对我来说,小波分解属于研究大结构框架中图像预处理最基础的地方,由于创新性不足,一年多前尝试过以后就被搁置;现已研究出较新的多尺度/多分辨率特征提取算法,故将小波变换留个纪念。 import cv2 import numpy as np i…

Waves插件

Waves插件 下载安装包查看是否存在之前版本的waves 用控制面板或者其他软件 卸载 去控制面板中,正常缷掉WAVES 9安装目录,把残留的WAVES文件夹干掉!清理注册表内的内容: 32bit : HKEY_LOCAL_MACHINE\Software\Waves 64bit : HKE…

小波变换(Wavelet Transform)

最近在学习数据挖掘的数据预处理一章中碰到了小波变换,之前并没有学习过有关信号处理的东西,所以参考网上的资料,对其做一个简单的了解,后面如果用得到,再做深入的学习。 本人是相关方面的小白,如有搬运理解…

基于小波变换实现图像增强

1,基于小波变换的图像低通滤波 %小波变换进行滤波变换 clc,clear,close all; Image rgb2gray(imread(baboon.jpg)); nIg imnoise(Image,gaussian); [C,S] wavedec2(nIg,3,db4);%采用db4小波对噪声图像进行3级分解 len length(C); C1 C;C2 C;C3 C; C1(S(1,1)…

waves服务器系统包,Waves Complete 12

Waves Complete 12是一款功能十分强大好用的音频制作类软件哦,且软件中还有着丰富的插件可供用户们选择和使用哦。且全套的音频效果器,也能够满足用户后期混音的需求哦~ Waves Complete 12介绍: 1、调整插件的界面显示比例 5种大小可调&#…

ES8311 低功耗单声道音频编解码器(中文)

版本11.0 低功耗单声道音频编解码器 特征 系统 • 高性能、低功耗多位音频ADC和DAC • I2S/PCM 主串行或从串行数据端口 • 256/384Fs, USB 12/24 MHz 和其他非标准音频系统时钟 • I2C 接口 ADC • 24 位、8 至 96 kHz 采样频率 • 100 dB 信噪比,-93 dB THDN…

小波变换对图像的分解与重构(含matlab代码)

01 小波变换原理 所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。 相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近&#xff0…

多尺度二维离散小波分解wavedec2

对X进行N尺度小波分解 [C,S]wavedec2(X,N,wname); clc,clear all,close all; load woman; [c,s]wavedec2(X,2,db1);%进行2尺度二维离散小波分解。分解小波函数-db1 [cH1,cV1,cD1]detcoef2(all,c,s,1);%尺度1的所有方向的高频系数 [cH2,cV2,cD2]detcoef2(all,c,s,2);%尺度2的所有…

图像处理-小波变换

小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值为零,这说明它与傅里叶波一样是正交波。 图像的傅里叶变换是将图像信号分解为各种不同频率的正弦波。同样,小波变换是将图像信号分…

【Matlab代码】图像的小波分解和重构实现

一、原理 MATLAB中实现图像分解和重构的命令主要有dwt2(idwt2)和 wavedec2( waverec2)。其中,进行一层小波分解的命令为dwt2,对应的小波重构命令为idwt2;进行多层分解的命令为wavedec2,对应的重构命令为 wavered2。 1.1 一层小波…

matlab Wavedec.函数

Wavedec函数 最具挑战性的挑战莫过于提升自我。——迈克尔F斯特利 Wavedec函数 [函数功能] 多尺度一维小波分级。 [语法格式] ○1[C,L] Wavedec (X,N,wname) ○2[C,L] Wavedec (X,N,Lo_D,Hi_D) [使用说明] Wavedec使用给定的小波wna…

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

二维离散小波变换的函数同样可分为3大功能: (1)分解与重构/恢复信号: 1级分解与重构原始信号函数为:dwt2 与 idwt2 多级(包括1级)分解与重构原始信号函数为:wavedec2 与 waverec2 (2&#xff09…

[c0,s0] = wavedec2(M1, N, wtype);

采用小波分解行 clear ; X1 imread(20170901204704.jpg); imshow(X1); figure; M1 double(X1) / 256; imshow(M1); N 4; wtype sym4; [c0,s0] wavedec2(M1, N, wtype); M1导入后为809*803*3,numel(M1) 1948881; 而length(c0) 2011320; 两者并非是按照小…

wav2vec--

Wav2vec: Unsupervised Pre-training for Speech Recognition 该模型非完整的ASR,而是一个将wav通过标记的、未标记的数据,通过无监督的方式进行训练,得到可以送入ASR中的向量;以提升ASR的准确率; Wav2vec首先训练一个…

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

文章目录 1.wrcoef22.upcoef23.detcoef24.appcoef2 1.wrcoef2 功能:从二维小波系数重构单分支 用法: X wrcoef2(‘type’,C,S,wname,N) 根据小波分解结构[C,S],计算N级重构系数矩阵。wname是包含小波名称的字符向量或字符串标量…

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…