问题标签 [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.
steganography - DWT如何用于LSB替换隐写术
在隐写术中,最低有效位 (LSB) 替换方法将秘密位嵌入覆盖介质中的位,例如图像像素。在一些方法中,对图像进行离散小波变换(DWT)并将秘密比特嵌入到DWT系数中,然后使用逆变换来重建隐写图像。
但是,DWT 产生浮点系数,对于 LSB 替换方法,需要整数值。我读过的大多数论文都使用 2D Haar Wavelet,但是,他们并不清楚他们的方法。我已经看到变换是根据低通和高通滤波器(浮点变换)定义的,或者取对值的和和差,或者平均差和平均差等。
更明确地说,无论是在正向变换还是在逆变换中(但不一定都取决于所使用的公式),最终会出现浮点数。我不能将它们用于系数,因为替换不起作用,并且我不能将它们用于重建像素,因为图像需要整数值进行存储。
例如,让我们考虑一对像素,A
并B
作为一维数组。低频系数由和定义,即 ,s = A + B
而高频系数由差定义,即d = A - B
。然后我们可以用B = (s - d) / 2
和重建原始像素A = s - B
。然而,在对系数进行任何位旋转之后,s - d
可能不再是甚至重建像素的浮点值。
对于 2D 情况,1D 变换分别应用于行和列,因此最终会在某处发生除以 4。这可能导致浮点余数为 0.00、0.25、0.50 和 0.75 的值。我只遇到过一篇解决这个问题的论文。其余的在他们的方法上非常模糊,我很难复制它们。然而,DWT 已被广泛用于图像隐写术。
我的问题是,由于我读过的一些文献没有启发性,这怎么可能呢?如何使用引入浮点值的转换,而整个隐写术方法需要整数?
matlab - 如何将平稳小波变换中的系数包含到变量列中?
我正在尝试将平稳小波变换应用于单元阵列中的某些系数,但是这样做时,我最终会在变量中存储一行系数,而不是一列。我一直在对 DWT 做类似的事情,其中系数只包含在一列中,并且效果很好,我希望 SWT 中的系数也包含在列中,但不幸的是没有。有人知道为什么吗?
这是我正在使用的功能:
[L1,H1] = swt(f{1},1,'haar');
有谁知道我如何获得包含在列而不是行中的系数?
matlab - cwtft中的逆连续小波变换和[Parm]
cwtft
什么是'parm'意味着当你在or中设置小波函数的名称时icwtft
。wave = {wname,[7.6]}
. 当我使用'morl'
函数cwtft
或icwtft
变换时,我也可以改变 Fb 和 Fc 吗?如果没有,那么如何使用 cwt 变换重建我的信号?因为 cwt 让我为 fb 和 fc ( cmorfb-fc
) 选择可选值。Matlab 没有直接的小波逆变换功能。
python - 这个小波变换实现是否正确?
我正在寻找 FFT 的替代品以在 python 中创建频谱图分析器。我听说小波变换比短时 FFT 更快,并且提供更好的时间精度。我阅读了这篇 wikipedia article,其中介绍了 Java 中的 Haar 小波变换实现:
https://en.wikipedia.org/wiki/Discrete_wavelet_transform#Code_example
我粗暴地将它转换为 python,但我不知道我得到的值是否正确。有人可以确认吗?
结果:
signal-processing - 计算 DWT 系数以对 eeg 信号进行降噪
现在,我想对 EEG 信号进行降噪,我有一个 EEG 信号(2048 个系数),在运行 Daubechies4 之后,我还获得了 2048 个系数,我想知道如何确定细节和近似系数,而 daubechies4 是 4 级 daubechies还是具有 daubechies4 功能的 1 级?非常感谢。有任何教程可以帮助我吗?
signal-processing - 使用 Daubechies 函数对脑电信号进行去噪
我有一个 EEG 信号,它包含眨眼伪影,我阅读了一些参考资料,知道可以检测眨眼并通过使用小波变换将其移除,但我不知道如何做到这一点,如何检测眨眼?有什么教程给我,在将脑电信号转换成小波系数后,我应该做什么以及可以使用哪个级别的 daubechies 来做到这一点?谢谢!
matlab - 小波分解结构是什么意思?
运行代码:
你能告诉我数组中的元素是什么c
意思l
吗?
r - 时间序列的小波重建
我正在尝试从 Morlet 的小波变换重建原始时间序列。我在 R 中工作,包 Rwave,函数 cwt。该函数的结果是一个包含复数值的 n*m (n=period, m=time) 矩阵。
为了重构信号,我使用了Torrence & Compo 经典文本中的公式(11) ,但结果与原始信号无关。我特别关心小波变换的实部与尺度之间的划分,这一步完全扭曲了结果。另一方面,如果我只是对所有尺度的实部求和,结果与原始时间序列非常相似,但值稍宽(原始序列范围~ [-0.2, 0.5],重构序列范围〜[-0.4,0.7])。
我想知道是否有人能说出一些实用的程序、公式或算法来重建原始时间序列。我已经阅读了 Torrence 和 Compo (1998)、Farge (1992) 和其他书籍的论文,它们都有不同的公式,但没有人真正帮助我。
image - 将每行图像的 CWT 存储在 Cell 中
我想计算每行 480X480 图像的 morlet 小波。我必须保存每一行的变换输出,这是一个二维数组(矩阵)。
然后我将取所有 480 个二维矩阵的平均值,我必须得到一个平均值的最终图。
在这里,我想取 480 个系数矩阵的平均值。这里出现错误
无法从 double 转换为单元格。
土壤波错误(第 12 行)coefs(i) = cwt(K,1:128,'morl');
任何人都可以提出更好的方法或对此进行调整。
c++ - 通过软阈值 (C++) 使用 2d Haar 小波变换进行图像去噪
我正在尝试通过 Haar 变换实现基本的 2D 小波变换之一。
我将此应用于图像去噪问题。
我恢复的结果有一些黑色块和一些白色块。
我想我在没有标准化的情况下坚持软阈值。
这是我的代码:
我怎样才能做到这一点 ?