Using DCT filter as processing filter

2 views (last 30 days)
Stavros Bouzis
Stavros Bouzis on 10 Jan 2018
Edited: Stavros Bouzis on 10 Jan 2018
Hello, I'm trying to implement this simple denoising filter (attached also): http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6877832
function output = dct_filter(I_bw) % import a double grayscale image
X = dct(I_bw); % apply DCT
Xs = sort(abs(X(:)),'ascend');
% Determine the 30% of the DCT coefficients are significant
low_band = Xs((1:ceil(length(Xs)*0.3)));
max_low = max(low_band);
sigcoeff = (abs(X) <= max_low);
% Reconstruct the signal using only the significant components.
X(~sigcoeff) = 0;
output = idct(X);
end
Has anyone ane idea why doesn't it work?

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!