本帖最后由 张三疯816 于 2019-1-2 14:06 编辑
源代码:
pfilt = '9-7'; % choose LP decomposition filter
dfilt = 'pkva'; % choose DFB decomposition filter
nlevs = [0, 0, 4, 4, 5]; % Number of levels for DFB at each pyramidal level % at each pyramidal level (from coarse to fine scale).
th = 3; % lead to 3*sigma threshold denoising
rho=3;
% 加载图像
im = imread('C:\Users\pc\Desktop\zoneplate.bmp');
im = double(im)/256 ;
sig = std(im(:));
sigma = sig / rho;
% Contourlet 变换
% 分解
y = pdfbdec(im, pfilt, dfilt, nlevs);
[c, s] = pdfb2vec(y);
nvar = pdfb_nest(size(im,1), size(im, 2), pfilt, dfilt, nlevs);
%nstd = pdfb_nest(nrows, ncols, pfilt, dfilt, nlevs)
cth = th * sigma * sqrt(nvar);
% 系数处理
c = c .* (abs(c) > cth);
% 重构
y = vec2pdfb(c, s);
cim = pdfbrec(y, pfilt, dfilt);
%显示图像
range = [0, 1];
colormap(gray);
subplot(1,1,1),imagesc(cim(41:168, 181:308), range); axis image off
colormap(gray);
set(gca, 'FontSize', 8);
title('Contourlets decomposition', 'FontSize', 10);
报错显示
未定义与 'double' 类型的输入参数相对应的函数 'resampc'。
出错 resamp (line 44)
y = resampc(x, type, shift, extmod);
出错 qpdec (line 32)
y = resamp(x, 2);
出错 fbdec_l (line 41)
[p0, p1] = qpdec(x, type2);
出错 dfbdec_l (line 38)
[x0, x1] = fbdec_l(x, f, 'q', '1r', 'qper_col');
出错 pdfbdec (line 50)
xhi_dir = dfbdec_l(xhi, dfilt, nlevs(end));
请问这种情况如何解决,万分感谢!!
2019-1-2 13:44 上传
点击文件名下载附件
1.42 MB, 下载次数: 33