- ベストアンサー
MATLAB edge関数呼び出し時のエラー
MATLAB初心者です。 MATLABver.6でedge関数を呼び出すと、「入力引数が多すぎます」と常に警告されます。引数などいろいろ変えてみたのですが解決できませんでした。解決法を教えてください、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、MATLABのCommandWindowに help edge と入れて、関数の仕様を確認したほうが良いのではないですか? 表示される関数仕様に引数についても書いてあるはずです。おそらく英語で表示されるでしょうが…。 もし、関数仕様が表示されない、もしくはおかしな内容が表示される場合、ToolBoxのedge関数よりも優先度の高い位置に他のedge関数が存在するのではないかと思います。 まあ、同一名称の関数が複数存在する場合は、そのことも表示されたような気がしますが。 ToolBoxのedge関数がMATLABのサーチパスに登録されていない場合は、関数がないというようなエラーメッセージが表示されるはずですし。
その他の回答 (3)
- m0r1_2006
- ベストアンサー率36% (169/464)
ANo.2 ですが, matlab R2006b では, I = imread('Blue hills.jpg'); J = RGB2GRAY(I); BW1 = edge(J,'canny'); imshow(BW1); で動きました. 画像の配列が unit8 なので,文句言っている可能性もあるけど? I = imread('Blue hills.jpg'); J = double(RGB2GRAY(I)); BW1 = edge(J,'canny'); imshow(BW1,[]); かな?
- m0r1_2006
- ベストアンサー率36% (169/464)
コードくらい書いてください. matlab R2006b で,カラー画像だと, 行列のサイズが違う という英語のエラーが出ました.
お礼
すいません。 I = imread('ichiro.jpeg') I = RGB@GRAY(I); BW1 = edge(I,'canny'); imshow(BW1) です。matlabR12です。 サイズとかの問題なんですかねー;
- rabbit_cat
- ベストアンサー率40% (829/2062)
「入力引数が多すぎます」 というんだから、入力引数が多すぎるのではないんですか? 実際に、どんな引数を指定したのかが全く書いてないので、私にはこれ以上何も言えません。 http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/images/?/matlab/support/manual/r14/toolbox/images/edge.shtml
お礼
回答ありがとうございます。 説明不測ですいません。引数は(I,'canny')や(I,'sobel')や(I)を試しましたが、だめでした。ユーザーズガイドのコピペでだめなので困ってます。
お礼
確かに、edge関数を他で作っちゃてました…。 複数存在することは表示してもらえなかったんですが。 お手数おかけしました。ありがとうございました。