用matlab 如何求一幅图像的梯度值呢,利用这个 [Ix,Iy]=gradient(I)为什么出现下面的错误呢? Error using ==> rdivideIntegers can only be combined with integers of the same class, or scalar doubles.Error in ==> gradient at 70
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/11 20:36:12
用matlab 如何求一幅图像的梯度值呢,利用这个 [Ix,Iy]=gradient(I)为什么出现下面的错误呢? Error using ==> rdivideIntegers can only be combined with integers of the same class, or scalar doubles.Error in ==> gradient at 70
用matlab 如何求一幅图像的梯度值呢,利用这个 [Ix,Iy]=gradient(I)为什么出现下面的错误呢
? Error using ==> rdivide
Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> gradient at 70
g(2:n-1,:) = (f(3:n,:)-f(1:n-2,:))./h(:,ones(p,1));
还是用别的函数来求梯度.
用matlab 如何求一幅图像的梯度值呢,利用这个 [Ix,Iy]=gradient(I)为什么出现下面的错误呢? Error using ==> rdivideIntegers can only be combined with integers of the same class, or scalar doubles.Error in ==> gradient at 70
>>a=imread('D:\Program Files\toolbox\images\imdemos\rice.png');
>> b=gradient(double(a));
转化图像为double型,即可,gradient中h(:,ones(p,1))估计是double,我转化后可以运行,得到的是水平方向的梯度.
>>[ax,ay]=gradient(double(a));可以得到水平和垂直方向的梯度.