【问题标题】:gradient() function not working with images渐变()函数不适用于图像
【发布时间】:2010-11-28 04:50:23
【问题描述】:

我有一个简单的问题。我正在尝试使用 MATLAB 中的 gradient() 函数计算图像 2D 渐变,但它不起作用。具体来说,这是我的代码(我使用的是灰度图像):

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

我收到以下错误:

???使用 ==> rdivide 整数时出错 只能与整数组合 相同的类,或标量双精度。

==> 75 处的梯度错误 g(2:n-1,:) = (f(3:n,:)-f(1:n-2,:))./h(:,ones(p,1));

关于如何解决这个问题的任何线索?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您的图像数据可能被读取为 [0,255] 范围内的整数(每个颜色通道 8 位),因此 im 的类型是 uint8 或其他 int 类型。尝试将其转换为singledouble

    g = FindImageGradients(single(im));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 2019-12-24
      • 2018-06-16
      相关资源
      最近更新 更多