Ⅰ Undefined function or method 'pdfbdec' for input arguments of type 'double'.
你的contourlet工具包安装不正确 导致你调用其中函数的时候,matlab总出现此提示
最好是将此工具把拷到某一路径下,然后用path加载此路径
Ⅱ contourlet工具箱如何对任意大小的图像进行处理
你的问题解决了吗?我现在也发现这个工具箱不是所有尺寸的图像都能运行,但是有些不是方形的图像也可以?
Ⅲ 同一个matlab程序 matlab 2013b运行出错 matlab2012a运行正确,谁能帮我解释一下是什么问题吗
超出了递归调用的次数。
您可以试着增加允许的递归次数,例如:
set(0,'RecursionLimit',1000)
看能否运行。内
导致这个问题的可能原容因:
1、由于软件版本差异导致递归的出口条件得不到满足;
2、程序中有随机性因素,不同次的运行结果可能不同。
具体要看代码才能判断。
Ⅳ 如何进行图像的contourlet分解
将你需要的工具箱放在随便的一个文件夹里,比如文件夹的名字就是contourlet,然后把你的MATLAB打开,选择File-Set Path-Add Folder,然后选择contourlet文件夹,选好后按Save键保存,应该就能在MATLAB里面直接调用该工具箱里的任意函数了。
这个工具箱里的函数可以在matlab中直接调用,但好像不能用help查看该函数的用法。
clear all;
clc;
%设定参数
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
% nlevs: vector of numbers of directional filter bank decomposition levels
% at each pyramidal level (from coarse to fine scale).
th = 3; % lead to 3*sigma threshold denoising
rho=3;
% 加载图像
im = imread('lena512.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)
Ⅳ 用matlab做基于contourlet变换的图像增强。。。
发给你一个contourlet matlab 工具箱,学会调用里面的函数就可以了。matlab函数不知道啥意思就在命令窗口输入专“doc+空格+ 函数名”属 ,按回车键就可以了,这里有关于此函数的解释及具体用法,一般情况还会有例子。简单的命令不会就在窗口里一个一个试。http://www.ilovematlab.cn/forum.php和http://www.matlabsky.com/都不错。
外加冈萨雷斯《数字图像处理》电子版,可能不太全,还有一部分标准图像库图片。小小建议,共同学习。
Ⅵ 怎么调用contourlet变换工具箱中的函数
额,我也还没用过,不过其中应该有例子吧,你看看哪个文件是