MATLAB Answers

Finding angle between 2d vectors with a four quadrant approach

2 views (last 30 days)
Atreya Danturthi
Atreya Danturthi on 14 Jun 2021
Commented: Jonas on 14 Jun 2021
I am using Image Processing techniques to extract certain features (circular, not completely circular by the shape) in an image (these features cannot be extracted with the in-built image processing functions). In the approach, I have applied certain conditions such as brightness threshold, gaussian blur and few other conditions to obtain the centres of the circular features in the image (and plotted the same using markers) so that I can later on detect the boundaries of the same.
Whilst trying to find the centres for the features, I have assumed that there is not change in pixel intensity at the centre of the each of the circle (which is true in my case) and therefore found out the gradient of intensity (if plotted with the quiver plot are essentially vectors) across the image and few other conditions to find out the centres. To reduce the number of false positives, I have increased the number of conditions, one of which is that angle between the vectors in the neighbourhood of the vectors must be ~180deg (i.e., if we consider a vector at a position (i,j), the neighbouring vectors at a distance of say 4 pixels to the left (i-4,j) and right (i+4,j) respectively need to have and angular diff. of ~180deg between them.
To apply this condition, I need to find out the angle between the vectors using the tan function rather than the cos function as cos function gives a 2 quadrant answer which is not useful for my question.

Accepted Answer

Jonas on 14 Jun 2021
have a look into the atan2() function which takes the y and x coordinate of your vector
Jonas on 14 Jun 2021
ok your title says you have 2d vectors. if you don't have thise, can you give an image or some kind of impression what you already have?

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!