3
我試圖編寫一個函數,它可以在不使用內置函數的情況下執行什麼操作conv2(h1,h2,A)
& conv2(...'shape')
。 (速度目前不是問題)。這裏定義:http://www.mathworks.co.uk/help/matlab/ref/conv2.htmlMatlab - 輸入參數類型爲Double的未定義錯誤
這是我的命令:
imgC = imread('camerman.tif');
imgC = double(imgC);
sigma = 1;
inp = (-1 .*2.5 .*sigma):1:(2.5 .* sigma);
gauss1d = (1/(sigma .* sqrt(2*pi))).*exp(-(inp.^2/(2.*sigma.*sigma)));
gaussprime = diff(gauss1d);
x = conv2fft(gaussprime,1,imgC , 'same');
y = conv2fft(1,gaussprime.',imgC , 'same');
blur = conv2fft (gauss1d, gauss1d, imgC);
這是我的錯誤:
Undefined function 'convfft' for input arguments of type 'double'.
Error in conv2fft (line 81) `if size(convfft(a(1,:),r),1)==1`
如果我運行相同的命令,但使用conv2
功能:
imgC = imread('camerman.tif');
imgC = double(imgC);
sigma = 1;
inp = (-1 .*2.5 .*sigma):1:(2.5 .* sigma);
gauss1d = (1/(sigma .* sqrt(2*pi))).*exp(-(inp.^2/(2.*sigma.*sigma)));
gaussprime = diff(gauss1d);
x = conv2(gaussprime,1,imgC , 'same');
y = conv2(1,gaussprime.',imgC , 'same');
blur = conv2(gauss1d, gauss1d, imgC);
它工作正常嗎?...我一直在四處尋找,盯着t他的代碼數小時。我只是看不到它。任何人都注意到我的功能有什麼問題?
你當然知道你的Matlab。我只是做了這個,它返回沒有找到''確認'。'... – Reanimation 2013-02-14 12:41:30
我相信它已經知道路徑,因爲它發現被調用的函數並將圖像轉換爲灰度並將其保存(它實現)。它只在犯罪時出錯。我已經將convfft更改爲conv2fft(函數名稱錯字),現在錯誤是'下標分配維度不匹配。 錯誤cannyWorkingOn> conv2fft(行295) y3(:,ii)= conv2fft(y2(:,ii),c);' – Reanimation 2013-02-14 13:00:33
@Reanimation:Matlab知道'conv2fft',但不知道'convfft'。使用您的文件系統來搜索文件。如果找不到,它應該在文件交換中可用。 – Jonas 2013-02-14 13:19:56