• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Matlab
  • 标签: matlabB  contourlet  

资源简介

matlab contourlet变换 去噪 代码

资源截图

代码片段和文件信息

function denoisedemo
% DENOISEDEMO   Denoise demo
% Compare the denoise performance of wavelet and contourlet transforms
% Note: Noise standard deviation estimation of PDFB (function pdfb_nest) 
% can take a while...

% Parameters
pfilt = ‘9-7‘;
dfilt = ‘pkva‘;
nlevs = [0 0 4 4 5];    % Number of levels for DFB at each pyramidal level
th = 3;                     % lead to 3*sigma threshold denoising
rho = 3;                    % noise level

% Test image: the usual suspect...
im = imread(‘lena.png‘);
im = double(im) / 256;

% Generate noisy image. 
sig = std(im(:));
sigma = sig / rho;
nim = im + sigma * randn(size(im));


%%%%% Wavelet denoising %%%%%
% Wavelet transform using PDFB with zero number of level for DFB
y = pdfbdec(nim pfilt dfilt zeros(length(nlevs) 1));
[c s] = pdfb2vec(y);

% Threshold (typically 3*sigma)
wth = th * sigma;
c = c .* (abs(c) > wth);

% Reconstruction
y = vec2pdfb(c s);
wim = pdfbrec(y pfilt dfilt);


%%%%% Contourlet Denoising %%%%%
% Contourlet transform
y = pdfbdec(nim pfilt dfilt nlevs);
[c s] = pdfb2vec(y);

% Threshold
% Require to estimate the noise standard deviation in the PDFB domain first 
% since PDFB is not an orthogonal transform
nv

评论

共有 条评论