How to cluster lines ?

조회 수: 11 (최근 30일)
Sim
Sim 2022년 7월 5일
편집: Sim 2022년 7월 6일
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') ;

채택된 답변

Image Analyst
Image Analyst 2022년 7월 5일
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
Image Analyst
Image Analyst 2022년 7월 5일
If I just plot x and y
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 endpoints
plot(x, y, '.', 'MarkerSize', 30)
How do I know which (x,y) pair corresponds to the two end points of a single line?
Sim
Sim 2022년 7월 6일
hope this drawing clarifies a bit...

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by