How to cluster lines ?

1 view (last 30 days)
Sim
Sim on 5 Jul 2022
Edited: Sim on 6 Jul 2022
How to cluster lines ?
Here below an example:
x = [1 1 2 3 4 5 6 7 1 1 2 3 3 4 4 5 15 15 15 16 16 16 17 18 20 20 21
2 5 9 5 4 9 6 7 3 7 3 5 7 6 7 14 14 19 23 22 15 16 17 20 22 21 23
];
y = [2 10 3 20 5 2 4 6 100 106 102 93 90 100 81 77 66 59 74 60 62 35 48 69 30 58 55
6 8 3 11 8 2 10 21 66 108 75 92 90 100 82 72 67 55 75 60 68 55 53 70 32 37 32
];
plot(x,y,'LineWidth',2,'color','k') ;

Accepted Answer

Image Analyst
Image Analyst on 5 Jul 2022
I'd pass in both endpoints of each line to kmeans and let it figure it out. Demo attached.
If you have a situation where one endpoint is in one cluster and the other is in a different cluster you might decide to assign both end points to whatever cluster is nearer one of the endpoints.
  4 Comments
Sim
Sim on 6 Jul 2022
hope this drawing clarifies a bit...

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!