Clear Filters
Clear Filters

How to visualize gradient data using arrows.

9 views (last 30 days)
I need help with the quiver function. I want to visualize the magnitude and angle data i have gotten from a block processing, with arrows in each block just like the (b) image below. Please how can i do that?
  2 Comments
Ameer Hamza
Ameer Hamza on 26 Apr 2020
Can you share the information about the arrows directions in a .mat file?
Fego Etese
Fego Etese on 26 Apr 2020
I have attached the matab files and my matlab workspace. I am using the gray image to get the orientation.
I am getting the average magnitude and direction for each block of size 16 x 16 and after getting these in the OrientationEstimation file with the variables coherence and angle, i will like to draw the arrows in the direction of the angle with the length as the coherence value in each block.

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 26 Apr 2020
Edited: Ameer Hamza on 26 Apr 2020
According to the coherence and angle variable you shared. You can make the quiver plot using this
dX = coherence.*cosd(angle);
dY = coherence.*sind(angle);
x = 1:size(dX,2);
y = 1:size(dX,1);
[X, Y] = meshgrid(x, y);
quiver(X,Y,dX,dY);
axis tight
But it does not look like the image you shared. Are you sure that the formula used to calculate coherence and angle is correctly implemented?
  28 Comments
Fego Etese
Fego Etese on 30 Apr 2020
Oh, I understand. Thank you so much. I'll try to look into it more. Maybe raise a new question about it. When I'm done with understanding and implementing it I'll come back to sort out the quiver issue.
I really appreciuate your time.
Thanks
Ameer Hamza
Ameer Hamza on 30 Apr 2020
Yes, that will be good. You are likely to get an answer on this issue from someone else. You can then comment here again when this issue is resolved.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!