Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab gradient()函数不处理图像_Matlab - Fatal编程技术网

Matlab gradient()函数不处理图像

Matlab gradient()函数不处理图像,matlab,Matlab,我有一个简短的问题。我正在尝试使用MATLAB中的gradient()函数计算图像的2D渐变,但它不起作用。具体来说,这是我的代码(我使用的图像是灰度的): im=imread('C:\yosemite1.bmp'); g=FindImageGradients(im) 我得到以下错误: ???使用==>Rvide整数时出错 只能与的整数组合 同一类,或标量双精度 坡度为75时出现错误==> g(2:n-1,:)=(f(3:n,:)-f(1:n-2,:)/h(:,one(p,1)) 关于如何解决这

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

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

我得到以下错误:

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

坡度为75时出现错误==> g(2:n-1,:)=(f(3:n,:)-f(1:n-2,:)/h(:,one(p,1))


关于如何解决这个问题有什么线索吗

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

g = FindImageGradients(single(im));