How can I simplify the polygon?

The polygon above is got after I shrank a rectangle. However, The meaningless branches are not desired. How can I remove them and split it into polygons that are independent to each other?

2 Commenti

Tony Carl
Tony Carl il 27 Apr 2018
Modificato: Tony Carl il 27 Apr 2018
For illustration, the data of the polygon and an example figure is shown below, plotted by code:
plot(data(:,1),data(:,2),'bo-');
Tony Carl
Tony Carl il 27 Apr 2018
Modificato: Tony Carl il 27 Apr 2018
The data pack of the polygon.

Accedi per commentare.

Risposte (1)

Ahmet Cecen
Ahmet Cecen il 27 Apr 2018
Well purely speculating, assuming you have a binary image with those lines:
FilledPolygons = imfill(PolygonImage,'holes');
OnlyPolygonsFilled = FilledPolygons - PolygonImage;
OnlyPolygonEdges = edge(OnlyPolygonsFilled);

3 Commenti

Tony Carl
Tony Carl il 27 Apr 2018
Thanks a lot, when converted to an 0-1 image, it can really be much helpful for solving the problem. Is there any way to match the boundary points with the set of points on original polygon? As the algorithm of main body are based on the original data.
You will need to clarify a bit more. Maybe show your actual data etc.
Tony Carl
Tony Carl il 27 Apr 2018
An example figure and its relevant data are appended below the question.

Accedi per commentare.

Categorie

Richiesto:

il 27 Apr 2018

Modificato:

il 27 Apr 2018

Community Treasure Hunt

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

Start Hunting!

Translated by