54 views (last 30 days)

My code is:

a = imread('C:\Users\DELL\Desktop\01_test.tif');

[Gx, Gy] = gradient(a);

[Gmag, Gdir] = gradient(Gx, Gy);

figure, imshow(Gmag, []), title('Gradient magnitude') figure, imshow(Gdir, []), title('Gradient direction') title('Gradient Magnitude (Gmag) and Gradient Direction (Gdir) using Sobel method') figure; imshowpair(Gx, Gy, 'montage'); axis off; title('Directional Gradients, Gx and Gy, using Sobel method')

error is:

??? Error using ==> rdivide Integers can only be combined with integers of the same class, or scalar doubles.

Error in ==> gradient at 75 g(2:n-1,:) = (f(3:n,:)-f(1:n-2,:))./h(:,ones(p,1));

Guillaume
on 22 Oct 2014

You left out the important bit of the error, which is the one that told you on which line of your code the error occurred. I assume it's the

[Gmag, Gdir] = gradient(Gx, Gy);

Munshida P
on 24 Aug 2019

how to calculate average gradient of an image

Walter Roberson
on 25 Aug 2019

[Gmag, Gdir] = imgradient(YourGrayscaleImage, 'prewitt');

average_gradient = sum(double(Gmag(:))) ./ ((size(Gmag,1)-1) .* ((size(Gmag,2)-1).*sqrt(2));

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Direct link to this comment

https://fr.mathworks.com/matlabcentral/answers/159610-how-to-calculate-gradient-features-of-an-image#comment_244753

⋮## Direct link to this comment

https://fr.mathworks.com/matlabcentral/answers/159610-how-to-calculate-gradient-features-of-an-image#comment_244753

Sign in to comment.