Matlab gradient()函数不处理图像
我有一个简短的问题。我正在尝试使用MATLAB中的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)) 关于如何解决这
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));