Ⅰ 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變換工具箱中的函數
額,我也還沒用過,不過其中應該有例子吧,你看看哪個文件是