gpt4 book ai didi

matlab - 二维小波变换和多重分形

转载 作者:行者123 更新时间:2023-12-05 07:55:16 25 4
gpt4 key购买 nike

我正在研究一个使用 2D 小波变换的 Matlab 项目。我正在研究小波变换模极大值方法 (WTMM)。我使用 Matlab 小波工具箱。我对小波和 WTMM 方法有一些疑问:- 我使用 2D 离散小波变换(也使用 dwt2 和 wavedec2),但我并不真正理解 dwt2 输出近似/垂直/水平/对角线的作用。我看到它们是低通和高通滤波器 (https://www.clear.rice.edu/elec301/Projects02/artSpy/dwt.html) 的结果,但是我应该使用哪个输出来找到图像上的局部最大值?

[A,H,V,D] = dwt2(X,'wname')
  • 我还在我的项目中使用了多重分形。为了绘制比例函数,我必须首先绘制配分函数(根据这篇文章 http://www.scholarpedia.org/article/Wavelet-based_multifractal_analysis,在“WTMM 方法”部分)。但是我不知道如何正确地绘制这个;这是我的代码:

     [A,H,D,V] = dwt2(im,'haar');         
    im_max = imregionalmax(abs(A)); % Modulus Maxima of the wavelet
    Transform, using the Approximation
    wavelet
    figure, imshow(im_max);

    %% Partition Function Z

    Z = 0; % Initialization of the partition function

    for q = -5:5

    Z = Z + abs(im_max).^q ;% Definition of the partition function.
    %Certainly wrong, I think q can't be the variable for the loop and
    % im_max is not the correct input in abs.

    end

    a = 2; % scale factor. It is supposed to vary, I put it to 2 just for
    % tests

    tau = log(z)/log(a); % scaling function, in function of q according to
    % the article

    plot(tau,q);

预先感谢您的帮助

最佳答案

只是快速更新一下我偶然发现的你的问题,强调一些基本的事情:WTMM 要求您计算连续小波,它不适用于离散基础。例如,您可以使用简单的墨西哥帽或高斯小波的三阶导数,并确保结果不会有显着差异。至于配分函数,您可以只选择整个域上小波模的总和。然而,表明这种选择不如计算最大值之和稳定,尤其是对于负 q。因此,您需要采用整个范围的尺度“a”,从奈奎斯特逆频率到域大小的十万分之一,找到每个尺度的局部最大值,并丢弃那些无法跨尺度连接的线.这是棘手的一点,这使得计算非常麻烦。当您达到越来越精细的比例时,会出现越来越多的线条。您对合理范围内的每个 q 重复此操作,例如 [-1:6] 中的 q,较小的 q 通常会给出不可靠的结果。一旦您像这样获得 Z(a, q),您就可以检查子尺度范围是否具有良好的尺度行为。幂律指数通常表示为 tau(q): Z ~ a^tau。它是自由能的热力学模拟。如果 tau(q) 接近直线,则有分形,如果更接近抛物线,则有多重分形。如果是其他任何事情,您应该将前面的步骤重复两次。为了获得频谱 D(h)(或 f(alpha)),需要进行更多分析,而不是进行勒让德变换,这在计算上也可能不稳定。希望在您提问很久之后对您有所帮助。

关于matlab - 二维小波变换和多重分形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com