📄 fritdemo.m
字号:
% This Matlab script file contain examples on how to use the FRIT toolbox% Test image (of size 257 by 257)im = makeGauss(257, 2, 0.5);% Wavelet parameterswname = 'db4';nlevels = 5;dwtmode('per');% FRAT and FRITra = frat(im);[ri, l, m] = frit(im, nlevels, wname);% Reconstructed image from FRITimrec = ifrit(ri, l, m, wname);% First figurefigure(1), clf, colormap('default');subplot(2,2,1),imagesc(im, [0, 1]), title('Input image'), axis square, colorbarsubplot(2,2,2), crange = mean(ra(:)) + std(ra(:)) * [-2, 2];imagesc(ra, crange),title('FRAT'), axis square, colorbarsubplot(2,2,3),crange = mean(ri(:)) + std(ri(:)) * [-2, 2];imagesc(ri, crange),title('FRIT'), axis square, colorbarsubplot(2,2,4),imagesc(imrec, [0, 1]);title(sprintf('Reconstructed image from FRIT\n(SNR = %.2f dB)', ... SNR(im, imrec)));axis square, colorbar% Now compare the compression performanceratio = 0.995; % 99.5% compression% Compression using FRITM[r, l, m] = fritm(im, wname);rc = compress(r, ratio);rim = ifritm(rc, l, m, wname);% Compression using WAVEDEC2im1 = im(1:end-1,1:end-1); % dyadic size[w, wl] = wavedec2(im1, nlevels, wname);wc = compress(w, ratio);wim = waverec2(wc, wl, wname);% Second figurefigure(2), clf, colormap('gray');subplot(1,2,1), imagesc(wim, [0, 1]), axis square,title(sprintf('Compressed image using WAVE2\n(Ratio = %.1f %%; SNR = %.2f dB)', ... 100*ratio, SNR(im1, wim)));subplot(1,2,2), imagesc(rim, [0, 1]), axis square,title(sprintf('Compressed image using FRITM\n(Ratio = %.1f %%; SNR = %.2f dB)', ... 100*ratio, SNR(im, rim)));% Finally, the denoising problem% Signal to noise ratiorho = 5;% Generate noisy imageinit=2055615866; randn('seed', init); sig = std(im(:));imnoisy = im + (sig/rho) * randn(size(im));imnoisy1 = imnoisy(1:end-1,1:end-1); % dyadic size% Find the default thresholding values[thr, sorh, keepapp] = ddencmp('den', 'wv', imnoisy1);% Wavelet denoisingwdnim = wdencmp('gbl', imnoisy1, wname, nlevels, thr, sorh, keepapp);% FRITM denoising[r, l, m] = fritm(imnoisy, wname);rdn = wthresh(r, sorh, thr);rdnim = ifritm(rdn, l, m, wname);% Third figurefigure(3), clf, colormap('gray');subplot(2,2,1),imagesc(im, [0, 1]), axis squaretitle('Original image')subplot(2,2,2),imagesc(imnoisy, [0, 1]), axis squaretitle(sprintf('Noisy image\n(SNR = %.2f dB)', ... SNR(im, imnoisy)));subplot(2,2,3), imagesc(wdnim, [0, 1]), axis square,title(sprintf('Denoised image using WAVE2\n(SNR = %.2f dB)', ... SNR(im1, wdnim)));subplot(2,2,4), imagesc(rdnim, [0, 1]), axis square,title(sprintf('Denoised image using FRITM\n(SNR = %.2f dB)', ... SNR(im, rdnim)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -