2010-11-28 5 views
2

私は簡単な質問があります。私は、MATLABのgradient()関数を使用してイメージの2Dグラデーションを計算しようとしていますが、機能しません。この問題を解決する方法についてgradient()関数は画像では機能しません

??? Error using ==> rdivide Integers can only be combined with integers of the same class, or scalar doubles.

Error in ==> gradient at 75 g(2:n-1,:) = (f(3:n,:)-f(1:n-2,:))./h(:,ones(p,1));

どれ手がかり:私は次のエラーを取得する

im = imread('C:\yosemite1.bmp'); g = FindImageGradients(im);

:具体的には、ここに私のコードは、(私が使用している画像であるグレースケール)ですか?

答えて

2

あなたの画像データは、おそらく[0,255]の範囲(カラーチャンネルあたり8ビット)の整数として読み取られているので、の画像タイプはuint8または他のintタイプです。 singleまたはdoubleに変換してみてください。

g = FindImageGradients(single(im));