我正在使用Matlab开发一个项目,我必须使用gradient函数。以下是我的代码段:
im=imread('A.jpg'); //Reads image File
[Ix,Iy]=gradient(rgb2gray(im));
我收到了以下错误。
使用bsxfun时出错
不支持混合整数类输入。
渐变错误(第68行)
g(2:n-1,:) = bsxfun(@rdivide,(f(3:n,:)) - f(1:n-2,:)),h);
我无法理解为什么会出现此错误以及如何解决此问题。
PS:我知道有很多问题与相同的错误相关,但是由于不同的原因。我已经完成了它们,但我不是要解决我的问题。
答案 0 :(得分:4)
Ahsan Latif
答案 1 :(得分:1)
您应该尝试[Ix, Iy] = gradient(double(rgb2gray(A)))
。或者,正如丹尼尔建议的那样,使用imgradient
。