Using DCT filter as processing filter

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?

답변 (0개)

카테고리

질문:

2018년 1월 10일

편집:

2018년 1월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by