DENOISEDEMO

denoising demo using shearlets

Contents

Description

  Denoising demo using shearlet transform

Examples

See also SHEARLETTRANSFORM, GENERATEW, ADJSHEARLETTRANSFORM,

INVSHEARLETTRANSFORM, DSHDEN

Copyright

Copyright (C) 2011. Xiaosheng Zhuang, University of Osnabrueck

clc
clear all;
close all;

Reading image

1. image bridge

 img = imread('bridge.jpg');
 img = double(img(89:600,1:512,:));

generating a noisy image

sigma = 30;   % noise level
noise = randn(size(img))*sigma; % Gaussian noise
noisyImg = img+noise;

Setting parameters

R      = 2;                % oversammpling rate R = 2, 4, 8, 16;
beta   = 2;                % scaling factor beta = 2, 4
Choice = 1;                % basis Choice, see GENERATEW
CG     = 0;                % Use CG or not
err    = 1e-5;             % CG control error
its    = 10;               % CG maximal iterations
thr    = 0.01*sigma;       % setting threshold

Denoising

tic
for j = 1:3
recImg(:,:,j) = dshden(noisyImg(:,:,j),thr,R,beta,Choice,0,CG,err,its);
end
toc
Forward Shearlet Transform...
ppFT ...
Weighting ...
Windowing ...
Decomposition of high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Decomposition of low frequency part...
Done!
Done with Forward Shearlet Transform!
Backward Shearlet Transform...
Adjoint Windowing...
Reconstruction from high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Reconstrucion from low frequency part...
Done!
Weighting...
AdjppFT...
Done with Backward Shearlet Transform!
Forward Shearlet Transform...
ppFT ...
Weighting ...
Windowing ...
Decomposition of high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Decomposition of low frequency part...
Done!
Done with Forward Shearlet Transform!
Backward Shearlet Transform...
Adjoint Windowing...
Reconstruction from high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Reconstrucion from low frequency part...
Done!
Weighting...
AdjppFT...
Done with Backward Shearlet Transform!
Forward Shearlet Transform...
ppFT ...
Weighting ...
Windowing ...
Decomposition of high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Decomposition of low frequency part...
Done!
Done with Forward Shearlet Transform!
Backward Shearlet Transform...
Adjoint Windowing...
Reconstruction from high-frequency part...
scale = 9, Number of Tiles = 33
scale = 8, Number of Tiles = 33
scale = 7, Number of Tiles = 17
scale = 6, Number of Tiles = 17
scale = 5, Number of Tiles = 9
scale = 4, Number of Tiles = 9
scale = 3, Number of Tiles = 5
scale = 2, Number of Tiles = 5
scale = 1, Number of Tiles = 3
scale = 0, Number of Tiles = 3
Reconstrucion from low frequency part...
Done!
Weighting...
AdjppFT...
Done with Backward Shearlet Transform!
Elapsed time is 11.692361 seconds.

dispay original image, noisy image, and denoised image

psnr1 = PSNR(img,noisyImg);
figure(1), imshow(uint8(img));
figure(2), imshow(uint8(noisyImg)); text(10,-15,['PSNR = ' num2str(psnr1)]);
psnr2 = PSNR(img,real(recImg)) ;
figure(3),imshow(uint8(real(recImg)));text(10,-15,['PSNR = ' num2str(psnr2)]);