我正在进行一个使用二维小波变换的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')
I also use multifractal formalism in my project. In order to plot the scale function, I have to plot firstly the partition function (according to this article http://www.scholarpedia.org/article/Wavelet-based_multifractal_analysis, in the "WTMM method" part). However I don't know how to plot correctly this; here my code :
[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);