我正在Matlab中做一个项目,我必须使用梯度函数。下面是我的代码片段:
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:我知道有很多问题与相同的错误有关,但它们是由不同的原因造成的。我已经经历过了,但我不能解决我的问题。
发布于 2015-09-26 14:39:03
阿赫桑·拉蒂夫
发布于 2015-07-10 16:28:07
你应该试试[Ix, Iy] = gradient(double(rgb2gray(A)))。或者,正如丹尼尔建议的那样,使用imgradient。
https://stackoverflow.com/questions/31344494
复制相似问题