"不支持混合整数类输入"错误

时间:2015-07-10 15:20:25

标签: matlab image-processing

我正在使用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:我知道有很多问题与相同的错误相关,但是由于不同的原因。我已经完成了它们,但我不是要解决我的问题。

2 个答案:

答案 0 :(得分:4)

  1. 加载图片。
  2. 如有必要,请使用rgb2grey。
  3. 使用im2double
  4. 使用渐变功能,即[fx,fy] =渐变(图像)
  5. 使用matlab函数quiver(fx,fy)显示结果。
  6. Ahsan Latif

答案 1 :(得分:1)

您应该尝试[Ix, Iy] = gradient(double(rgb2gray(A)))。或者,正如丹尼尔建议的那样,使用imgradient