Wavelet Denoising Using imfilter
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I have a basic question on wavelets for image processing. In order to see if I understand correctly the wavelet equation and the denoising tools, I am trying to do the a simple exercise in two ways that should be (or shouldn't they ?) theoretically equal.
Let's assume that we want to extract the 4-th level approximation of the image 'woman' using the sym8 wavelet. From the formula, it seems that this should simply be the convolution with the 2d wavelet of size 2^4. Or, we could do the wavelet decomposition (wavedec2) and then use the wdencmp command with a hard threshold setting to a very large number to remove all the details terms
That is:
load woman LEVELS=4; %Number of levels
%% Method 1: Convolution %Prepare the 2D Wavelet Scaling Function [S,W1,W2,W3,XYVAL] = wavefun2('sym8',LEVELS); %Normalize the output S_n=S/(2^LEVELS); %Perform Convolution M_1=conv2(X,S_n,'same');
%% Method 2: Trasform and use Dummy Hard Threshold % Dummy threshold MATRIX THR_v=ones([1,LEVELS])*realmax; THR=repmat(THR_v,[3,1]); % Decomposition [C,L] = wavedec2(X,lev,'sym8'); % Hard Thresholding M_2=wdencmp('lvd',X,'sym8',lev,THR,'h');
figure subplot(1,2,1) imagesc(M_1) colorbar subplot(1,2,2) imagesc(M_2) colorbar
Besides an obvious problem in the scaling, the results look qualitatively different. Where am I doing the mistake? in the theory or in the practice :) ?
Thank you for you help
Miguel
0 Commenti
Risposte (0)
Vedere anche
Categorie
Scopri di più su Denoising and Compression in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!