3

組み込み関数を使用せずにconv2(h1,h2,A)&が行うことを行う関数を作成しようとしています。conv2(...'shape')(速度は現在問題ではありません)。ここで定義: http://www.mathworks.co.uk/help/matlab/ref/conv2.html

これらは私のコマンドです:

    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 );

それはうまく動作しますか?...私はこのコードを何時間も検索して見つめてきました。私はそれを見ることができません。私の機能の何が問題なのか誰にもわかりますか?

4

1 に答える 1

6

Undefined function 'xxx' for input arguments of type 'double'通常、関数xxxがパス上にないことを示します。

これが実際に問題であることを確認するにはwhich convfft、コマンド ラインで入力します。これwhichは、Matlab がファイルの場所を認識している場所を示す必要があるためです。

ファイルが見つからない場合は、ファイルがコンピューターに存在することを確認し、ファイルの親フォルダーを Matlab パスに追加します。

于 2013-02-14T12:36:23.927 に答える