Edge direction

Is there a function to check if an edge changes direction?
I have used bwlabel to work on connected edges, but now I only want to work on the ones that do not follow around corners. More clearly, they can be vertical, horizontal, or diagonal, but they cannot be a mixture of 2 or more...

 Accepted Answer

Hi,
to extract edges of any direction, you just need to choose the right structuring element for a morphological opening. E.g. to extract vertical edges:
BWv = imopen(BW,[1 1 1]');
horizontal:
BWh = imopen(BW,[1 1 1]);
top left to lower right
BWd = imopen(BW,[1 0 0; 0 1 0; 0 0 1]);
and so on.
Hope this helps, W.

1 Comment

Philip
Philip on 1 Jun 2011
You helped immensely, as always! Thanks!

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!