Asked by Soum
on 15 Jun 2013

Hello I'm trying to apply Donoho formula on my noisy image to get the threshold value and apply it on details coefficients which i get it by using wavedec function please someone help me to get a results if some one have another idea for make my code useful please just tell me I'm waiting

clear all

I=imread('cameraman.tif');

n = prod( size(I) );

I=double(I);

Ib=I+25*randn(size(I));% add noise

[C,S] = wavedec2(Ib,2,'bior3.7');

DH = detcoef2('all',C,S,1);% extract details coefficient from level 1

delta = median( abs(DH) ) / 0.6745;

thr = delta * sqrt(2*log(n));

NC = wthcoef2('bior3.7',C,S,DH,thr,s) % i use the soft threshold

X = waverec2(C, S, 'bior3.7'); % how can i get my image after threshold

figure(2)

imagesc(X);axis off;colormap(gray)

*No products are associated with this question.*

Answer by Wayne King
on 15 Jun 2013

Edited by Wayne King
on 15 Jun 2013

Accepted answer

You want to use the thresholded coefficients in the reconstruction. You also made a couple other errors in your code.

I = imread('cameraman.tif'); n = prod( size(I) ); I = double(I); Ib = I+25*randn(size(I));% add noise [C,S] = wavedec2(Ib,2,'bior3.7'); DH = detcoef2('all',C,S,1);% extract details coefficient from level 1 DH = DH(:); delta = median( abs(DH) ) / 0.6745; thr = delta * sqrt(2*log(n)); NC = wthcoef2('t',C,S,1,thr,'s'); % i use the soft threshold X = waverec2(NC, S, 'bior3.7');

figure; imagesc(Ib); title('Noisy Image'); colormap gray; figure; imagesc(X); title('Denoised 1st level coeffs'); colormap gray;

Show 5 older comments

Soum
on 16 Jun 2013

THANK YOU AGAIN :) but you didn't understand me whatt does it mean the 't'??? NC = wthcoef2('t',C,S,1,thr,'s');

Walter Roberson
on 22 Jun 2013

The 't' is a literal string. http://www.mathworks.com/help/wavelet/ref/wthcoef2.html

NC = wthcoef2('t',C,S,N,T,SORH) returns the detail coefficients obtained from the wavelet decomposition structure [C,S] by soft (if SORH ='s') or hard (if SORH ='h') thresholding (see wthresh for more information) defined in vectors N and T. N contains the detail levels to be thresholded and T the corresponding thresholds which are applied in the three detail orientations. N and T must be of the same length.

Soum
on 25 Jun 2013

Thanks Mr.Walter Yes I've read this http://www.mathworks.com/help/wavelet/ref/wthcoef2.html but my Problem is why we put the t ???? t is a literal string but what does it mean ?

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments