How to calculate gradient features of an image?

12 ビュー (過去 30 日間)
Maninder
Maninder 2014 年 10 月 22 日
コメント済み: Munshida P 2019 年 8 月 25 日
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));
  1 件のコメント
Guillaume
Guillaume 2014 年 10 月 22 日
Please use the {} Code button to format your code.
And what is your question exactly?

サインインしてコメントする。

回答 (2 件)

Guillaume
Guillaume 2014 年 10 月 22 日
Possibly, you meant to use imgradient or imgradientxy.
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);
line that gives you the error, since the 2nd argument to gradient must be a scalar value.
  10 件のコメント
Munshida P
Munshida P 2019 年 8 月 25 日
Capture.PNG
Munshida P
Munshida P 2019 年 8 月 25 日
how to calulate the average gradient ?
i have calculated Gx,Gy,Gmag,Gdir

サインインしてコメントする。


Munshida P
Munshida P 2019 年 8 月 24 日
how to calculate average gradient of an image
  6 件のコメント
Walter Roberson
Walter Roberson 2019 年 8 月 25 日
[Gmag, Gdir] = imgradient(YourGrayscaleImage, 'prewitt');
average_gradient = sum(double(Gmag(:))) ./ ((size(Gmag,1)-1) .* ((size(Gmag,2)-1).*sqrt(2));
Munshida P
Munshida P 2019 年 8 月 25 日
Thank you sir. I will try it now

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by