Calculate the image gradient
Show older comments
I use the function imgradientxy to get the Gx and Gy firstly. Then obtain the direction of the gradient.
some codes like:
% code
b = zeros(100);
b(1:4:end,:) = 1;
[Gx, Gy] = imgradientxy(b);
theta = atan(Gy./Gx);
The image only has some horizontal lines. So The Gx is all zeros and the theta have a lot NAN. What should I do to get the gradient for this image and for other?
2 Comments
naser telesi
on 1 Mar 2017
if Gx is zero then let Gx = 1 to avoid divide by zero problem
Matt J
on 1 Mar 2017
if Gx is zero then let Gx = 1 to avoid divide by zero problem
But theta will be wrong...
Accepted Answer
More Answers (1)
Image Analyst
on 23 Sep 2013
1 vote
Why do it yourself? Why not just use imgradient()?
1 Comment
Donghui Sun
on 23 Sep 2013
Categories
Find more on Object Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!