问题标签 [wavelet-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

image-processing - 识别将图像变为暗面的转换

在研究一种检测图像中线性对象的新方法时,我发现了一种将图像变成幽灵般的缠结网络的转换。我的理论是,转换后的图像显示了空间相干性的主要路径。

这种分析是否已经在其他图像处理领域或其他应用程序中完成?

我展示了一个森林区域的卫星图像示例:

林区暗面变换

我有图像操作的经验来识别图像中的特征,比如边缘或直线,但我从未见过这样的事情。

该方法基于每个像素周围的几个小波变换,考虑所有方向的线并选择具有最大卷积值的角度。此操作导致每个像素有两个数字:最大卷积及其对应的角度,类似于傅里叶分析的幅度和相位。在上面的示例中,卷积图显示为将其极值缩放为灰度图。

正如@user1118321 的评论中所建议的,我已经将转换与 Sobel 过滤器进行了比较:

森林区域的暗面变换与索贝尔滤波器

Sobel算子在每个像素中逼近图像的空间导数。使用经典的 3x3 内核,获得梯度向量的一阶近似值,通常用于突出边缘。我的过滤器使用任意内核大小(上例中为 32x32),但不近似任何阶的空间导数。正如@Meisam 的评论中所指出的,该图像与线性内核卷积,可以解释为局部霍夫变换。选择卷积值最大的核,将图像局部近似为对应方向的一条线。

这个假设回答了我的部分问题,但过滤图像中存在的路径的确切含义仍然是开放的。这些路径似乎连接了图像的某些区域,可能是空间连贯的,也可能只是局部霍夫变换叠加的视觉伪影。

0 投票
0 回答
341 浏览

python - 如何测量离散小波变换 (DWT) 和复小波变换中的位移方差

我有癫痫患者的脑电图数据。我已经应用了两种不同的方法来生成特征,即离散小波变换 (DWT) 和双树复小波变换 (DTCWT)。我用 DTCWT 找到了更好的结果。为了支持我的方法,我想证明 DWT 是移位变体,但 DTCWT 不会受到移位的太大影响。我进行了很多搜索,但找不到在 python 中比较 dwt 和 dtcwt 的移位方差的正确方法。有人能帮我吗?

0 投票
2 回答
816 浏览

python - 为什么无论阈值水平如何,小波去噪都会产生相同的结果?

我正在尝试对金融时间序列数据进行去噪(逐秒)。我有一个很长的时间序列,但我一直在使用 100,000 次观察来测试小波去噪 (haar) 的工作情况。它没有。

无论我做什么,重建的信号最终总是几乎与原始信号相同。显然,我想保留原始信号,但我觉得这个序列只是没有被去噪——一个金融时间序列,其唯一的噪声出现在几秒钟​​的分辨率中?此外,即使在最小的时间尺度上,重建图和原始图的图也几乎相同。

我尝试改变母小波、时间序列长度、完成时间序列重建的模式(软与硬),显然,我已经弄乱了阈值本身。我从 sqrt(2*log(len(signal))) 的推荐/标准阈值开始,但这对我几乎没有任何作用,所以我逐渐增加它,直到我达到完全荒谬的 2*len(signal)* *2——它应该使图形变得面目全非,但基本上什么也没做。

我预计重建的信号会与原始信号有很大不同(如平滑、去噪、更少……与原始信号相同),但事实并非如此。在最小的尺度上(想想在 100,000 秒的尺度上每 10 或 20 秒一次),有一些非常小的平滑,基本上只是忽略了大小为 0.01 的峰和谷(可能的最小变化),但它几乎可以忽略不计。

我期待一个信号,嗯,我不知道——去噪了?难道我做错了什么?

0 投票
1 回答
290 浏览

python - 输入图像的小波二维散射变换

我正在尝试对输入图像进行 2D 散射变换。当我运行以下代码时,我收到此错误:“过滤器与乘法不兼容!”。有人可以帮忙吗?谢谢!

0 投票
0 回答
221 浏览

matlab - 未定义的函数或变量“ndwt2”

我正在使用来自 LANDSAT 8 的一张多光谱图像和一张全景图像进行全色锐化融合。

当我尝试应用 de Pansharpening Toolbox(作者:Gemine Vinone 等人)中的 AWLP 算法时会出现问题,因为算法内部使用了一个名为ndwt2.

http://www.codeforge.com/read/255069/ndwt2.m__html <==== 这个文件对我不起作用

该函数显然在 2 年或更多年前的 MATLAB 小波工具箱中。我不知道算法是如何工作的,所以我需要知道如何使用swt2,dwt2等...来执行相同的操作ndwt2

我一直在整个网络上搜索,甚至在第三个谷歌页面 xD 上,但没有找到解决方案。

0 投票
1 回答
79 浏览

matlab - MATLAB 中 wfuseimg 的可能参数是什么?

该函数wfuseimg使用小波融合两个图像。

但是,它的文档很差(对于 MATLAB 标准)并且缺乏一般描述。特别是,每个输入存在哪些选项。

WNAME AFUSMETH和的可能输入是DFUSMETH什么?

0 投票
0 回答
1075 浏览

python - 绘制一个尺度图如何在contourf中选择级别

我正在尝试绘制我拥有的信号的连续小波变换的输出。该信号只是频率随时间降低的余弦波。我只是用它来测试绘图功能。

我有一个绘制 CWT 比例图的函数,但我正在努力选择正确的水平范围以用于我的等高线。

我想知道的:

  1. 增加级别的数量基本上只是使颜色区域之间的差异变小吗?级别越多,相邻级别之间的差异就越小?

  2. 如果您查看下面的图,您会注意到第一个图中似乎有更多不同的区域(具有更多级别)所以我认为这是一件好事。在底部图中,使用较少的级别,我们将整个大的深红色部分视为一种颜色,而不是几种不同的色调。

我感谢任何反馈/评论/答案,或者如果您发现任何错误。太感谢了!

我用来创建绘图的函数:

下面两个图之间的唯一区别是使用的级别,其他一切都相同:

这是水平 = [0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16] 的图

在此处输入图像描述

这是级别 = [0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1] 的图

在此处输入图像描述

0 投票
1 回答
503 浏览

matlab - 相当于octave gui的cwt(matlab)函数?

我想在我的 octavegui 代码中使用连续小波变换 (CWT)函数。

在 Octave gui CWT 中不可用 - 是否有等效的 .pkg 可以使用 cwt?

fwt在 ltfat.pkg 中可用-但这似乎与 cwt 不同。

根据来自 Prusa 的pdf,CWT 的一种形式是 Morlet 或墨西哥帽(“Continuous Wavelet Transfom – CWT (Morlet, Mexican hat, . . . . ).= - 是否可以在 Octave 中使用 Morlet 函数?或这是不同的东西吗?

有什么建议么?(我不是数学家)

谢谢你

0 投票
0 回答
30 浏览

python - 22行546304列数组的连续小波变换

我想对 22 行和 546304 列的数组(时间序列信号)应用连续小波变换,以将尺度图提供给 CNN。我收到错误Traceback (most recent call last): File "E:/physionet/wavelet.py", line 144, in create_cwt_image sig = data[ii, :, jj] IndexError: too many indices for array 我不知道我是否以正确的方式使用 CWT 以及我的代码是否正确。

任何可以提供一些见解的人将不胜感激。

0 投票
1 回答
40 浏览

fft - 小波包分解后应用 FFT 是否合理 lv3

WPD = 小波包分解

你好,亲爱的堆栈溢出。我对我的时间序列数据有疑问。我的数据是机器或机床中轴承的振动。

我们知道WPD作为一个滤波器工作,分为8个频段:

但是,如果将重构应用于这 8 个频带,则只能应用 0~2000Hz 的 Nyquist 定理(根据 Nyquist 定理,只有不到一半的频率是有效的)。

由于2000Hz以上的频率变得毫无意义,那么我们只使用1、2、3、4频段进行重构。那正确吗?

我有两个问题是:

首先,在应用 WPD 后进行重建时,是否可以仅使用 0 ~ 2000Hz,这是采样频率的一半

当我在 WPD 之后重建过程时,

应用WPD后使用FFT合理吗??